From fdee1bdbd194f0ec98c6388214ad7bf6bc9a77e4 Mon Sep 17 00:00:00 2001 From: Deon George Date: Tue, 30 Jun 2009 20:26:08 +1000 Subject: [PATCH] RELEASE 0.9.8 --- INSTALL | 26 +- VERSION | 2 +- config/config.php.example | 6 +- doc/CREDITS | 59 - doc/ChangeLog | 418 --- doc/INSTALL-de.txt | 68 - doc/INSTALL-es.txt | 56 - doc/INSTALL-fr.txt | 57 - doc/README-translation.txt | 103 +- doc/hooks.sgml | 1218 -------- doc/test_encoding.sh | 15 - htdocs/add_attr.php | 35 +- htdocs/add_attr_form.php | 32 +- htdocs/add_oclass.php | 18 +- htdocs/add_oclass_form.php | 32 +- htdocs/add_value.php | 20 +- htdocs/add_value_form.php | 276 +- htdocs/collapse.php | 21 +- htdocs/compare.php | 193 +- htdocs/compare_form.php | 22 +- htdocs/copy.php | 126 +- htdocs/copy_form.php | 133 +- htdocs/create.php | 156 +- htdocs/create_form.php | 179 +- htdocs/creation_template.php | 71 - htdocs/css/style.css | 12 +- htdocs/delete.php | 66 +- htdocs/delete_attr.php | 24 +- htdocs/delete_form.php | 69 +- htdocs/documentation.php | 52 - htdocs/donate.php | 52 - htdocs/download_binary_attr.php | 35 +- htdocs/edit.php | 59 - htdocs/entry_chooser.php | 50 +- htdocs/expand.php | 56 +- htdocs/export.php | 139 +- htdocs/export_form.php | 245 +- htdocs/header.php | 88 +- htdocs/images/nogo.png | Bin 0 -> 243 bytes htdocs/index.php | 262 +- htdocs/js/jscalendar/calendar-setup.js | 2 +- htdocs/js/jscalendar/calendar.js | 2 +- htdocs/js/phplayersmenu/COPYING | 504 ++++ htdocs/js/phplayersmenu/LICENSE | 24 + htdocs/js/phplayersmenu/layerstreemenu.css | 81 + htdocs/js/phplayersmenu/lib/PHPLIB.php | 567 ++++ .../lib/layersmenu-common.inc.php | 957 ++++++ htdocs/js/phplayersmenu/lib/treemenu.inc.php | 383 +++ .../libjs/layersmenu-browser_detection.js | 33 + .../libjs/layerstreemenu-cookies.js | 70 + .../js/phplayersmenu/libjs/layerstreemenu.ijs | 52 + .../menuimages/tree_collapse.png | Bin 0 -> 196 bytes .../menuimages/tree_collapse_corner.png | Bin 0 -> 196 bytes .../menuimages/tree_collapse_corner_first.png | Bin 0 -> 189 bytes .../menuimages/tree_collapse_first.png | Bin 0 -> 194 bytes .../phplayersmenu/menuimages/tree_corner.png | Bin 0 -> 160 bytes .../phplayersmenu/menuimages/tree_expand.png | Bin 0 -> 204 bytes .../menuimages/tree_expand_corner.png | Bin 0 -> 204 bytes .../menuimages/tree_expand_corner_first.png | Bin 0 -> 197 bytes .../menuimages/tree_expand_first.png | Bin 0 -> 202 bytes .../menuimages/tree_folder_closed.png | Bin 0 -> 247 bytes .../menuimages/tree_folder_open.png | Bin 0 -> 278 bytes .../js/phplayersmenu/menuimages/tree_leaf.png | Bin 0 -> 207 bytes .../phplayersmenu/menuimages/tree_space.png | Bin 0 -> 150 bytes .../phplayersmenu/menuimages/tree_split.png | Bin 0 -> 160 bytes .../menuimages/tree_split_first.png | Bin 0 -> 160 bytes .../menuimages/tree_vertline.png | Bin 0 -> 156 bytes htdocs/ldif_import.php | 296 +- htdocs/ldif_import_form.php | 65 +- htdocs/login.php | 120 +- htdocs/login_form.php | 26 +- htdocs/logout.php | 20 +- htdocs/mass_delete.php | 143 +- htdocs/password_checker.php | 12 +- htdocs/purge_cache.php | 41 +- htdocs/rdelete.php | 100 +- htdocs/refresh.php | 39 +- htdocs/rename.php | 90 +- htdocs/rename_form.php | 40 +- htdocs/schema.php | 325 +- htdocs/search.php | 395 ++- htdocs/server_info.php | 119 +- htdocs/template_engine.php | 1402 ++++----- htdocs/timeout.php | 8 +- htdocs/tree.php | 295 +- htdocs/update.php | 197 +- htdocs/update_confirm.php | 339 ++- htdocs/view_jpeg_photo.php | 34 +- htdocs/welcome.php | 34 +- lang/Makefile | 149 - lang/auto.php | 54 - lang/ca.php | 345 --- lang/cz.php | 510 ---- lang/de.php | 567 ---- lang/en.php | 697 ----- lang/es.php | 655 ----- lang/fr.php | 694 ----- lang/hu.php | 556 ---- lang/it.php | 141 - lang/ja.php | 694 ----- lang/nl.php | 337 --- lang/pl.php | 683 ----- lang/pt-br.php | 516 ---- lang/recoded/auto.php | 54 - lang/recoded/ca.php | 345 --- lang/recoded/cz.php | 510 ---- lang/recoded/de.php | 567 ---- lang/recoded/en.php | 697 ----- lang/recoded/es.php | 655 ----- lang/recoded/fr.php | 694 ----- lang/recoded/hu.php | 556 ---- lang/recoded/it.php | 141 - lang/recoded/ja.php | 694 ----- lang/recoded/nl.php | 337 --- lang/recoded/pl.php | 683 ----- lang/recoded/pt-br.php | 516 ---- lang/recoded/ru.php | 535 ---- lang/recoded/sv.php | 387 --- lang/recoded/zh-cn.php | 720 ----- lang/recoded/zh-tw.php | 490 --- lang/recoded/zz.php | 13 - lang/recoded/zzz.php | 13 - lang/ru.php | 535 ---- lang/sv.php | 387 --- lang/zh-cn.php | 720 ----- lang/zh-tw.php | 490 --- lang/zz.php | 13 - lang/zzz.php | 13 - lib/common.php | 131 +- lib/config_default.php | 58 +- lib/createlm.php | 2 +- lib/custom_functions.php | 200 -- lib/export_functions.php | 1292 ++++---- lib/functions.php | 2437 +++------------ lib/ldif_functions.php | 1860 ++++++------ lib/schema_functions.php | 341 ++- lib/search_form_advanced.php | 40 +- lib/search_form_predefined.php | 89 +- lib/search_form_simple.php | 26 +- lib/search_results_list.php | 107 +- lib/search_results_table.php | 194 +- lib/server_functions.php | 2033 +++++++++++-- lib/session_functions.php | 8 +- lib/syslog.php | 4 +- lib/template_functions.php | 321 +- lib/timeout_functions.php | 49 +- lib/tree_functions.php | 506 ++-- locale/ca_ES/LC_MESSAGES/messages.mo | Bin 0 -> 22224 bytes locale/ca_ES/LC_MESSAGES/messages.po | 917 ++++++ locale/cs_CZ/LC_MESSAGES/messages.mo | Bin 0 -> 36372 bytes locale/cs_CZ/LC_MESSAGES/messages.po | 1554 ++++++++++ locale/de_DE/LC_MESSAGES/messages.mo | Bin 0 -> 39147 bytes locale/de_DE/LC_MESSAGES/messages.po | 1617 ++++++++++ locale/es_ES/LC_MESSAGES/messages.mo | Bin 0 -> 46099 bytes locale/es_ES/LC_MESSAGES/messages.po | 2031 +++++++++++++ locale/fr_FR/LC_MESSAGES/messages.mo | Bin 0 -> 51716 bytes locale/fr_FR/LC_MESSAGES/messages.po | 2179 ++++++++++++++ locale/hu_HU/LC_MESSAGES/messages.mo | Bin 0 -> 36814 bytes locale/hu_HU/LC_MESSAGES/messages.po | 1546 ++++++++++ locale/it_IT/LC_MESSAGES/messages.mo | Bin 0 -> 7537 bytes locale/it_IT/LC_MESSAGES/messages.po | 395 +++ locale/ja_JP/LC_MESSAGES/messages.mo | Bin 0 -> 41228 bytes locale/ja_JP/LC_MESSAGES/messages.po | 2618 +++++++++++++++++ locale/nl_BE/LC_MESSAGES/messages.mo | Bin 0 -> 20837 bytes locale/nl_BE/LC_MESSAGES/messages.po | 867 ++++++ locale/pl_PL/LC_MESSAGES/messages.mo | Bin 0 -> 50176 bytes locale/pl_PL/LC_MESSAGES/messages.po | 2188 ++++++++++++++ locale/pt_BR/LC_MESSAGES/messages.mo | Bin 0 -> 36779 bytes locale/pt_BR/LC_MESSAGES/messages.po | 1545 ++++++++++ locale/ru_RU/LC_MESSAGES/messages.mo | Bin 0 -> 45312 bytes locale/ru_RU/LC_MESSAGES/messages.po | 1576 ++++++++++ locale/sv_FI/LC_MESSAGES/messages.mo | Bin 0 -> 22193 bytes locale/sv_FI/LC_MESSAGES/messages.po | 905 ++++++ locale/zh_CN/LC_MESSAGES/messages.po | 2117 +++++++++++++ locale/zh_TW/LC_MESSAGES/messages.mo | Bin 0 -> 31298 bytes locale/zh_TW/LC_MESSAGES/messages.po | 1473 ++++++++++ templates/SUSE-posixGroup.xml | 43 + templates/SUSE-sambaGroupMapping.xml | 71 + templates/alias.xml | 2 +- templates/courierMailAccount.xml | 20 +- templates/courierMailAlias.xml | 8 +- templates/creation/custom.php | 485 ++- templates/creation/new_address_template.php | 249 -- templates/creation/new_alias_template.php | 95 - templates/creation/new_dns_entry.php | 91 - templates/creation/new_kolab_template.php | 300 -- .../new_mozillaOrgPerson_template.php | 224 -- templates/creation/new_nt_machine.php | 131 - templates/creation/new_organizationalRole.php | 240 -- templates/creation/new_ou_template.php | 82 - .../creation/new_posix_group_template.php | 120 - .../creation/new_postfix_account_template.php | 169 -- .../creation/new_postfix_alias_template.php | 94 - .../creation/new_security_object_template.php | 173 -- .../creation/new_sendmail_alias_template.php | 169 -- .../new_sendmail_cluster_template.php | 118 - .../creation/new_sendmail_domain_template.php | 141 - .../creation/new_sendmail_relay_template.php | 213 -- .../new_sendmail_virthost_template.php | 141 - .../new_sendmail_virtuser_template.php | 153 - templates/creation/new_smb3_nt_machine.php | 156 - templates/creation/new_smb3_user_template.php | 473 --- templates/creation/new_smbgroup_template.php | 257 -- templates/creation/new_smbuser_template.php | 290 -- templates/creation/new_user_template.php | 332 --- templates/dNSDomain.xml | 2 +- templates/inetOrgPerson.xml | 29 +- templates/kolabPerson.xml | 34 +- templates/modification/default.php | 736 ----- templates/modification/group_of_names.php | 142 - templates/modification/samba_account.php | 32 - templates/modification/user.php | 40 - templates/mozillaOrgPerson.xml | 57 +- templates/organizationalRole.xml | 12 +- templates/ou.xml | 8 +- templates/posixAccount.xml | 24 +- templates/posixGroup.xml | 12 +- templates/sambaGroupMapping.xml | 8 +- templates/sambaMachine.xml | 6 +- templates/sambaSamAccount.xml | 27 +- templates/sendmailMTAAliasObject.xml | 2 +- templates/sendmailMTAClass.xml | 3 +- templates/sendmailMTACluster.xml | 3 +- templates/sendmailMTAMapObject.xml | 3 +- templates/sendmailVirtualDomain.xml | 3 +- templates/sendmailVirtualUser.xml | 2 +- templates/simpleSecurityObject.xml | 8 +- templates/template.dtd | 6 +- templates/template_config.php | 334 --- templates/template_header.php | 239 +- tools/check_lang_files.php | 86 - tools/po/make_all | 25 + tools/po/make_mo | 9 + tools/po/make_po | 10 + tools/po/make_po_ca | 9 + tools/po/make_po_de | 9 + tools/po/make_po_es | 9 + tools/po/make_po_fr | 9 + tools/po/make_po_hu | 9 + tools/po/make_po_it | 9 + tools/po/make_po_ja | 9 + tools/po/messages.header | 15 + 242 files changed, 34529 insertions(+), 34446 deletions(-) delete mode 100644 doc/CREDITS delete mode 100644 doc/ChangeLog delete mode 100644 doc/INSTALL-de.txt delete mode 100644 doc/INSTALL-es.txt delete mode 100644 doc/INSTALL-fr.txt delete mode 100644 doc/hooks.sgml delete mode 100755 doc/test_encoding.sh delete mode 100644 htdocs/creation_template.php delete mode 100644 htdocs/documentation.php delete mode 100644 htdocs/donate.php delete mode 100644 htdocs/edit.php create mode 100644 htdocs/images/nogo.png create mode 100644 htdocs/js/phplayersmenu/COPYING create mode 100644 htdocs/js/phplayersmenu/LICENSE create mode 100644 htdocs/js/phplayersmenu/layerstreemenu.css create mode 100644 htdocs/js/phplayersmenu/lib/PHPLIB.php create mode 100644 htdocs/js/phplayersmenu/lib/layersmenu-common.inc.php create mode 100644 htdocs/js/phplayersmenu/lib/treemenu.inc.php create mode 100644 htdocs/js/phplayersmenu/libjs/layersmenu-browser_detection.js create mode 100644 htdocs/js/phplayersmenu/libjs/layerstreemenu-cookies.js create mode 100644 htdocs/js/phplayersmenu/libjs/layerstreemenu.ijs create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_collapse.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_collapse_corner.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_collapse_corner_first.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_collapse_first.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_corner.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_expand.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_expand_corner.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_expand_corner_first.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_expand_first.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_folder_closed.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_folder_open.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_leaf.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_space.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_split.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_split_first.png create mode 100644 htdocs/js/phplayersmenu/menuimages/tree_vertline.png delete mode 100644 lang/Makefile delete mode 100644 lang/auto.php delete mode 100644 lang/ca.php delete mode 100644 lang/cz.php delete mode 100644 lang/de.php delete mode 100644 lang/en.php delete mode 100644 lang/es.php delete mode 100644 lang/fr.php delete mode 100644 lang/hu.php delete mode 100644 lang/it.php delete mode 100644 lang/ja.php delete mode 100644 lang/nl.php delete mode 100644 lang/pl.php delete mode 100644 lang/pt-br.php delete mode 100644 lang/recoded/auto.php delete mode 100644 lang/recoded/ca.php delete mode 100644 lang/recoded/cz.php delete mode 100644 lang/recoded/de.php delete mode 100644 lang/recoded/en.php delete mode 100644 lang/recoded/es.php delete mode 100644 lang/recoded/fr.php delete mode 100644 lang/recoded/hu.php delete mode 100644 lang/recoded/it.php delete mode 100644 lang/recoded/ja.php delete mode 100644 lang/recoded/nl.php delete mode 100644 lang/recoded/pl.php delete mode 100644 lang/recoded/pt-br.php delete mode 100644 lang/recoded/ru.php delete mode 100644 lang/recoded/sv.php delete mode 100644 lang/recoded/zh-cn.php delete mode 100644 lang/recoded/zh-tw.php delete mode 100644 lang/recoded/zz.php delete mode 100644 lang/recoded/zzz.php delete mode 100644 lang/ru.php delete mode 100644 lang/sv.php delete mode 100644 lang/zh-cn.php delete mode 100644 lang/zh-tw.php delete mode 100644 lang/zz.php delete mode 100644 lang/zzz.php delete mode 100644 lib/custom_functions.php create mode 100644 locale/ca_ES/LC_MESSAGES/messages.mo create mode 100644 locale/ca_ES/LC_MESSAGES/messages.po create mode 100644 locale/cs_CZ/LC_MESSAGES/messages.mo create mode 100644 locale/cs_CZ/LC_MESSAGES/messages.po create mode 100644 locale/de_DE/LC_MESSAGES/messages.mo create mode 100644 locale/de_DE/LC_MESSAGES/messages.po create mode 100644 locale/es_ES/LC_MESSAGES/messages.mo create mode 100644 locale/es_ES/LC_MESSAGES/messages.po create mode 100644 locale/fr_FR/LC_MESSAGES/messages.mo create mode 100644 locale/fr_FR/LC_MESSAGES/messages.po create mode 100644 locale/hu_HU/LC_MESSAGES/messages.mo create mode 100644 locale/hu_HU/LC_MESSAGES/messages.po create mode 100644 locale/it_IT/LC_MESSAGES/messages.mo create mode 100644 locale/it_IT/LC_MESSAGES/messages.po create mode 100644 locale/ja_JP/LC_MESSAGES/messages.mo create mode 100644 locale/ja_JP/LC_MESSAGES/messages.po create mode 100644 locale/nl_BE/LC_MESSAGES/messages.mo create mode 100644 locale/nl_BE/LC_MESSAGES/messages.po create mode 100644 locale/pl_PL/LC_MESSAGES/messages.mo create mode 100644 locale/pl_PL/LC_MESSAGES/messages.po create mode 100644 locale/pt_BR/LC_MESSAGES/messages.mo create mode 100644 locale/pt_BR/LC_MESSAGES/messages.po create mode 100644 locale/ru_RU/LC_MESSAGES/messages.mo create mode 100644 locale/ru_RU/LC_MESSAGES/messages.po create mode 100644 locale/sv_FI/LC_MESSAGES/messages.mo create mode 100644 locale/sv_FI/LC_MESSAGES/messages.po create mode 100644 locale/zh_CN/LC_MESSAGES/messages.po create mode 100644 locale/zh_TW/LC_MESSAGES/messages.mo create mode 100644 locale/zh_TW/LC_MESSAGES/messages.po create mode 100644 templates/SUSE-posixGroup.xml create mode 100644 templates/SUSE-sambaGroupMapping.xml delete mode 100755 templates/creation/new_address_template.php delete mode 100644 templates/creation/new_alias_template.php delete mode 100755 templates/creation/new_dns_entry.php delete mode 100644 templates/creation/new_kolab_template.php delete mode 100644 templates/creation/new_mozillaOrgPerson_template.php delete mode 100644 templates/creation/new_nt_machine.php delete mode 100644 templates/creation/new_organizationalRole.php delete mode 100644 templates/creation/new_ou_template.php delete mode 100644 templates/creation/new_posix_group_template.php delete mode 100644 templates/creation/new_postfix_account_template.php delete mode 100644 templates/creation/new_postfix_alias_template.php delete mode 100644 templates/creation/new_security_object_template.php delete mode 100644 templates/creation/new_sendmail_alias_template.php delete mode 100644 templates/creation/new_sendmail_cluster_template.php delete mode 100644 templates/creation/new_sendmail_domain_template.php delete mode 100644 templates/creation/new_sendmail_relay_template.php delete mode 100644 templates/creation/new_sendmail_virthost_template.php delete mode 100644 templates/creation/new_sendmail_virtuser_template.php delete mode 100644 templates/creation/new_smb3_nt_machine.php delete mode 100644 templates/creation/new_smb3_user_template.php delete mode 100644 templates/creation/new_smbgroup_template.php delete mode 100644 templates/creation/new_smbuser_template.php delete mode 100644 templates/creation/new_user_template.php delete mode 100644 templates/modification/default.php delete mode 100644 templates/modification/group_of_names.php delete mode 100644 templates/modification/samba_account.php delete mode 100644 templates/modification/user.php delete mode 100644 templates/template_config.php delete mode 100644 tools/check_lang_files.php create mode 100755 tools/po/make_all create mode 100755 tools/po/make_mo create mode 100755 tools/po/make_po create mode 100755 tools/po/make_po_ca create mode 100755 tools/po/make_po_de create mode 100755 tools/po/make_po_es create mode 100755 tools/po/make_po_fr create mode 100755 tools/po/make_po_hu create mode 100755 tools/po/make_po_it create mode 100755 tools/po/make_po_ja create mode 100644 tools/po/messages.header diff --git a/INSTALL b/INSTALL index d9f1c87..78ea6f7 100644 --- a/INSTALL +++ b/INSTALL @@ -1,5 +1,5 @@ -For install instructions in non-English languages, see the files -in the "doc" directory. +For install instructions in non-English languages, see the wiki: + http://wiki.pldapadmin.com * Requirements @@ -11,27 +11,13 @@ in the "doc" directory. 1. Unpack the archive (if you're reading this, you already did that). 2. Put the resulting 'phpldapadmin' directory somewhere in your webroot. - 3. Copy 'config.php.example' to 'config.php' and edit to taste. + 3. Copy 'config.php.example' to 'config.php' and edit to taste (this is in the config/ directory). 4. Then, point your browser to the phpldapadmin directory. * For additional help - See the files in the "doc" directory. + See the wiki: + http://wiki.pldapadmin.com + Join our mailing list: https://lists.sourceforge.net/lists/listinfo/phpldapadmin-devel - -* Platform specific notes - - * OpenBSD with chroot'ed Apache: - - For jpeg photos to work properly, you must do this: - # mkdir /var/www/tmp, and then - # chown root:daemon /var/www/tmp - # chmod 1755 /var/www/tmp - Where tmp is the $config->custom->tmpdir['jpeg'] configured in config.php - - * Windows - - For jpeg photos to work properly, be sure to change $config->custom->tmpdir['jpeg'] - from "/tmp" to "c:\\temp" or similar. - diff --git a/VERSION b/VERSION index cf6f8c8..9a74a7c 100644 --- a/VERSION +++ b/VERSION @@ -1 +1 @@ -$Name: RELEASE-0_9_7_2 $ +$Name: RELEASE-0_9_8 $ diff --git a/config/config.php.example b/config/config.php.example index cb680c8..e13bd47 100644 --- a/config/config.php.example +++ b/config/config.php.example @@ -22,7 +22,7 @@ * * NOTE: Commented out values in this file prefixed by //, represent the * defaults that have been defined in config_default.php. - * Commented out values prefixed by #, dont refelct their default value, you can + * Commented out values prefixed by #, dont reflect their default value, you can * check config_default.php if you want to see what the default is. * * DONT change config_default.php, you changes will be lost by the next release @@ -35,7 +35,7 @@ /*********************************************/ /* If you are asked to put pla in debug mode, this is how you do it: */ -# $config->custom->debug['level'] = 2; +# $config->custom->debug['level'] = 255; # $config->custom->debug['syslog'] = true; # $config->custom->debug['file'] = '/tmp/pla_debug.log'; @@ -239,7 +239,7 @@ $ldapservers->SetValue($i,'login','pass',''); $ldapservers->SetValue($i,'server','tls',false); $ldapservers->SetValue($i,'server','low_bandwidth',false); $ldapservers->SetValue($i,'appearance','password_hash','md5'); -$ldapservers->SetValue($i,'login','attr','uid'); +$ldapservers->SetValue($i,'login','attr','dn'); $ldapservers->SetValue($i,'login','string',''); $ldapservers->SetValue($i,'login','class',''); $ldapservers->SetValue($i,'server','read_only',false); diff --git a/doc/CREDITS b/doc/CREDITS deleted file mode 100644 index b783323..0000000 --- a/doc/CREDITS +++ /dev/null @@ -1,59 +0,0 @@ - * Project Creator: - - David Smith - - * Project Developers: - - - Deon George Maintainer - - Xavier Renard Import/Export and Samba - - Uwe Ebel I18n - - * Patch writers: - - - Bayu Irawan userPassword hash, html fixes, ldap_modify fixes - - Uwe Ebel short_open_tags fix - - Andrew Tipton SUP support in schema parser - - Eigil Bjørgum UTF-8 support - - Brandon Lederer DNS entry template - Nathan Rotschafer - - Steve Rigler Password hash patch - - Chris Jackson Blowfish and md5crypt passwords - - Marius Rieder Perfected schema parser - - Nick Burch realpath() fixes for *BSD - - Matt Perlman Fix for IBM LDAP schema support - - K Yoder Predefined searches - - Piotr Tarnowski i18n fixes - - Deon George Auto-uidNumber enhancements and many fixes - - Pierre Belanger Speed-ups to auto-uidNumber - - Benjamin Drieu Syslog, Hooks and other fixes - - Samuel Tran User login restriction - - Daniel van Eeden Unicode, CSS fixes - - Piotr Tarnowski More locatisation fixes - - Tomas Kuliavas Improved password encoding functions - - Alessandro De Zorzi Enhancement with the new template engine and others - - Matt Harrington Fixes - - Jonathan Thurman Add Multiple objectClasses - - And many others, whose names are lost in the changelog. Thank you. - - * Translators: - - - Marius Reider, German - Uwe Ebel, - Dieter Kluenter - - Xavier Renard French - - Dave Smith English ;) - - Richard Lucassen Dutch - - Andreu Sanchez Spanish and Català - - Dmitry Gorpinenko, Russian - Aleksey Soldatov - Sergey Saukh - - Unknown Italian, Tain, Simplified Chinese - - Alexandre Maciel Portuguese (Brasilian) - Elton Schroeder Fenner (CLeGi) - - Piotr Tarnowski (DrFugazi) Polish - - Gunnar Nystrom Swedish - - VOROSBARANYI Zoltan, Hungarian - SIPOS Agnes - - Tadashi Jokagi (elf2000) Japanese - - If you can help translate, please join the phpldapadmin-devel mailing list: - https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel diff --git a/doc/ChangeLog b/doc/ChangeLog deleted file mode 100644 index ff7cca5..0000000 --- a/doc/ChangeLog +++ /dev/null @@ -1,418 +0,0 @@ -* Version 0.9.7, 2005-09-11 - - * Summary: - - Now fully supporting PHP5 - this will be the last version developed on PHP4. - - Revamped how you configure PLA - now using a config object and some checking, - - Revamped how you define LDAP servers - extending the LDAPServer object and adding some checking. - - Fixed all functions so that they now use the LDAPServer object. - - Introduced the template engine and configuration by XML files. (The old templates are still in this - version, unchanged from 0.9.6. They will be removed after this version is released.) - - Changed dependancy checking to just index.php, so that common.php executes faster. - - Minor improvements to compare.php - - Much improved debug logging - - Much improved caching - - Improved LDAP server info display - - Some code readability cleanup - - - Add other fixes as per the ChangeLog (ChangeLogCVS.txt). - - Thank you for everybody who has submitted fixes/enhancements/recommendations and feedback for this version. - -* Version 0.9.6, 2005-04-03 - - * Summary: - The main goals for this version was to close all the outstanding bugs and apply all the submitted patchs - on sourceforge. All the sourceforge easy to do RFE's where also included. - - * Notes: - - Added support for mulpiple Base DN's - - Added support to log for syslog (Benjamin Drieu) - - Added hooks feature to replace custom functions (Benjamin Drieu) - - Entry chooser now auto adds rdn entry for copy/move operations (wigi2) - - Initial support for AD Schema Retrieval - - Added login restriction (Samuel Tran) - - Added support to move objects (aka Copy then Delete) (wigi2) - - No longer show + next to objects that have no children in tree viewer (when hide_configuration_management=true) - - Added date evaluation to shadow attributes (shadowAccount) - - Added Enhancement to show attributes in a specifc order (Samuel Tran) - - Added Server Info OID descriptions - - Added new feature to compare two DNs - - Binary SID to text SID feature for MSAD objectSid entries. - - Added session timeout feature (Samuel Tran) - - * New Languages: - - Taiwan (Anonymous) - - Simplfied Chinese (Anonymous) - - * Changes: - - LDAP server configuration is being moved into an Object LDAPServer, all future interactions should - use this object class from now on. - - Some more conversions of english static text into language files. - - Some code cleanup, excess whitespace removal, etc... - - Tags for phpdoc updated. - - Added cvs header to files missing the header. - - LDIF Import function improvements (Xavier Renard) - - UniqueAttrs fix, now showing actual value (in multi value attribs) that breaches uniqueness - - Fixed check_lang_files when register_globals=off - - css fixes (Daniel van Eeden) - - More locatisation fixes (Piotr Tarnowski) - - Schema functions all use cached entries now by default - - Improved password encoding functions (Tomas Kuliavas) - - If auth_type = session, then dn and password is also blowfish encrypted - - Prettied up the icon index (Dave Smith) - - Make the rdn not editable in the default template. - - * Fixes: - - password_check when magic_quotes_gpc is on. - - Misc fixes (Benjamin Drieu) - - Fix searchs when searching for values with brackets - - Unicode fixes (Daniel van Eeden) - - View jpeg photo minor security fix (Dave Smith) - - Check password link missing in read-only mode - - * Sourceforge bug fixes: - 1117099 1117316 1120048 1150947 1152962 1153360 1055401 1158148 1161425 - - -* Version 0.9.5, 2004-12-17 - - * Notes: - - This version adds substantial new features and several minor bug fixes as well as PHP5 support! - - * Changes: - - - Added PHP5 support using Zend1 compatibility options. - - Users can now specify a format string for custom display of DNs in the tree viewer - (see $tree_display_format in config.php.example) - - If using http auth_type, DNs and passwords are now encrypted int he cookie using blowfish. - - If base entry is missing, phpLDAPadmin will prompt you to create it and give you some - sane default values to get started. - - Added index file for viewing of all PLA icons (see phpldapadmin/images/index.php) - - Added custom country flag icons for DNs in the form "c=us" - - Added more custom icons (ipNetwork, Device, Room) - - Made it easier to create the base entry of an empty tree. - - Fixed bug related to predefined search queries with patch from Olivier Mounier - - Added a template for mozillaOrgPerson - - Improved error handling for non-existent or unreadable template files. - - "Create new" now displays at the top *and* bottom of the tree viewer list if there are - more than 10 entries in the container (make it easier for users by reducing scrolling) - - Optimized several pages by closing the session early if not needed. - - By request, reversed the order of first name / last name in the inetOrgPerson template. - - Added a login_string feature for admins who have all their users in a single container, - so they can specify a string like "uid=,ou=People,dc=example,dc=com" instead - of setting up the painful login_attr stuff. - - Changed the delete button to be red (like phpMyAdmin) to make it more obvious. - - Consolidated the links at the top of the tree viewer to make better use of real estate. - - New logo! - - Patch from Dimitre to fix unique attrs enforcement. - - Templates can now redirect wherever they want using a hidden form input. - - Added a "Home" button in the tree viewer to get back to the main PLA page if desired. - - PLA now looks up the gidNumber to display group description and name in user accounst. - - Improved the hint about structural objectClasses in the custom creation template - - Added ability to purge caches (mostly just schema objects) and caches are auto-purged - when the schema is viewed in the schema browser. - - Changed the arrow icon next to objectClass values to be an information button. - - Search results can be displayed in table format now. - - Fixes to LDIF import. - - Added support for exporting to VCard 2.1 format. - - Lots of little session fixes. - - Structural objectClasses are now shown in bold in the custom creation template. - - Fixed lots of bugs, some big some minor: - 1025353 1037715 1029103 1026427 1025353 1020606 - 1020376 1010576 1009410 1007281 1007132 1004042 - 1002794 1001941 1000185 999605 999170 996842 - 995362 995297 995296 994343 993875 992419 - 991891 989219 984587 983375 981283 979395 - 977598 974369 973520 973323 965165 964410 - 962074 959950 958372 957284 954453 - -* Version 0.9.4b, 2004-05-11 - - * Notes: - - This follow-on release fixes one critical bug contained in 0.9.4 - relating to session.auto_start and schema caching. - - * Changes - - - Fixed bugs (all duplicates of single bug): - 947981 - 951003 - 951140 - - Fixed binary attribute creation (create.php) - -* Version 0.9.4a, 2004-05-08 - - * Notes: - - This follow-on release fixes several critical bugs contained in 0.9.4. - - * Changes: - - - Fixed bugs: - 949500 Error while adding New User Account - 949500 Creating a new uid under ou=People - 948695 is_executable() error using phpldapadmin - windows - 948741 Level: E_WARNING - 948413 Undefined variable: lang (E_NOTICE) after install - -* Version 0.9.4, 2004-05-04 - - * Notes: - - This release adds many new features and fixes many minor bugs. - General performance has improved, especially for handling large data - sets. Of particular note is that users can page through search results, - flag individual attributes as read-only, view in-line jpegPhotos in - search results, export DSML, all from the comfort of their own language. - phpLDAPadmin is now availble in 11 languages. - - * Changes: - - Fixed bug 936223 by adding more robust error-handling to the binary - attr viewing code. - - Improved support for Microsoft Active Direcotry - Added many new icons and logic to detect "special" Active Directory - objects. - Fixed a bug which prevented phpLDAPadmin's tree viewer from - properly browsing an Active Directory. - - Improved support for Novell eDirectory - Added many new icons and logic to detect Novell eDirectory (NDS) - entries. - - Enhanced export form - Users can specify the type of export, line ends, search scope, and more - from one handy form similar in appearance to phpMyAdmin export forms (though - more simple). As a result, I cleaned up the links at the top of the default - mod template (removed mac | win | unix links, for example). - - Cleaned up the entry browser link - It now better aligns itself with neighboring form elements. - - Fixed several E_NOTICE bugs - - Added paging to search results Search results are now paged into groups - of 50 entries and users can step through the pages like Google. This is not - only a nicety, but with large searches users may have waited for hours for - their browser to render all the entries. That problem is fixed by paging. - - DNs are pretty-printed - DNs in the tree viewer and else-where are now "syntax-highlighted". - - Faster schema surfing - You can "jump to" schema elements without rendering all other elements in - the schema browser. This is a major speed enhancement. - - Configurable: hide "Create new" - Thanks to a patch from Deon George, users can hide the "create new" link in the - tree viewer if desired. - - DSML exports - - Various XHTML fixes supplied by Uwe Ebel. - - More binary safety: - get_object_attrs() is now completely binary safe. Developers can use it to - fetch jpegPhotos and any other binary data. - - Re-order the search criteria menu - Users can re-order the search criteria drop-down box (for simple search - form) as desired from the config. - - Obfuscated passwords with **** - Users can configure PLA to display userPasswords as ****** if desired. - - Tree browser displays child counts - We found a fast solution to display child counts below each node without - having to expand the node in the tree viewer. Works great. - - "Used by" hyperlinks - The "used by" list in matching rules are now hyper-linked to attributes in - the schema viewer. - - jpegPhotos in the search results. - When a search result includes jpegPhotos, they will be displayed inline - with other attributes. Very handy for address books! - - We can draw any jpeg now - Modified the infrastrucutre to draw any jpegPhoto attribute, regardless of - its name. - - Added a groupOfNames template - For editing groupOfNames and groupOfUniqueNames - - Fixes to the entry browser - The entry browser can be clicked and closed before it's finished loading - - Read-only attributes - Users can now mark certain attributes as read-only, and PLA will refuse to - modify them (ie, objectClasses) and display them without form input fields. - - Configurable handling of aliases and referrals - Admins can configure how phpLDAPadmin should handle aliases and - referrals with fine-grained control. - - Schema caching - Network traffic between the web server and LDAP server has been reduced - drastically and user page loads should run much faster thanks to a - two-level session-based and memory-based schema cache. - - Low bandwidth mode - Users who have a slow link between their LDAP server and web server can - run phpLDAPadmin in low-bandwidth mode to discourage excessive network - traffic. - - Fixed DN explosion - A bug in PHP's LDAP API caused common segmentation faults in - ldap_explode_dn(). We have re-implemented this function in PHP and have - eliminated all segmentation faults. - - Almost complete localization - phpLDAPadmin is 100% internationalized with the exception of creation - templates, available in 11 languages. - - Added support for IBM LDAP and ISODE M-Vault LDAP servers. - - Linkable displayed DNs - When a user views an attribute that contains a DN, an arrow will appear - to the left side. When clicked, the user is taken to the referenced DN. - - Recursive copy fliters - When users copy a sub-tree, they may apply a filter to the copy such - that only entries that match the filter will be copied. - - Auto uidNumber enhancements - Admins can now specify a DN to bind with when auto-searching for the next - available uidNumber. - - Schema code cleanups - Applied object-oriented inheritance to schema items and cleaned up - access functions. No affect on end user, just a developers' itch. - - Custom creation template usability enhancements - - Fixed session bugs - If PHP is auto-starting sessions, we will not throw errors anymore. - - Added new auth_type: http - Users can now use http auth_types for form-based logins. Their - DN/password will be stored on the server in memory rather than in - a cookie on the client. - - TLS fixes - More robust coverage. If users have configured 'tls' = true in - config.php, we use TLS for all transactions with the LDAP - server. - - Error handling fixes - pla_verbose_error() is more tolerant of crappy input (ie, bad LDAP - error codes). - - Cleaned up default mod template - Editing entries is now much cleaner-looking. Buttons at the top are - in two columns. The browser doesn't have to be full-screen anymore - to edit an entry. - - Minor cosmetic fixes to custom creation template - - Added phpDoc commentary to all functions in functions.php and - schema_functions.php, and export_functions.php. This allows us to - auto-doc the code using phpDocumentor. - -* Version 0.9.3, 2003-12-19 - - * Notes: - This release focused almost entirely on finding and fixing bugs. - The schema viewer has also been streamlined to save bandwidth (and several - endangered species), while template configuration has been moved to its - own file located in the templates directory. Over all, phpLDAPadmin has - been made more solid thanks to testing and reporting by hundreds of users. - Thansk for all your reports! Special thanks goes out to Matt Perlman for - the IBM work-around and Uwe Ebel for the enhanced schema viewer. - * Changes: - As this was primarily a bug-fix release, here's the list of significant - fixes: - 862225 an E_NOTICE on delete fixed - 861730 (and many duplicates of it) an E_NOTICE on determining the - language in 'auto' lanuage mode for browsers who don't - set HTTP_ACCEPT_LANGUAGE (like Opera). - 861491 (and many duplicates of it) Anonymous form-based logins - often failed due to several E_NOTICE problems. - 856832 IBM LDAP servers refernece SUP attributes by OID, not name. - A patch was provided to accomodate this circumstance. - 860179 Another anonymous form-based login bug. - 858611 (lots of dups of this one) Fixed the error handler so that - it will not cause a "cannot send header information" message. - 844547 A coulpe E_NOTICE bugs in the posix group creation template. - 841816 An E_NOTICE bug during creation of an entry. - 844340 A sprintf error during login - - Many many more bug fixes. - - The schema viewer was also streamlined. - - Support work-around for IBM LDAP Server was added. - -* Version 0.9.2, 2003-11-14 - - * Notes: - This release has undergone major code hardening as we've subjected it to - the most stringent standard of PHP error reporting. The result is - fewer unhandled errors, improved usability, and better performance. - We've given more attention to internationalization as well, - and that effort is nearly 80% complete. Translators and coders are still - needed to help complete the localization effort. We've added a whole new - custom callback infrastructure that is event driven. Users can write their - own custom code to be executed as the result of LDAP events. Events include - entry creation, entry deletion, and entry modification. Users can define - custom code to execute automatically before and after each of these events. - See "custom_functions.php" for details and documentation. Lots of other new - features and bug fixes are outlined in the ChangeLog. phpLDAPadmin finally - has a roadmap included with each release. Find it in the file called "ROADMAP" - in the root of the install. This roadmap will be constantly updated to - list our goals for each release. Enjoy 0.9.2! As always, your feedback - is most welcome on the development mailing list and on the SourceForge - bug tracker. - - * Changes: - - Localization work continues. About 80% complete. - - New languages: Ialian, German, Catala - - Fixed major encoding bugs. All pages are now true UTF-8 encoded - - Support for auto-determining user's language based on the browser - - Custom event callbacks infrastructure (see custom_functions.php). Users can now - define custom code to execute as a result of LDAP events (ie, new entries, - modifications, etc). - - Major code cleanup. Removed all E_NOTICE messages and enabled E_ALL error_reporting. - - Added support for smd5 and ssha passwords - - Added configurable hints throughout the application - - Added template-based entry editing. The infrastructure is now in place to use custom - templates for editing LDAP entries. No templates are being shipped with 0.9.2, but - they are on the way for 0.9.3. - - Added photo display support for non-jpegPhoto photo attributes. - - Added mass deletion. If enabled in the configuration, users can mass-delete multiple - entries from the tree browser with checkboxes. - - Much improved schema retrieval code. Now PLA uses the Root DSE (or any relevant DN) - to fetch the schema based on the RFC-complian subSchemaSubEntry value. - - Added support for viewing schema for attributes with ";" in their names (like - userCertificate;binary or sn;lang-fr) - - Schema code is 100% object oriented. - - Enhanced search code can handle large searches without running out of memory. - - Fixed minor XSS vulnerabilities in several creation templates. - - Enhanced the server information viewer to actively retrieve attributes that the server - may not give voluntarily. - - Made the tree viewer more intelligent for failed binds. - - Added better caching of the base DN for the tree viewer, which speeds up page loads - considerably with multiple servers all configured to auto-determine the base DN. - - Added intelligence around password updates on the currently logged-in user entry. - -* Version 0.9.1, 2003-09-24 - - * Notes: - We fixed a mountain of bugs for this release and implemented the - most popular feature requests. The result is a much more robust LDAP - management tool that supports a wider range of harsh environments and spoken - languages. This release was over a month in the making and it shows. We've - had great feed back from users. Special thanks to Nick Burch, Xavier - Renard, Uwe Ebel, Schuller Tom, and Marius Reider for their code - contributions. Thanks to everyone who contributed code and bug reports! - - * Changes: - - Preliminary support for LDIF imports. - - Binary attribute support for viewing, deleting, and adding. - - Users can specify attributes to hide while editing entries. - - Schema browser now displays which objectClasses each attribute is used in. - - Preliminary multi-language support (some localization, infrastructure in place). - - New template for creating posixGroup entries. - - Optional read-only mode of operation. - - Error dialog beautified. - - Localization effort begun, now available in German and French. - - New samba user template. - - * Bugs fixed: - - I18n support was made more robust (UTF-8 problems fixed in *many* places). - - Improved LDIF exports with better LDIF comments and cleaner IE support. - - Cleaned up code in edit.php. - - After updates, modified attribute(s) now highlighted properly. - - Many realpath() fixes to allow symlink installs with multiple configs. - - Simple search form 'Starts with' '*' searches produced PHP error. - - Entry creation now adds the new entry to the tree browser in sorted order. - - Complete re-work of schema browser, much more efficient parser. - - Began effort to remove all E_NOTICE notices. - -* Version 0.9.0, 2003-08-12 - - * Notes: - This is the first release of phpLDAPAdmin. It should be stable enough and - ready for use on your production LDAP servers. This is still a beta release - and the paranoid may want to wait. phpLDAPAdmin is based on an improved - version of DaveDAP 0.8.4. - - * Changes: - phpLDAPAdmin was DaveDAP. Changes since DaveDAP 0.8.4 include: - - - Better LDAP compliance when copying entries. - - Fixed boolean attribute support. - - jpegPhoto scaling when necessary. - - More robust schema browser. - - Added internal attributes support. - - Slightly improved look and feel. diff --git a/doc/INSTALL-de.txt b/doc/INSTALL-de.txt deleted file mode 100644 index 1de071e..0000000 --- a/doc/INSTALL-de.txt +++ /dev/null @@ -1,68 +0,0 @@ -Installationsanleitung von phpldapadmin auf Deutsch -=================================================== - -$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-de.txt,v 1.3 2004/03/01 19:48:58 i18phpldapadmin Exp $ - -Die Installationsanweisung geht davon aus das: - a) Ein Webserver (Apache, IIS, etc.) - b) PHP 4.1.0 oder neuer (mit LDAP-Support) -installiert sind und auch funktionieren - - -* Installation von phpLDAPadmin in vier einfachen Schritten: - - 1. Entpacken des Archives (wenn man diesen Text lesen kann, - dann ist das schon geschehen) - 2. Das entpackte Verzeichnis phpldapadmin sollte vom webroot - aus erreicht werden - 3. Kopieren der 'config.php.example' nach 'config.php' - und anpassen. - 4. Mit einem Browser auf das phpldapadmin-Verzeichnis zugreifen - (wenn Sie das Verzeichnis sehen, dann bitte noch ein index.php - anhaengen) - - -* Browser Hinweise - - phpLDAPadmin wird unter Mozilla entwickelt und sollte auch am - Besten darunter laufen. Andere Browser (bspw. Internet Explorer) - sollten ebenfalls funktionieren. - Keine Tests wurden mit dem Konqueror (oder jeder andere khtml-basierende - Browser wie Safari) oder Opera vorgenommen. Falls es zu Browser - Inkompatibilitaet kommen sollten, dann bitte einen Fehlerreport senden. - - -* Lizenz - Die Verwendete Lizenz ist in der Datei LICENCE zu finden - - -* Mitwirkende: - - Projektentwickler: - Bitte in der Datei INSTALL unter 'Project Developers:' nachsehen - - Patches: - Bitte in der Datei INSTALL unter 'Patch writers:' nachsehen - - Uebersetzungen: - Bitte in der Datei INSTALL unter 'Translators:' nachsehen - - Wer in der Uebersetzung helfen moechte sollte an der Mailingliste - phpldapadmin-devel teilnehmen: - - https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel - - -* Hinweise zur Konfiguration von config.php - Wer eine Benuetzerfuehrung auf Deutsch haben moechte sollte in der - config.php die Zeile - - $language = 'en'; - - mit - - $language = 'de'; - - abaendern. Weitere Sprachen sieht man im Unterverzeichnis 'lang' - - diff --git a/doc/INSTALL-es.txt b/doc/INSTALL-es.txt deleted file mode 100644 index 5504e00..0000000 --- a/doc/INSTALL-es.txt +++ /dev/null @@ -1,56 +0,0 @@ -$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-es.txt,v 1.4 2005/02/06 00:37:15 wurley Exp $ -Estas instrucciones dejan por sentado que tienes una instalación -funcionando de: - a. Servidor Web (Apache, IIS, etc). - b. PHP 4.1.0 o mas nuevo (con soporte LDAP) - -* Instalando phpLDAPadmin en 4 pasos muy simples: - - 1. Desempaqueta el archivo (si estás leyendo esto, ya lo has hecho). - 2. Pon el directorio resultante 'phpldapadmin' en algún lugar de tu - directorio web raiz. - 3. Copia 'config.php.example' a 'config.php' y edítalo para que se - acomode a tu configuración y tu gusto. - 4. Entonces, con el navegador ve a la dirección que contiene los archivos - del directorio phpldapadmin. - -* Notas del navegador - - phpLDAP se desarrolló bajo Mozilla, y será donde seguramente corra mejor. - Aún así, las pruebas se han hecho bajo Internet Explorer, y tendría que funcionar - bien también. No se ha hecho ninguna prueba con Konqueror (o cualquier navegador - basado en kthml como Safari) o Opera. Si encuentras alguna incompatibilidad, por favor - háznoslo saber. - -* Contribuidores - - Desarrolladores del proyecto: - - - David Smith Mantenedor - - Xavier Renard Master de LDIF - - Marius Rieder Master de los Esquemas - - Nate Rotschafer Encargado de los lanzamientos - - Escribidores de los parches: - - - Bayu Irawan userPassword hash, arreglos html, arreglos ldap_modify - - Uwe Ebel arreglo short_open_tags - - Andrew Tipton soporte SUP en el parseador del esquema - - Eigil Bjørgum soporte UTF-8 - - Brandon Lederer plantilla de entrada de DNS - Nathan Rotschafer - - Steve Rigler Parche para Password hash - - Chris Jackson Contraseñas Blowfish y md5crypt - - Marius Rieder Parseador avanzado de esquema - - Nick Burch Un montón de arreglos de realpath() - - Traductores: - - - Uwe Ebel Alemán - - Xavier Renard Francés - - Dave Smith Inglés ;) - - Si puedes ayudar a traducir, por favor apúntate a la lista de correo phpldapadmin: - https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel - - diff --git a/doc/INSTALL-fr.txt b/doc/INSTALL-fr.txt deleted file mode 100644 index b884da2..0000000 --- a/doc/INSTALL-fr.txt +++ /dev/null @@ -1,57 +0,0 @@ -$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/INSTALL-fr.txt,v 1.4 2005/02/06 00:37:15 wurley Exp $ -Les instructions suivantes supposent une installation en état de marche de: - a. Un serveur web (Apache, IIS, etc). - b. PHP 4.1.0 ou une version plus récente (avec le support LDAP). - -* Installer phpLDAPadmin en quatre étapes simples: - - 1. Dé-tarrer l'archive (si vous lisez ceci, c'est que vous l'avez déjà fait). - 2. Mettre le répertoire 'phpldapadmin' ainsi obtenu quelque part sous - la racine de votre serveur web. - 3. Copier 'config.php.example' vers 'config.php' et éditer selon vos besoins. - 4. Ensuite, pointer votre navigateur vers le répertoire phpldapadmin. - -* Notes sur les navigateurs - - phpLDAPadmin a été developpé avec Mozilla et fonctionnera vraisemblablement - mieux avec celui-ci. Cependant, des tests ont été effectué avec Internet Explorer - et cela devrait fonctionner également. Aucun test n'a été réalisé ni avec Konqueror - (ou un navigateur basé sur khtml comme Safari par exemple) ni avec Opera. Si - vous trouvez une incompatibilité avec votre navigateur, merci de la reporter. - -* Contributions: - - Developeurs: - - - David Smith Maintenance - - Xavier Renard Responsable LDIF - - Marius Rieder Responsable pour les schéma LDAP - - Nate Rotschafer Directeur des releases - - Auteurs de patchs: - - - Bayu Irawan hachage pour le mot de passe utilisateur, - corrections html, corrections pour ldap_modiy - - Uwe Ebel Corrections pour short_open_tags - - Andrew Tipton Support pour SUP dans le parseur de schémas - - Eigil Bjørgum Support pour UTF-8 - - Brandon Lederer Patron pour les entrées DNS - Nathan Rotschafer - - Steve Rigler Correction pour les hachages des mots de passe - - Chris Jackson Mots de passe Blowfish et md5crypt - - Marius Rieder Amélioration du parseur de schémas - - Nick Burch Corrections multiples pour realpath() - - Traducteurs: - - - Uwe Ebel & Marius Reider Allemand - - Xavier Renard Français - - Dave Smith Anglais ;) - - Richard Lucassen Néerlandais - - Andreu Sanchez Espagnol et Catalan - - Dmitry Gorpinenko Russe - - Unknown Italien - - Si vous pouvez aider à traduire phpLDAPAdmin, veuillez s'il vous plaît vous abonner - à la liste de diffusion phpldapadmin-devel: - https://lists.sourceforge.net/mailman/listinfo/phpldapadmin-devel diff --git a/doc/README-translation.txt b/doc/README-translation.txt index 8c1d8f7..fa1141a 100644 --- a/doc/README-translation.txt +++ b/doc/README-translation.txt @@ -1,101 +1,2 @@ -README-translation -================== -$Header: /cvsroot/phpldapadmin/phpldapadmin/doc/README-translation.txt,v 1.3 2004/06/03 12:45:21 uugdave Exp $ - -This readme is for translators. -phpLDAPadmin currently supports the following languages: - - - en, of course - - de, german - - es, spanish - - fr, french - - it, italien - - nl, netherland - - pl, polish - - pt-br, portuguese (brazilian) - - ru, russian - - sv, swedish - -* Where are the files located? - -All files are in the directory: - - phpldapadmin/lang/ - -* How are the files named? - -Every language is named by its local representation. For example English is "en" and -British English is "en_GB" (though phpLDAPadmin does not have an "en_GB" translation). - -* Is the location phpldapadmin/lang/ used in the application? - -No, there is a Makefile in phpldapadmin/lang/ that converts the -native encoding of the language file to utf8 into the directory -phpldapadmin/lang/recoded. For example the file -phpldapadmin/lang/de.php is converted via the programm iconv to the -the encoding utf8 to the file phpldapadmin/lang/recoded/de.php. - -* Is there a rule for the form of the translation? - -Yes, all translation is stored in an array called lang[]. -The "mother" of all translation is english (en.php). -Use your native encoding like iso8859-1 for european -or iso8859-2 for polish. -Every translated string is in single quotes "'" -Don't use html-code in the translation. -If you need to enclose text in quotes, use a double quote '"' (no escaping required). - -* Why shouldn't I use html-code? - -To avoid problemens wich htmlspecialchars (which coverts "<" to "<", for example). -To avoid JavaScript problems. -To keep the way open for other targets like xml. -To keep the output well formed. - -* How could I start? - -First, the base for translation is the CVS version. -Checkout the CVS version and start your translation. -Create a file that contains your translation. -For me the easiest way was to copy the file phpldapadmin/lang/en.php -to the phpldapadmin/lang/[new-langage].php -That gives the way to put the original translation at the end -as a comment. Look at the de.php and you can see what I mean. -Add a target to Makefile so that your langugage is also converted. - -* How could I verify that my translation is complete? - -phpLDAPadmin contains the file phpldapadmin/check_lang_files.php -Open it in your browser and it will tell you if your lang file has any -omissions or extraneous strings. - - - extra entries: if entry is not in the en.php, maybe the value was - changed in en.php or you type in a wrong key. - - missing entries: the entry is present in en.php but is missing in - the translated langugage. - -* What is zz.php and the zzz.php in the phpldapadmin/lang/ directory? - -Well that is not really a language. That is only for developers -and translators to make sure that all strings are translated in the -application. - -The zz.php replace all characters in the lang[] to Z. That helps -in finding hardcoding translation in the the source. - -The ZZZ.php helps you to find the used "key". - -* How could I enable the zz and zzz language? - -Well, one is to set $language to 'zz' or 'zzz' in the config.php file. That is not the -best way - but the way that always works. - -Mozilla users do this: - * Click Edit->Preferences - * Option Navigator->Lanugages - Klick the button "add" and type into "Other" the - language "zz" - * With Move up / Move down you can change your priority. - * With the Button "OK" you can activate your choice. - -Do the same if you want to activate/test your translation. +Please see http://wiki.pldapadmin.com/Translating now for information on +translating PLA. diff --git a/doc/hooks.sgml b/doc/hooks.sgml deleted file mode 100644 index 88b08c1..0000000 --- a/doc/hooks.sgml +++ /dev/null @@ -1,1218 +0,0 @@ - - -
- - Hook system specification for phpldapadmin - - Benjamin - Drieu - -
Benjamin.Drieu@fr.alcove.com
-
-
- - Version 1.0 - - - This document describes the hook system developed for - phpldapadmin. - - - 2005Alcve - -
- -
- Implementation - -
- run_hook - -
- Synopsis - - - - run_hook - -hook_name, -args, - - - - - - - hook_name - - name of hook to run. - - - - args - - Array of optional arguments set by phpldapadmin. - It is normally in a form known by - call_user_func_array() : -[ 'server_id' => 0, - 'dn' => 'uid=epoussa,ou=tech,o=corp,o=fr' ] - - - - -
- -
- Usage - - Runs procedures attached to a hook. This is normally - called from the phpldapadmin code. But user can define hooks - in her code if needed. - - The mechanism is quite simple : hooks are added via the - add_hook() function, using a numeric - priority to sort order or invocation. The - run_hook() function will run them - sequentially from the lowest priority to the highest priotiry - untill a procedure returns a non true value. In that case, - rollbacks procedures that are defined together with procedures - are executed in reverse order. Rollbacks are mainly used to - keep consistency and achieve failsafe systems. - - - Example of invocation of run_hook. - - Phpldapadamin runs a hook that contains three - procedures, a, b, c and d of priority 0, 10, 20 and 30. - Procedure a is executed first and after that, b is executed - if no error occurs. If b does not returns an error, c is - executed. Now, let imagine that c returns false. In that - case, c's rollback is executed, then b's rollback and - finally a's rollback. - -
- -
- -
- add_hook - -
- Synopsis - - - - add_hook - -hook_name, -priority, -hook_function, -rollback_function, - - - - - - - hook_name - - name of hook to add a procedure to. - - - - priority - - Numeric priority. Lowest means procedure will be - executed before. - - - - hook_function - - Name of the php procedure called upon hook - trigger. Procedure will called via the - call_user_func_array() php function with pre-set - arguments that depends on hook type. - - - - rollback_function - - Name of the php procedure called upon hook trigger - when a procedure failed. Procedure will called via the - call_user_func_array() php function with pre-set - arguments that depends on hook type. - - - - -
- -
- Usage - - Pushes a procedure in the procedure lists of a hook for - later execution. -
- -
- -
- remove_hook - -
- Synopsis - - - - remove_hook - -hook_name, -priority, -hook_function, -rollback_function, - - - - - - - hook_name - - name of hook to remove procedures from. - - - - priority - - Numeric priority. If set, all procedures of that - priority will be removed. - - - - hook_function - - Name of the php procedure called upon hook - trigger. If set, all procedures that call this function - will be removed. - - - - rollback_function - - Name of the php rollback function called upon - failure. If set, all procedures that call this function - as a rollback will be removed. - - - - -
- -
- Usage - - Removes a procedure from a hook, based on a filter. All - arguments passed after hook_name are optional and can be - omited. If specified, they are used to as a filter: if a - procedure for this hook matches at lease one of these - parameters, it will be removed. -
- -
- - -
- clear_hooks - -
- Synopsis - - - - clear_hook - -hook_name - - - - - - - hook_name - - name of hook to clear. - - - - -
- -
- Usage - - Remove all procedures from a hook. If this hook is - called after a call to clear_hook, no procedures will be - called. -
- -
- - - -
- -
- Hooks reference - - - -
- post_attr_modify - -
- Synopsis - - - - post_attr_modify - -server_id, -dn, -attr_name, -new_val, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - attr_name - - name of attribute modified. - - - - new_val - - value that has been set by user, normally a - string. - - - - -
- -
- Usage - - This hook is triggered for every attribute changed by - phpldapadmin after by user interaction. Function return value - is not used by phpldapadmin since this hooks comes AFTER - attribute has been modified. Thought, return value may - trigger rollbacks. -
- -
- - -
- post_display_update_array - -
- Synopsis - - - - post_display_update_array - -server_id, -dn, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - index - - reference to position of entry in update table. - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin after user has - modified attributes in the editing form and before she commits - changes in the confirmation form. This hooks is run after an - update array of changes is build and its content is displayed - into the commit form. As a reference of this update array is - passed to this hook, it is possible to add, remove or change - entries from it, thus allowing some manual tweaking before - data is passed to phpldapadmin. - - An additional reference to a the number of rows already - displayed is passed, allowing hook to change its behaviour, - like displaying different color for odd or even rows. -
- -
- - -
- post_entry_create - -
- Synopsis - - - - post_entry_create - -server_id, -dn, -attrs, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - attrs - - an array containing all attributes of created - entry, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000', - ... ] - - - - -
- -
- Usage - - This hook is triggered after an entry has been created. - Its return value is not used by phpldapadmin but it can still - trigger rollbacks. -
- -
- - -
- post_entry_delete - -
- Synopsis - - - - post_entry_delete - -server_id, -dn, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of deleted entry. - - - - -
- -
- Usage - - This hook is triggered after an entry has been deleted. -
- -
- - -
- post_rename_entry - -
- Synopsis - - - - post_rename_entry - -server_id, -new_dn, -old_dn, - - - - - - - server_id - - numeric id of the LDAP server. - - - - old_dn - - Previous DN of modified entry. - - - - new_dn - - New DN of modified entry. - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin after an entry - has been renamed. Both dn variables are string representation - of old DN. -
- -
- - -
- post_session_init - -
- Synopsis - - - - post_session_init - - - - - -
- -
- Usage - - This hook is triggered just after an user has - connected. -
- -
- - -
- post_update - -
- Synopsis - - - - post_update - -server_id, -dn, -update_array, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - -
- -
- Usage - - This hook is triggered after an entry has been - modified. It is run after all post_attr_modify hook. -
- -
- - -
- post_update_array_processing - -
- Synopsis - - - - post_update_array_processing - -server_id, -dn, -update_array, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin after user has - modified attributes in the editing form and before she commits - changes in the confirmation form. This hooks is run BEFORE an - update array of changes is build and its content is displayed - into the commit form. As a reference of this update array is - passed to this hook, it is possible to add, remove or change - entries from it, thus allowing some manual tweaking before - data is displayed in commit confirmation form. - -
- -
- - -
- pre_attr_add - -
- Synopsis - - - - pre_attr_add - -server_id, -dn, -attr_name, -new_value - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - attr_name - - name of modified attribute./para> - - - - new_value - - new value for attribute. - - - - -
- -
- Usage - - This hook is triggered before an attribute is changed. - If it returns something else than true, - attribute change fails and nothing is changed for this - attribute and phpldapadmin adds this attribute to the - failed_attrs parameter. This parameter can be used later by - modification templates to display attributes that - failed. -
- -
- - -
- pre_attr_modify - -
- Synopsis - - - - pre_attr_modify - -server_id, -dn, -attr_name, -new_val, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - attr_name - - name of attribute modified. - - - - new_val - - value that has been set by user, normally a - string. - - - - -
- -
- Usage - - This hook is triggered for every attribute changed by - phpldapadmin after by user interaction BEFORE it is changed. - If this hook returns a value different from true, attribute is - not changed and it is added to a - failed_attr array that can be later - processed by other hooks or by forms. Rollback can be - triggered too. -
- -
- - -
- pre_connect - -
- Synopsis - - - - pre_connect - -server_id, -anonymous, -use_cache, - - - - - - - server_id - - numeric id of the LDAP server. - - - - anonymous - - true if connection is anonymous. - - - - use_cache - - true if connection is cached and is not closed is reused. - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin every time it - needs to make a connection to a LDAP server using - pla_ldap_connect function. -
- -
- - -
- pre_display_update_array - -
- Synopsis - - - - pre_display_update_array - -server_id, -dn, -update_array, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin after user has - modified attributes in the editing form and before she commits - changes in the confirmation form. This hooks is run after an - update array of changes is build and BEFORE its content is - displayed into the commit form. As a reference of this update - array is passed to this hook, it is possible to add, remove or - change entries from it, thus allowing some manual tweaking - before data is displayed in commit confirmation form. - -
- -
- - -
- pre_entry_create - -
- Synopsis - - - - pre_entry_create - -server_id, -dn, -attrs - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - attrs - - an array containing all attributes of requested - entry, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000', - ... ] - - - - -
- -
- Usage - - This hook is triggered BEFORE an entry is created. Its - return value determines whether phpldapadmin will create entry - or not. If not true, entry will not be created and rollbacks - will be triggered. - -
- -
- - -
- pre_entry_delete - -
- Synopsis - - - - pre_entry_delete - -server_id, -dn, - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - -
- -
- Usage - - This hook is triggered BEFORE an entry is deleted. If - it returns a false value, entry will not be deleted and an - error will be displayed. - -
- -
- - -
- pre_rename_entry - -
- Synopsis - - - - pre_rename_entry - -server_id, -dn, - - - - - - - server_id - - numeric id of the LDAP server. - - - - old_dn - - Previous DN of modified entry. - - - - new_dn - - New DN of modified entry. - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin BEFORE an entry - is renamed. Both dn variables are string representation of - old and new DN. If this hook returns a false value, entry is - not renamed. - -
- -
- - -
- pre_update - -
- Synopsis - - - - pre_update - -server_id, -dn, -update_array - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin BEFORE an entry - is updated. Also, it is run before any pre_attr_modify hook - is triggered. -
- -
- - -
- pre_update_array_processing - -
- Synopsis - - - - pre_update_array_processing - -server_id, -dn, -update_array - - - - - - - server_id - - numeric id of the LDAP server. - - - - dn - - DN of modified entry. - - - - update_array - - reference to an array containing all entries that - are to be modified, in the form: - -[ 'cn' => 'El Poussah Haroun', - 'description' => 'Calife', - 'diskQuota' => '10000' ] - - - - - - -
- -
- Usage - - This hook is triggered by phpldapadmin after user has - modified attributes in the editing form and before she commits - changes in the confirmation form. This hooks is run BEFORE an - update array of changes is build and its content is displayed - into the commit form. As a reference of this update array is - passed to this hook, it is possible to add, remove or change - entries from it, thus allowing some manual tweaking before - data is displayed in commit confirmation form. - -
- -
- -
- -
diff --git a/doc/test_encoding.sh b/doc/test_encoding.sh deleted file mode 100755 index 72547c7..0000000 --- a/doc/test_encoding.sh +++ /dev/null @@ -1,15 +0,0 @@ -#!/bin/sh -# $Header: /cvsroot/phpldapadmin/phpldapadmin/doc/test_encoding.sh,v 1.1 2005/02/06 00:37:15 wurley Exp $ -# $Id: test_encoding.sh,v 1.1 2005/02/06 00:37:15 wurley Exp $ -# Written by: Daniel van Eeden -# Purpose: test utf-8 encoding - -for file in `find . -type f ! -name \*png ! -name \*jpg | egrep -v "^./lang/"` -do - output=`iconv ${file} -o /dev/null 2>&1` - err=$? - output=`echo ${output} | cut -d: -f2` - if [ ${err} != "0" ]; then - echo "${file}:${output}" - fi -done diff --git a/htdocs/add_attr.php b/htdocs/add_attr.php index 65eda12..c8e9aa1 100644 --- a/htdocs/add_attr.php +++ b/htdocs/add_attr.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); + pla_error( _('You cannot perform updates while server is in read-only mode') ); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); $attr = $_POST['attr']; $val = isset( $_POST['val'] ) ? $_POST['val'] : false;; @@ -35,7 +34,7 @@ $encoded_dn = rawurlencode( $dn ); $encoded_attr = rawurlencode( $attr ); if( ! $is_binary_val && $val == "" ) { - pla_error( $lang['left_attr_blank'] ); + pla_error( _('You left the attribute value blank. Please go back and try again.') ); } // special case for binary attributes (like jpegPhoto and userCertificate): @@ -44,14 +43,14 @@ if( ! $is_binary_val && $val == "" ) { // of the attribute. // Check to see if this is a unique Attribute -if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, array($val) ) ) { +if ($badattr = $ldapserver->checkUniqueAttr($dn,$attr,array($val))) { $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$ldapserver->server_id,$attr,$badattr); - pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) ); + pla_error(sprintf( _('Your attempt to add %s (%s) to
%s
is NOT allowed. That attribute/value belongs to another entry.

You might like to search for that entry.'),$attr,$badattr,$dn,$search_href ) ); } if( $is_binary_val ) { if( 0 == $_FILES['val']['size'] ) - pla_error( $lang['file_empty'] ); + pla_error( _('The file you chose is either empty or does not exist. Please go back and try again.') ); if( ! is_uploaded_file( $_FILES['val']['tmp_name'] ) ) { @@ -59,32 +58,32 @@ if( $is_binary_val ) { switch($_FILES['val']['error']) { case 0: //no error; possible file attack! - pla_error( $lang['invalid_file'] ); + pla_error( _('Security error: The file being uploaded may be malicious.') ); break; case 1: //uploaded file exceeds the upload_max_filesize directive in php.ini - pla_error( $lang['uploaded_file_too_big'] ); + pla_error( _('The file you uploaded is too large. Please check php.ini, upload_max_size setting') ); break; case 2: //uploaded file exceeds the MAX_FILE_SIZE directive specified in the html form - pla_error( $lang['uploaded_file_too_big'] ); + pla_error( _('The file you uploaded is too large. Please check php.ini, upload_max_size setting') ); break; case 3: //uploaded file was only partially uploaded - pla_error( $lang['uploaded_file_partial'] ); + pla_error( _('The file you selected was only partially uploaded, likley due to a network error.') ); break; case 4: //no file was uploaded - pla_error( $lang['left_attr_blank'] ); + pla_error( _('You left the attribute value blank. Please go back and try again.') ); break; default: //a default error, just in case! :) - pla_error( $lang['invalid_file'] ); + pla_error( _('Security error: The file being uploaded may be malicious.') ); break; } else - pla_error( $lang['invalid_file'] ); + pla_error( _('Security error: The file being uploaded may be malicious.') ); } $file = $_FILES['val']['tmp_name']; @@ -118,14 +117,14 @@ elseif (strcasecmp($attr,'sambaLMPassword') == 0) { } $new_entry = array( $attr => $val ); -$result = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry ); +$result = $ldapserver->attrModify($dn,$new_entry); if ($result) - header(sprintf('Location: edit.php?server_id=%s&dn=%s&modified_attrs[]=%s', + header(sprintf('Location: template_engine.php?server_id=%s&dn=%s&modified_attrs[]=%s', $ldapserver->server_id,$encoded_dn,$encoded_attr)); else - pla_error( $lang['failed_to_add_attr'],$ldapserver->error(),$ldapserver->errno() ); + pla_error( _('Failed to add the attribute.'),$ldapserver->error(),$ldapserver->errno() ); /** * Check if we need to append the ;binary option to the name diff --git a/htdocs/add_attr_form.php b/htdocs/add_attr_form.php index 6569e81..a1fc5e2 100644 --- a/htdocs/add_attr_form.php +++ b/htdocs/add_attr_form.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); + pla_error( _('You cannot perform updates while server is in read-only mode') ); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); $dn = $_GET['dn']; $encoded_dn = rawurlencode( $dn ); @@ -31,12 +31,12 @@ include './header.php'; ?> -

-

: name; ?>     :

+

+

: name; ?>     :

-getDNAttrs($dn); -$oclasses = get_object_attr( $ldapserver, $dn, 'objectClass' ); +$oclasses = $ldapserver->getDNAttr($dn,'objectClass'); if( ! is_array( $oclasses ) ) $oclasses = array( $oclasses ); @@ -59,7 +59,7 @@ sort( $avail_attrs ); $avail_binary_attrs = array(); foreach( $avail_attrs as $i => $attr ) { - if( is_attr_binary( $ldapserver, $attr ) ) { + if ($ldapserver->isAttrBinary($attr)) { $avail_binary_attrs[] = $attr; unset( $avail_attrs[ $i ] ); } @@ -70,7 +70,7 @@ foreach( $avail_attrs as $i => $attr ) {
- 0 ) { ?> @@ -104,20 +104,20 @@ if( is_array( $avail_attrs ) && count( $avail_attrs ) > 0 ) { ?> - +

- () + ()

- 0 ) { ?> @@ -152,13 +152,13 @@ if( count( $avail_binary_attrs ) > 0 ) { ?> - + " . $lang['warning_file_uploads_disabled'] . "
"; + echo "
" . _('Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.') . "
"; else - echo "
" . sprintf( $lang['max_file_size'], ini_get( 'upload_max_filesize' ) ) . "
"; + echo "
" . sprintf( _('Maximum file size: %s'), ini_get( 'upload_max_filesize' ) ) . "
"; ?> @@ -167,7 +167,7 @@ if( count( $avail_binary_attrs ) > 0 ) { ?>

- () + () diff --git a/htdocs/add_oclass.php b/htdocs/add_oclass.php index 10a2fed..4069d81 100644 --- a/htdocs/add_oclass.php +++ b/htdocs/add_oclass.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); + pla_error( _('You cannot perform updates while server is in read-only mode') ); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); $dn = rawurldecode( $_POST['dn'] ); $new_oclass = unserialize( rawurldecode( $_POST['new_oclass'] ) ); @@ -32,7 +32,7 @@ $new_attrs = $_POST['new_attrs']; $encoded_dn = rawurlencode( $dn ); -if( is_attr_read_only( $ldapserver, 'objectClass' ) ) +if ($ldapserver->isAttrReadOnly('objectClass')) pla_error( "ObjectClasses are flagged as read only in the phpLDAPadmin configuration." ); $new_entry = array(); @@ -45,20 +45,20 @@ if( is_array( $new_attrs ) && count( $new_attrs ) > 0 ) foreach( $new_attrs as $attr => $val ) { // Check to see if this is a unique Attribute - if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, array($val) ) ) { + if ($badattr = $ldapserver->checkUniqueAttr($dn,$attr,array($val))) { $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s', $ldapserver->server_id,$attr,$badattr); - pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) ); + pla_error(sprintf( _('Your attempt to add %s (%s) to
%s
is NOT allowed. That attribute/value belongs to another entry.

You might like to search for that entry.'),$attr,$badattr,$dn,$search_href ) ); } $new_entry[ $attr ] = $val; } -$add_res = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry ); +$add_res = $ldapserver->attrModify($dn,$new_entry); if (! $add_res) - pla_error($lang['could_not_perform_ldap_mod_add'],$ldapserver->error(),$ldapserver->errno()); + pla_error(_('Could not perform ldap_mod_add operation.'),$ldapserver->error(),$ldapserver->errno()); else - header(sprintf('Location: edit.php?server_id=%s&dn=%s&modified_attrs[]=objectclass',$ldapserver->server_id,$encoded_dn)); + header(sprintf('Location: template_engine.php?server_id=%s&dn=%s&modified_attrs[]=objectclass',$ldapserver->server_id,$encoded_dn)); ?> diff --git a/htdocs/add_oclass_form.php b/htdocs/add_oclass_form.php index 72263c3..1a890eb 100644 --- a/htdocs/add_oclass_form.php +++ b/htdocs/add_oclass_form.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); + pla_error( _('You cannot perform updates while server is in read-only mode') ); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); -if (! isset($_POST['new_oclass'])) - pla_error( $lang['no_objectclasses_selected']); +if (! isset($_REQUEST['new_oclass'])) + pla_error( _('You did not select any ObjectClasses for this object. Please go back and do so.')); $new_oclass = $_REQUEST['new_oclass']; $dn = rawurldecode( $_REQUEST['dn'] ); @@ -38,7 +38,7 @@ $encoded_dn = rawurlencode( $dn ); * If it hasn't, present a form to have the user enter values for all the * newly required attrs. */ -$entry = get_object_attrs( $ldapserver, $dn, true ); +$entry = $ldapserver->getDNAttrs($dn,true); $current_attrs = array(); foreach( $entry as $attr => $junk ) @@ -85,15 +85,15 @@ if( count( $needed_attrs ) > 0 ) { include './header.php'; ?> -

-

+

+

- + @@ -106,7 +106,7 @@ if( count( $needed_attrs ) > 0 ) { - + $attr ) { ?> @@ -117,7 +117,7 @@ if( count( $needed_attrs ) > 0 ) {


-
+
@@ -125,12 +125,12 @@ if( count( $needed_attrs ) > 0 ) { connect(), $dn, array( 'objectClass' => $new_oclass ) ); + $add_res = $ldapserver->attrModify($dn,array('objectClass'=>$new_oclass)); if (! $add_res) pla_error("Could not perform ldap_mod_add operation.", $ldapserver->error(),$ldapserver->errno()); else - header(sprintf('Location: edit.php?server_id=%s&dn=%s&modified_attrs[]=objectClass', + header(sprintf('Location: template_engine.php?server_id=%s&dn=%s&modified_attrs[]=objectClass', $ldapserver->server_id,$encoded_dn)); } diff --git a/htdocs/add_value.php b/htdocs/add_value.php index d362015..a01b58c 100644 --- a/htdocs/add_value.php +++ b/htdocs/add_value.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); + pla_error( _('You cannot perform updates while server is in read-only mode') ); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); $attr = $_POST['attr']; $new_value = $_POST['new_value']; @@ -34,8 +34,8 @@ $is_binary_val = isset( $_POST['binary'] ) ? true : false; $encoded_dn = rawurlencode( $dn ); $encoded_attr = rawurlencode( $attr ); -if( is_attr_read_only( $ldapserver, $attr ) ) - pla_error(sprintf($lang['attr_is_read_only'],htmlspecialchars( $attr ))); +if ($ldapserver->isAttrReadOnly($attr)) + pla_error(sprintf(_('The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'),htmlspecialchars( $attr ))); // special case for binary attributes: // we must go read the data from the file. @@ -52,9 +52,9 @@ if( $is_binary_val ) { $new_entry = array( $attr => $new_value ); // Check to see if this is a unique Attribute -if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, $new_entry ) ) { +if ($badattr = $ldapserver->checkUniqueAttr($dn,$attr,$new_entry)) { $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$ldapserver->server_id,$attr,$badattr); - pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$dn,$search_href ) ); + pla_error(sprintf( _('Your attempt to add %s (%s) to
%s
is NOT allowed. That attribute/value belongs to another entry.

You might like to search for that entry.'),$attr,$badattr,$dn,$search_href ) ); } // Call the custom callback for each attribute modification @@ -62,13 +62,13 @@ if( $badattr = checkUniqueAttr( $ldapserver, $dn, $attr, $new_entry ) ) { if( run_hook ( 'pre_attr_add', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn, 'attr_name' => $attr, 'new_value' => $new_entry ) ) ) { - $add_result = @ldap_mod_add( $ldapserver->connect(), $dn, $new_entry ); + $add_result = $ldapserver->attrModify($dn,$new_entry); if (! $add_result) - pla_error($lang['could_not_perform_ldap_mod_add'], + pla_error(_('Could not perform ldap_mod_add operation.'), $ldapserver->error(),$ldapserver->errno()); } -header(sprintf('Location: edit.php?server_id=%s&dn=%s&modified_attrs[]=%s', +header(sprintf('Location: template_engine.php?server_id=%s&dn=%s&modified_attrs[]=%s', $ldapserver->server_id,$encoded_dn,$encoded_attr)); ?> diff --git a/htdocs/add_value_form.php b/htdocs/add_value_form.php index 0c93dcf..725796b 100644 --- a/htdocs/add_value_form.php +++ b/htdocs/add_value_form.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); -if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); +if ($ldapserver->isReadOnly()) + pla_error(_('You cannot perform updates while server is in read-only mode')); +if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); $attr = $_GET['attr']; -$dn = isset( $_GET['dn'] ) ? $_GET['dn'] : null; -$encoded_dn = rawurlencode( $dn ); -$encoded_attr = rawurlencode( $attr ); +$dn = isset($_GET['dn']) ? $_GET['dn'] : null; +$encoded_dn = rawurlencode($dn); +$encoded_attr = rawurlencode($attr); if (! is_null($dn)) - $rdn = get_rdn( $dn ); - + $rdn = get_rdn($dn); else $rdn = null; -$current_values = get_object_attr( $ldapserver, $dn, $attr ); -$num_current_values = ( is_array($current_values) ? count($current_values) : 0 ); -$is_object_class = ( 0 == strcasecmp( $attr, 'objectClass' ) ) ? true : false; -$is_jpeg_photo = is_jpeg_photo( $ldapserver, $attr ); //( 0 == strcasecmp( $attr, 'jpegPhoto' ) ) ? true : false; +$current_values = $ldapserver->getDNAttr($dn,$attr); +if ($current_values) + $num_current_values = (is_array($current_values) ? count($current_values) : 1); +else + $num_current_values = 0; -if( $is_object_class ) { - // fetch all available objectClasses and remove those from the list that are already defined in the entry +$is_object_class = (strcasecmp($attr, 'objectClass') == 0) ? true : false; + +if ($is_object_class) { + # fetch all available objectClasses and remove those from the list that are already defined in the entry $schema_oclasses = $ldapserver->SchemaObjectClasses(); - foreach( $current_values as $oclass ) - unset( $schema_oclasses[ strtolower( $oclass ) ] ); + foreach($current_values as $oclass) + unset($schema_oclasses[strtolower($oclass)]); } else { $schema_attr = $ldapserver->getSchemaAttribute($attr); } -include './header.php'; ?> +include './header.php'; - +echo ''; +printf('

%s %s %s %s

', + _('Add new'),htmlspecialchars($attr),_('value to'),htmlspecialchars($rdn)); +printf('

%s %s     %s: %s

', + _('Server'),$ldapserver->name,_('Distinguished Name'),htmlspecialchars($dn)); -

- - - -

+printf('%s %s %s %s:', + _('Current list of'),$num_current_values,_('values for attribute'),htmlspecialchars($attr)); -

- : - name; ?>     - :

+if ($num_current_values) { + if ($ldapserver->isJpegPhoto($attr)) { - - : + echo '
'; + draw_jpeg_photos($ldapserver, $dn, $attr, false); + echo '
'; - - + # + printf('

%s

', + _('Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.')); + # -
- -
+ } elseif ($ldapserver->isAttrBinary($attr)) { + echo '
    '; - -

    - -

    - + if (is_array($vals)) { + for ($i=1; $i<=count($vals); $i++) { + $href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s&value_num=%s', + $ldapserver->server_id,$encoded_dn,$attr,$i-1); - -
      + printf('
    • %s (%s)
    • ', + $href,_('download value'),$i); + } - server_id,$encoded_dn,$attr); + printf('
    • %s
    • ', + $href,_('download value')); + } - for( $i=1; $i<=count($vals); $i++ ) { - - $href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s&value_num=%s', - $ldapserver->server_id,$encoded_dn,$attr,$i-1); ?> - -
    • )
    • - '; + # + printf('

      %s

      ', + _('Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.')); + # } else { - $href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s',$ldapserver->server_id,$encoded_dn,$attr); ?> -
    • - + echo '
        '; -
      - -

      - -

      - + if (is_array($current_values)) { + if (strcasecmp($attr,'userPassword') == 0) { + foreach ($current_values as $key => $value) { + if (obfuscate_password_display(get_enc_type($value))) + echo '
    • '.preg_replace('/./','*',$value).'
    • '; + else + echo '
    • '.htmlspecialchars($value).'
    • '; + } - + } else { + foreach ($current_values as $val) + printf('
    • %s
    • ',htmlspecialchars($val)); + } -
        + } else { + printf('
      • %s
      • ',htmlspecialchars($current_values)); + } - 1 )*/ { + echo '
      '; + } +} else { + echo '

      '; +} - foreach( $current_values as $val ) { ?> -
    • - +echo _('Enter the value you would like to add:'); +echo '

      '; - -
    • - +if ($is_object_class) { + echo '
      '; + printf('',$ldapserver->server_id); + printf('',$encoded_dn); -
    + echo ''; - -
    -
    + echo '
    '; + printf('',_('Add new ObjectClass')); + echo '
    '; - + if ($config->GetValue('appearance','show_hints')) + printf('
    %s
    ', + _('Note: You may be required to enter new attributes that these objectClass(es) require')); - - - - ',$ldapserver->server_id); + printf('',$encoded_dn); + printf('',$encoded_attr); - + if ($ldapserver->isAttrBinary($attr)) { + echo ''; + echo ''; - + } else { + if ($ldapserver->isMultiLineAttr($attr)) { + echo ''; + } else { + printf('', + ($schema_attr->getMaxLength() ? sprintf(' maxlength="%s"',$schema_attr->getMaxLength()) : '')); - -
    - + # draw the "browse" button next to this input box if this attr houses DNs: + if ($ldapserver->isDNAttr($attr)) + draw_chooser_link("new_value_form.new_value", false); + } + } -
    - GetValue('appearance','show_hints')) { ?> - -
    - -
    - ',_('Add New Value')); + echo '
    '; -} else { ?> + if ($schema_attr->getDescription()) + printf('%s: %s
    ',_('Description'),$schema_attr->getDescription()); - > + if ($schema_attr->getType()) + printf('%s: %s
    ',_('Syntax'),$schema_attr->getType()); - - - + if ($schema_attr->getMaxLength()) + printf('%s: %s %s
    ', + _('Maximum Length'),number_format($schema_attr->getMaxLength()),_('characters')); - - - - - server_id ) ) { ?> - - - - - getMaxLength() ) echo "maxlength=\"" . $schema_attr->getMaxLength() . "\" "; ?>name="new_value" size="40" value="" /> - - - - - - -
    - - getDescription() ) { ?> - : getDescription(); ?>
    - - - getType() ) { ?> - : getType(); ?>
    - - - getMaxLength() ) { ?> - : getMaxLength() ); ?>
    - - - - - - - - + echo ''; +} +echo ''; +?> diff --git a/htdocs/collapse.php b/htdocs/collapse.php index 7fbb856..9a76d4d 100644 --- a/htdocs/collapse.php +++ b/htdocs/collapse.php @@ -1,5 +1,5 @@ server_id])) - unset($_SESSION['tree'][$ldapserver->server_id][$dn]); +$tree = get_cached_item($ldapserver->server_id,'tree'); +$tree['browser'][$dn]['open'] = false; +set_cached_item($ldapserver->server_id,'tree','null',$tree); /* This is for Opera. By putting "random junk" in the query string, it thinks that it does not have a cached version of the page, and will thus fetch the page rather than display the cached version */ $time = gettimeofday(); -$random_junk = md5(strtotime('now') . $time['usec']); +$random_junk = md5(strtotime('now').$time['usec']); /* If cookies were disabled, build the url parameter for the session id. It will be append to the url to be redirect */ -$id_session_param = ""; -if (SID != "") - $id_session_param = "&".session_name()."=".session_id(); +$id_session_param = ''; +if (SID != '') + $id_session_param = sprintf('&%s=%s',session_name(),session_id()); -header(sprintf('Location:tree.php?foo=%s#%s_%s%s',$random_junk,$ldapserver->server_id,$encoded_dn,$id_session_param)); +header(sprintf('Location:tree.php?foo=%s#%s_%s%s',$random_junk,$ldapserver->server_id,rawurlencode($dn),$id_session_param)); ?> diff --git a/htdocs/compare.php b/htdocs/compare.php index e2b72b9..ff3e9bd 100644 --- a/htdocs/compare.php +++ b/htdocs/compare.php @@ -1,11 +1,12 @@ Instance($server_id_src); -if ( ! $ldapserver_src->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); +if (! $ldapserver_src->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); $ldapserver_dst = $ldapservers->Instance($server_id_dst); -if ( ! $ldapserver_src->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); +if (! $ldapserver_src->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); -dn_exists($ldapserver_src,$dn_src) or pla_error(sprintf($lang['no_such_entry'],pretty_print_dn($dn_src))); -dn_exists($ldapserver_dst,$dn_dst) or pla_error(sprintf($lang['no_such_entry'],pretty_print_dn($dn_dst))); +if (! $ldapserver_src->dnExists($dn_src)) + pla_error(sprintf(_('No such entry: %s'),pretty_print_dn($dn_src))); +if (! $ldapserver_dst->dnExists($dn_dst)) + pla_error(sprintf(_('No such entry: %s'),pretty_print_dn($dn_dst))); $friendly_attrs = process_friendly_attr_table(); -$attrs_src = get_object_attrs($ldapserver_src,$dn_src,false,$config->GetValue('deref','view')); -$attrs_dst = get_object_attrs($ldapserver_dst,$dn_dst,false,$config->GetValue('deref','view')); +$attrs_src = $ldapserver_src->getDNAttrs($dn_src,false,$config->GetValue('deref','view')); +$attrs_dst = $ldapserver_dst->getDNAttrs($dn_dst,false,$config->GetValue('deref','view')); # Get a list of all attributes. $attrs_all = array_keys($attrs_src); @@ -48,18 +51,18 @@ include './header.php'; @@ -67,16 +70,16 @@ include './header.php'; - - - + + + ',$lang['no_attributes']); +if (! $attrs_all || ! is_array($attrs_all)) { + printf('',_('This entry has no attributes')); print '
    -

    +

    -


     

    +


     

    -

    : name; ?>
    :

    +

    : name; ?>
    :

    -

    : name; ?>
    :

    +

    : name; ?>
    :

    (%s)
    (%s)
    '; print ''; die(); @@ -93,7 +96,7 @@ foreach ($attrs_all as $attr) { continue; # Has the config.php specified that this attribute is to be hidden or shown? - if (is_attr_hidden($ldapserver_src,$attr) || is_attr_hidden($ldapserver_dst,$attr)) + if ($ldapserver_src->isAttrHidden($attr) || $ldapserver_dst->isAttrHidden($attr)) continue; ?> @@ -121,7 +124,7 @@ foreach ($attrs_all as $attr) { # is there a user-friendly translation available for this attribute? if (isset($friendly_attrs[strtolower($attr)])) { $attr_display = $friendly_attrs[strtolower($attr)]; - $attr_note = sprintf('alias',sprintf($lang['alias_for'],$attr_display,$attr)); + $attr_note = sprintf('alias',sprintf(_('Note: \'%s\' is an alias for \'%s\''),$attr_display,$attr)); } else { $attr_note = ''; @@ -139,7 +142,7 @@ foreach ($attrs_all as $attr) { $required_by .= $required . ' '; # It seems that some LDAP servers (Domino) returns attributes in lower case? - elseif( isset($attrs_src['objectclass']) && in_array(strtolower($required),arrayLower($attrs_src['objectclass']))) + elseif (isset($attrs_src['objectclass']) && in_array(strtolower($required),arrayLower($attrs_src['objectclass']))) $required_by .= $required . ' '; break; @@ -160,7 +163,7 @@ foreach ($attrs_all as $attr) { if ($side == 'src') { ?> - + @@ -169,7 +172,7 @@ foreach ($attrs_all as $attr) { %s',sprintf($lang['required_for'],$required_by),$lang['required']); + $required_note .= sprintf('%s',sprintf(_('Required attribute for objectClass(es) %s'),$required_by),_('required')); ?> @@ -178,8 +181,8 @@ foreach ($attrs_all as $attr) {   - - () + isAttrReadOnly($attr)) { ?> + () @@ -204,7 +207,7 @@ foreach ($attrs_all as $attr) { print ' '; if (! isset($attrs_src[$attr])) { - echo "<". $lang['no_value'].">"; + echo "<". _('No Value').">"; $toJump = 1; continue; } else @@ -217,7 +220,7 @@ foreach ($attrs_all as $attr) { print ' '; if (! isset($attrs_dst[$attr])) { - echo "<". $lang['no_value'].">"; + echo "<". _('No Value').">"; $toJump = 1; continue; } else @@ -228,24 +231,26 @@ foreach ($attrs_all as $attr) { } if ($toJump) continue; + if (! is_array($vals)) + $vals = array($vals); /* * Is this attribute a jpegPhoto? */ - if (is_jpeg_photo($ldapserver,$attr)) { + if ($ldapserver->isJpegPhoto($attr)) { switch ($side) { case 'src': // Don't draw the delete buttons if there is more than one jpegPhoto // (phpLDAPadmin can't handle this case yet) - draw_jpeg_photos( $ldapserver, $dn_src, $attr, false ); + draw_jpeg_photos($ldapserver,$dn_src,$attr,false); break; case 'dst': - if( $ldapserver_dst->isReadOnly() || is_attr_read_only( $ldapserver_dst, $attr ) ) - draw_jpeg_photos( $ldapserver, $dn_dst, $attr, false ); + if ($ldapserver_dst->isReadOnly() || $ldapserver_dst->isAttrReadOnly($attr)) + draw_jpeg_photos($ldapserver,$dn_dst,$attr,false); else - draw_jpeg_photos( $ldapserver, $dn_dst, $attr, true ); + draw_jpeg_photos($ldapserver,$dn_dst,$attr,true); break; } @@ -258,7 +263,7 @@ foreach ($attrs_all as $attr) { /* * Is this attribute binary? */ - if( is_attr_binary( $ldapserver, $attr ) ) { + if ($ldapserver->isAttrBinary($attr)) { switch ($side) { case 'src': $href = sprintf("download_binary_attr.php?server_id=%s&dn=%s&attr=%s",$ldapserver->server_id,$encoded_dn_src,$attr); @@ -272,20 +277,20 @@ foreach ($attrs_all as $attr) { -
    +
    - 1 ) { for( $i=1; $i<=count($vals); $i++ ) { ?> + 1) { for($i=1; $i<=count($vals); $i++) { ?> "> ()
    + src="images/save.png" /> ()
    -
    +
    isReadOnly() && ! is_attr_read_only( $ldapserver, $attr ) ) { ?> + if ($side == 'dst' && ! $ldapserver_dst->isReadOnly() && ! $ldapserver->isAttrReadOnly($attr)) { ?> - + @@ -304,22 +309,23 @@ foreach ($attrs_all as $attr) { * simply draw the attribute values and continue. */ - if( $side == 'dst' && ($ldapserver->isReadOnly() || is_attr_read_only( $ldapserver, $attr )) ) { - if( is_array( $vals ) ) { - foreach( $vals as $i => $val ) { - if( trim( $val ) == "" ) - echo "[" . $lang['empty'] . "]
    \n"; + if ($side == 'dst' && ($ldapserver->isReadOnly() || $ldapserver->isAttrReadOnly($attr))) { + if (is_array($vals)) { + foreach ($vals as $i => $val) { + if (trim($val) == "") + echo "[" . _('empty') . "]
    \n"; - elseif( 0 == strcasecmp( $attr, 'userPassword' ) && $config->GetValue('appearance','obfuscate_password_display')) - echo preg_replace( '/./', '*', $val ) . "
    "; + elseif (0 == strcasecmp($attr,'userPassword') && $config->GetValue('appearance','obfuscate_password_display')) + echo preg_replace('/./','*',$val) . "
    "; else - echo htmlspecialchars( $val ) . "
    "; + echo htmlspecialchars($val) . "
    "; } + // @todo: redundant - $vals is always an array. } else { - if( 0 == strcasecmp( $attr, 'userPassword' ) && $config->GetValue('appearance','obfuscate_password_display')) - echo preg_replace( '/./', '*', $vals ) . "
    "; + if (0 == strcasecmp($attr,'userPassword') && $config->GetValue('appearance','obfuscate_password_display')) + echo preg_replace('/./','*',$vals) . "
    "; else echo $vals . "
    "; } @@ -330,13 +336,13 @@ foreach ($attrs_all as $attr) { /* * Is this a userPassword attribute? */ - if( ! strcasecmp( $attr, 'userpassword' ) ) { + if (! strcasecmp($attr,'userpassword')) { $user_password = $vals[0]; - $enc_type = get_enc_type( $user_password ); + $enc_type = get_enc_type($user_password); // Set the default hashing type if the password is blank (must be newly created) - if( $user_password == '' ) { - $enc_type = get_default_hash( $server_id ); + if ($user_password == '') { + $enc_type = get_default_hash($server_id); } if ($side == 'dst') { ?> @@ -348,17 +354,17 @@ foreach ($attrs_all as $attr) {
    - + &base64=true'; - if( mywindow.opener == null ) + if (mywindow.opener == null) mywindow.opener = self; } --> - + @@ -388,17 +394,17 @@ foreach ($attrs_all as $attr) { /* * Is this a boolean attribute? */ - if( is_attr_boolean( $ldapserver, $attr) ) { + if ($ldapserver->isAttrBoolean($attr)) { $val = $vals[0]; if ($side = 'dst') {?> - + - + + + @@ -412,28 +418,28 @@ foreach ($attrs_all as $attr) { * End of special case attributes (non plain text). */ - foreach( $vals as $i => $val ) { + foreach ($vals as $i => $val) { if ($side == 'dst') { - $input_name = "new_values[" . htmlspecialchars( $attr ) . "][$i]"; + $input_name = "new_values[" . htmlspecialchars($attr) . "][$i]"; // We smack an id="..." tag in here that doesn't have [][] in it to allow the // draw_chooser_link() to identify it after the user clicks. $input_id = "new_values_" . htmlspecialchars($attr) . "_" . $i; ?> - + + if (0 == strcasecmp($attr,'objectClass')) { ?> - + getSchemaObjectClass($val); if ($schema_object->getType() == 'structural') { - echo "$val (" . $lang['structural'] . ")
    "; + echo "$val (" . _('structural') . ")
    "; if ($side == 'dst') {?> @@ -444,21 +450,21 @@ foreach ($attrs_all as $attr) { } } - if( is_dn_string( $val ) || is_dn_attr( $ldapserver, $attr ) ) { ?> + if (is_dn_string($val) || $ldapserver->isDNAttr($attr)) { ?> - + - + - + server_id ) ) { + if ($ldapserver->isMultiLineAttr($attr,$val)) { if ($side == 'dst') {?> @@ -480,8 +486,8 @@ foreach ($attrs_all as $attr) { // draw a link for popping up the entry browser if this is the type of attribute // that houses DNs. - if( is_dn_attr( $ldapserver, $attr ) ) - draw_chooser_link( "edit_form.$input_id", false ); ?> + if ($ldapserver->isDNAttr($attr)) + draw_chooser_link("edit_form.$input_id",false); ?>
    @@ -516,23 +522,26 @@ foreach ($attrs_all as $attr) { if (! $isOK) { if (count($src_oclass) == 1) { - $add_href = "add_oclass_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&new_oclass=$src_oclass[0]"; + $add_href = sprintf('add_oclass_form.php?server_id=%s&dn=%s&new_oclass=%s', + $ldapserver_dst->server_id,$encoded_dn_dst,$src_oclass[0]); } else { - $add_href = "add_value_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&attr=objectClass"; + $add_href = sprintf('add_value_form.php?server_id=%s&dn=%s&attr=objectClass', + $ldapserver_dst->server_id,$encoded_dn_dst); } if ($attr == 'objectClass') - printf('
    (%s)
    ',$add_href,$lang['add_oclass_and_attrs'],$lang['add_value']); + printf('
    (%s)
    ',$add_href,_('Add ObjectClass and Attributes'),_('add value')); else - printf('
    (%s)
    ',$add_href,sprintf($lang['need_oclass'], implode(" ",$src_oclass)),$lang['add_new_objectclass']); + printf('
    (%s)
    ',$add_href,sprintf(_('You need one of the following ObjectClass(es) to add this attribute %s.'),implode(" ",$src_oclass)),_('Add new ObjectClass')); } else { - if(! $schema_attr_dst->getIsSingleValue() || (! isset($vals))) { + if (! $schema_attr_dst->getIsSingleValue() || (! isset($vals))) { - $add_href = "add_value_form.php?server_id=$ldapserver_dst->server_id&dn=$encoded_dn_dst&attr=" . rawurlencode( $attr ); + $add_href = sprintf('add_value_form.php?server_id=%s&dn=%s&attr=%s', + $ldapserver_dst->server_id,$encoded_dn_dst,rawurlencode($attr)); printf('
    (%s)
    ', - $add_href,sprintf($lang['add_value_tooltip'],$attr),$lang['add_value']); + $add_href,sprintf(_('Add an additional value to attribute \'%s\''),$attr),_('add value')); } } } @@ -545,22 +554,22 @@ foreach ($attrs_all as $attr) { - $vals ) */ + $vals) */ -if( ! $ldapserver_dst->isReadOnly( ) ) { ?> +if (! $ldapserver_dst->isReadOnly()) { ?> -  
    +  
    - + '; + echo ''; - if (isset($tree[$server_id_dst][$container])) { - $tree[$server_id_dst][$container][] = $dn_dst; - sort($tree[$server_id_dst][$container]); - $tree_icons[$server_id_dst][$dn_dst] = get_icon($ldapserver_dst,$dn_dst); - - $_SESSION['tree'] = $tree; - $_SESSION['tree_icons'] = $tree_icons; - session_write_close(); - } - } -?> - -
    - %s',$lang['copy_successful_like_to'],$edit_url,$lang['copy_view_new_entry']) ?> -
    - - - - - - - - - - '; + printf('',$delete_url); + } } -function r_copy_dn($ldapserver_src,$ldapserver_dst,$tree,$root_dn,$dn_dst) { +function r_copy_dn($ldapserver_src,$ldapserver_dst,$snapshottree,$root_dn,$dn_dst) { if (DEBUG_ENABLED) - debug_log('r_copy_dn: Entered with (%s,%s,%s,%s,%s)',2, - $ldapserver_src->server_id,$ldapserver_dst->server_id,serialize($tree),$root_dn,$dn_dst); + debug_log('r_copy_dn: Entered with (%s,%s,%s,%s,%s)',1, + $ldapserver_src->server_id,$ldapserver_dst->server_id,$snapshottree,$root_dn,$dn_dst); - global $lang; - - printf('%s %s...',$lang['copy_copying'],htmlspecialchars($root_dn)); + printf('%s %s...',_('Copying '),htmlspecialchars($root_dn)); flush(); $copy_result = copy_dn($ldapserver_src,$ldapserver_dst,$root_dn,$dn_dst); @@ -142,15 +107,15 @@ function r_copy_dn($ldapserver_src,$ldapserver_dst,$tree,$root_dn,$dn_dst) { if (! $copy_result) return false; - printf('%s
    ',$lang['success']); + printf('%s
    ',_('Success')); flush(); - $children = isset($tree[$root_dn]) ? $tree[$root_dn] : null; + $children = isset($snapshottree[$root_dn]) ? $snapshottree[$root_dn] : null; if (is_array($children) && count($children) > 0) { foreach($children as $child_dn) { $child_rdn = get_rdn($child_dn); $new_dest_dn = sprintf('%s,%s',$child_rdn,$dn_dst); - r_copy_dn($ldapserver_src,$ldapserver_dst,$tree,$child_dn,$new_dest_dn); + r_copy_dn($ldapserver_src,$ldapserver_dst,$snapshottree,$child_dn,$new_dest_dn); } } else { @@ -162,12 +127,10 @@ function r_copy_dn($ldapserver_src,$ldapserver_dst,$tree,$root_dn,$dn_dst) { function copy_dn($ldapserver_src,$ldapserver_dst,$dn_src,$dn_dst) { if (DEBUG_ENABLED) - debug_log('copy_dn: Entered with (%s,%s,%s,%s)',2, + debug_log('copy_dn: Entered with (%s,%s,%s,%s)',17, $ldapserver_src->server_id,$ldapserver_dst->server_id,$dn_src,$dn_dst); - global $lang; - - $new_entry = get_object_attrs($ldapserver_src,$dn_src); + $new_entry = $ldapserver_src->getDNAttrs($dn_src); # modify the prefix-value (ie "bob" in cn=bob) to match the destination DN's value. $rdn_attr = substr($dn_dst,0,strpos($dn_dst,'=')); @@ -179,16 +142,16 @@ function copy_dn($ldapserver_src,$ldapserver_dst,$dn_src,$dn_dst) { unset($new_entry['dn']); # Check the user-defined custom call back first - if (true === run_hook('pre_entry_create', + if (run_hook('pre_entry_create', array ('server_id'=>$ldapserver_dst->server_id,'dn'=>$dn_dst,'attrs'=>$new_entry))) { - $add_result = @ldap_add($ldapserver_dst->connect(),$dn_dst,$new_entry); + $add_result = $ldapserver_dst->add($dn_dst,$new_entry); if (! $add_result) { - run_hook('post_entry_create',array('server_id'=>$ldapserver_dst->server_id, - 'dn'=>$dn_dst,'attrs'=>$new_entry)); + run_hook('post_entry_create', + array('server_id'=>$ldapserver_dst->server_id,'dn'=>$dn_dst,'attrs'=>$new_entry)); - print '


    '; - pla_error($lang['copy_failed'] . $dn_dst,$ldapserver_dst->error(),$ldapserver_dst->errno()); + echo '

    '; + pla_error(_('Failed to copy DN: ').$dn_dst,$ldapserver_dst->error(),$ldapserver_dst->errno()); } return $add_result; @@ -204,19 +167,22 @@ function copy_dn($ldapserver_src,$ldapserver_dst,$dn_src,$dn_dst) { * @param array $tree * @param string $filter */ -function build_tree($ldapserver,$dn,$tree,$filter='(objectClass=*)') { - $children = get_container_contents($ldapserver,$dn,0,$filter); +function build_tree($ldapserver,$dn,$buildtree) { + if (DEBUG_ENABLED) + debug_log('build_tree: Entered with (%s,%s,%s)',1, + $ldapserver->server_id,$dn,$buildtree); + + $children = $ldapserver->getContainerContents($dn,0); if (is_array($children) && count($children) > 0) { - $tree[$dn] = $children; + $buildtree[$dn] = $children; foreach ($children as $child_dn) - $tree = build_tree($ldapserver,$child_dn,$tree,$filter); + $buildtree = build_tree($ldapserver,$child_dn,$buildtree); } if (DEBUG_ENABLED) - debug_log('build_tree: Entered with (%s,%s,%s,%s), Returning (%s)',1, - $ldapserver->server_id,$dn,serialize($tree),$filter,serialize($tree)); + debug_log('build_tree: Returning (%s)',1,$buildtree); - return $tree; + return $buildtree; } ?> diff --git a/htdocs/copy_form.php b/htdocs/copy_form.php index 84c2ad7..9fc6941 100644 --- a/htdocs/copy_form.php +++ b/htdocs/copy_form.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_GET['dn'] ; - -$encoded_dn = rawurlencode( $dn ); -$rdn = get_rdn( $dn ); -$container = get_container( $dn ); - -$attrs = get_object_attrs( $ldapserver, $dn ); +$rdn = get_rdn($dn); +$attrs = $ldapserver->getDNAttrs($dn); $select_server_html = server_select_list($ldapserver->server_id,true,'dest_server_id'); -$children = get_container_contents( $ldapserver, $dn ); +$children = $ldapserver->getContainerContents($dn); include './header.php'; -// Draw some javaScrpt to enable/disable the filter field if this may be a recursive copy -if( is_array( $children ) && count( $children ) > 0 ) { ?> +# Draw some javaScrpt to enable/disable the filter field if this may be a recursive copy +if (is_array($children) && count($children) > 0) { ?> - - + +echo ''; -

    -

    : name; ?>     :

    +printf('

    %s %s

    ',_('Copy '),$rdn); +printf('

    %s: %s     %s: %s

    ',_('Server'),$ldapserver->name,_('Distinguished Name'),$dn); -
    - :
    -
    +echo '
    '; +printf('%s %s %s:

    ',_('Copy '),htmlspecialchars($rdn),_('to a new object')); -
    - - +echo ''; +printf('',$dn); +printf('',$ldapserver->server_id); - - - - - - +echo '
    : - -
    '; +echo ''; +printf('',_('The full DN of the new entry to be created when copying the source entry'),_('Destination DN')); +printf(''; - - - - +printf('',_('Destination Server'),$select_server_html); - 0 ) { ?> - - - - - - - - - - - - - - - - - - - -
    %s:',htmlspecialchars($dn)); +draw_chooser_link('copy_form.new_dn','true',$rdn); +echo '
    :
    %s%s
    : - ()
    : -
    - () -
    -
    +if (is_array($children) && count($children) > 0) { + echo ''; + printf(':',_('Recursive copy')); + echo ''; + printf('(%s)',_('Recursively copy all children of this object as well.')); + echo ''; + printf('%s:',_('When performing a recursive copy, only copy those entries which match this filter'),_('Filter')); + echo ''; + echo ''; + printf('%s',_('Delete after copy (move):')); + echo ''; + printf('(%s)',_('Make sure your filter (above) will select all child records.')); + echo ''; - +} else { + printf('%s',_('Delete after copy (move):')); +} -GetValue('appearance','show_hints')) {?> - - +printf('',_('Copy ')); +echo ''; -
    - - +echo ''; + +if ($config->GetValue('appearance','show_hints')) + printf('%s',_('Hint: Copying between different servers only works if there are no schema violations')); + +echo '
    '; +?> diff --git a/htdocs/create.php b/htdocs/create.php index 5e14f8f..7d1f015 100644 --- a/htdocs/create.php +++ b/htdocs/create.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); -$new_dn = isset( $_POST['new_dn'] ) ? $_POST['new_dn'] : null; -$required_attrs = isset( $_POST['required_attrs'] ) ? $_POST['required_attrs'] : false; -$object_classes = unserialize( rawurldecode( $_POST['object_classes'] ) ); -$redirect = isset( $_POST['redirect'] ) ? $_POST['redirect'] : false; +$new_dn = isset($_POST['new_dn']) ? $_POST['new_dn'] : null; +$required_attrs = isset($_POST['required_attrs']) ? $_POST['required_attrs'] : false; +$object_classes = unserialize(rawurldecode($_POST['object_classes'])); +$redirect = isset($_POST['redirect']) ? $_POST['redirect'] : false; -$encoded_dn = rawurlencode( $new_dn ); -$container = get_container( $new_dn ); - -// See if there are any presubmit values to work out. +# See if there are any presubmit values to work out. if (isset($_POST['presubmit']) && count($_POST['presubmit']) && isset($_POST['template'])) { $templates = new Templates($ldapserver->server_id); $template = $templates->GetTemplate($_POST['template']); @@ -56,32 +53,34 @@ if (isset($_POST['presubmit']) && count($_POST['presubmit']) && isset($_POST['te } } -$vals = isset( $_POST['vals'] ) ? $_POST['vals'] : array(); -$attrs = isset( $_POST['attrs'] ) ? $_POST['attrs'] : array(); +$vals = isset($_POST['vals']) ? $_POST['vals'] : array(); +$attrs = isset($_POST['attrs']) ? $_POST['attrs'] : array(); -// build the new entry +# build the new entry $new_entry = array(); -if( isset( $required_attrs ) && is_array( $required_attrs ) ) { - foreach( $required_attrs as $attr => $val ) { - if( $val == '' ) - pla_error( sprintf( $lang['create_required_attribute'], htmlspecialchars( $attr ) ) ); - $new_entry[ $attr ][] = $val; +if (isset($required_attrs) && is_array($required_attrs)) { + foreach ($required_attrs as $attr => $val) { + if ($val == '') + pla_error(sprintf(_('You left the value blank for required attribute (%s).'),htmlspecialchars($attr))); + + $new_entry[$attr][] = $val; } } -if( isset( $attrs ) && is_array( $attrs ) ) { - foreach( $attrs as $i => $attr ) { - if( is_attr_binary( $ldapserver, $attr ) ) { - if( isset( $_FILES['vals']['name'][$i] ) && $_FILES['vals']['name'][$i] != '' ) { +if (isset($attrs) && is_array($attrs)) { + foreach ($attrs as $i => $attr) { - // read in the data from the file + if ($ldapserver->isAttrBinary($attr)) { + if (isset($_FILES['vals']['name'][$i]) && $_FILES['vals']['name'][$i] != '' ) { + + # read in the data from the file $file = $_FILES['vals']['tmp_name'][$i]; - $f = fopen( $file, 'r' ); - $binary_data = fread( $f, filesize( $file ) ); - fclose( $f ); + $f = fopen($file,'r'); + $binary_data = fread($f,filesize($file)); + fclose($f); $val = $binary_data; - $new_entry[ $attr ][] = $val; + $new_entry[$attr][] = $val; } } else { @@ -89,102 +88,69 @@ if( isset( $attrs ) && is_array( $attrs ) ) { # If the array has blank entries, then ignore them. foreach ($vals[$i] as $value) { -# $new_entry[$attr] = $vals[$i]; if (trim($value)) $new_entry[$attr][] = $value; } - } else { - $val = isset( $vals[$i] ) ? $vals[$i] : ''; - if( '' !== trim($val) ) - $new_entry[ $attr ][] = $val; + } else { + $val = isset($vals[$i]) ? $vals[$i] : ''; + + if ('' !== trim($val)) + $new_entry[$attr][] = $val; } } } } $new_entry['objectClass'] = $object_classes; -if( ! in_array( 'top', $new_entry['objectClass'] ) ) +if (! in_array('top',$new_entry['objectClass'])) $new_entry['objectClass'][] = 'top'; -foreach( $new_entry as $attr => $vals ) { - - // Check to see if this is a unique Attribute - if( $badattr = checkUniqueAttr( $ldapserver, $new_dn, $attr, $vals ) ) { +foreach ($new_entry as $attr => $vals) { + # Check to see if this is a unique Attribute + if ($badattr = $ldapserver->checkUniqueAttr($new_dn,$attr,$vals)) { $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s', $ldapserver->server_id,$attr,$badattr); - pla_error(sprintf( $lang['unique_attr_failed'],$attr,$badattr,$new_dn,$search_href ) ); + pla_error(sprintf(_('Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'),$attr,$badattr,$new_dn,$search_href)); } - if( ! is_attr_binary( $ldapserver, $attr ) ) - if( is_array( $vals ) ) - foreach( $vals as $i => $v ) - $new_entry[ $attr ][ $i ] = $v; - + if (! $ldapserver->isAttrBinary($attr)) + if (is_array($vals)) + foreach ($vals as $i => $v) + $new_entry[$attr][$i] = $v; else - $new_entry[ $attr ] = $vals; + $new_entry[$attr] = $vals; } -//echo "

    "; var_dump( $new_dn );print_r( $new_entry ); echo "
    "; +# Check the user-defined custom call back first +if (run_hook('pre_entry_create',array('server_id'=>$ldapserver->server_id,'dn'=>$new_dn,'attrs'=>$new_entry))) + $add_result = $ldapserver->add($new_dn,$new_entry); -// Check the user-defined custom call back first -if( true === run_hook ( 'pre_entry_create', array ( 'server_id' => $ldapserver->server_id,'dn' => $new_dn,'attrs' => $new_entry ) ) ) - $add_result = @ldap_add( $ldapserver->connect(), $new_dn, $new_entry ); - -else { - pla_error( $lang['create_could_not_add'] ); - exit; -} - -if( $add_result ) { - run_hook ( 'post_entry_create', array ( 'server_id' => $ldapserver->server_id, 'dn' => $new_dn, 'attrs' => $new_entry ) ); +if ($add_result) { + run_hook('post_entry_create',array('server_id'=>$ldapserver->server_id,'dn'=>$new_dn,'attrs'=>$new_entry)); if ($redirect) $redirect_url = $redirect; - else - $redirect_url = sprintf('edit.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($new_dn)); + $redirect_url = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($new_dn)); - if( array_key_exists( 'tree', $_SESSION ) ) { - $tree = $_SESSION['tree']; - $tree_icons = $_SESSION['tree_icons']; + echo ''; + $tree = get_cached_item($ldapserver->server_id,'tree'); + $container = get_container($new_dn); - if( isset( $tree[$ldapserver->server_id][$container] ) ) { - $tree[$ldapserver->server_id][$container][] = $new_dn; - sort( $tree[$ldapserver->server_id][$container] ); - $tree_icons[$ldapserver->server_id][$new_dn] = get_icon( $ldapserver, $new_dn ); - } + if ((isset($tree['browser'][$container]['open']) && $tree['browser'][$container]['open']) || + in_array($new_dn,$ldapserver->getBaseDN())) { - $_SESSION['tree'] = $tree; - $_SESSION['tree_icons'] = $tree_icons; - session_write_close(); + echo ''; + printf('',$redirect_url); } - ?> - - + printf('',$redirect_url); + echo ''; + printf('%s %s.',_('Redirecting...'),$redirect_url,_('here')); + echo ''; - server_id][$container]) || in_array($new_dn,$ldapserver->getBaseDN())) { ?> - - - - - - - - - - - . - - - - -error(), $ldapserver->errno() ); +} else { + pla_error(_('Could not add the object to the LDAP server.'),$ldapserver->error(),$ldapserver->errno()); } ?> diff --git a/htdocs/create_form.php b/htdocs/create_form.php index dcf6649..4228cc8 100644 --- a/htdocs/create_form.php +++ b/htdocs/create_form.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); -if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); +if ($ldapserver->isReadOnly()) + pla_error(_('You cannot perform updates while server is in read-only mode')); +if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); -$step = isset( $_REQUEST['step'] ) ? $_REQUEST['step'] : 1; // defaults to 1 $container = $_REQUEST['container']; - $server_menu_html = server_select_list($ldapserver->server_id,true); -include './header.php'; ?> +include './header.php'; - +echo ''; -

    -

    -

    +printf('

    %s

    ',_('Create Object')); +printf('

    %s

    ',_('Choose a template')); +printf('

    %s

    ',_('Select a template for the creation process')); -
    - - - - - - +echo ''; +printf('',htmlspecialchars($container)); - - - '; - - - +printf('', + htmlspecialchars(_('Proceed >>'))); -
    :
    : +echo ''; +printf('',_('Server'),$server_menu_html); -
    %s:%s
    - -
    - +echo ''; +printf('',_('Template')); +echo ' - +echo '
    %s:'; + +echo ''; +echo ' - -
    '; + +echo ''; -GetValue('template_engine','enable')) { - $template_xml = new Templates($ldapserver->server_id); +$template_xml = new Templates($ldapserver->server_id); +$templates = $template_xml->_template; - if ($config->GetValue('template_engine','disable_old')) - $templates = $template_xml->getTemplates(); - - else - $templates = array_merge($template_xml->getTemplates(),$templates); - } - - # Remove non-visable templates. - foreach ($templates as $index => $template) - if (isset($template['visible']) && (! $template['visible'])) - unset ($templates[$index]); +# Remove non-visable templates. +foreach ($templates as $index => $template) + if (isset($template['visible']) && (! $template['visible'])) + unset ($templates[$index]); $templates['custom']['title'] = 'Custom'; $templates['custom']['icon'] = 'images/object.png'; -$count = count( $templates ); -foreach( $templates as $name => $template ) { +$count = count($templates); +foreach ($templates as $name => $template) { $i++; # If the template doesnt have a title, we'll use the desc field. $template['desc'] = isset($template['title']) ? $template['title'] : $template['desc']; # Balance the columns properly - if( ( count( $templates ) % 2 == 0 && $i == intval( $count / 2 ) ) || - ( count( $templates ) % 2 == 1 && $i == intval( $count / 2 ) + 1 ) ) + if ((count($templates) % 2 == 0 && $i == intval($count / 2)) || + (count($templates) % 2 == 1 && $i == intval($count / 2) + 1)) - echo "
    "; + echo '
    '; # Check and see if this template should be shown in the list $isValid = false; - if( isset($template['regexp'] ) ) { - if( @preg_match( "/".$template['regexp']."/i", $container ) ) { + if (isset($template['regexp'])) { + if (@preg_match('/'.$template['regexp'].'/i',$container)) $isValid = true; - } - - } else { + } else $isValid = true; if (isset($template['invalid']) && $template['invalid']) $isValid = false; - } ?> - - + echo ''; + if (! $isValid || (isset($template['handler']) && ! file_exists(TMPLDIR.'creation/'.$template['handler']))) + echo ''; + else + printf('', + htmlspecialchars($name),htmlspecialchars($name), + ! $isValid ? 'disabled' : (strcasecmp('Custom',$name) ? '' : 'checked')); - - - - + printf('', + htmlspecialchars($name),$template['icon']); - - - - - - - + echo ''; - +} -
    - - - - - - -
    -
    -
    '; +echo '
    '; +echo '
    -
    - - +echo ''; +echo ''; +?> diff --git a/htdocs/creation_template.php b/htdocs/creation_template.php deleted file mode 100644 index dbe7bbd..0000000 --- a/htdocs/creation_template.php +++ /dev/null @@ -1,71 +0,0 @@ -GetValue('template_engine','enable') && (! is_numeric($_REQUEST['template']))) { - require './template_engine.php'; - die(); -} - -require TMPLDIR.'template_config.php'; - -if ($ldapserver->isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); -if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); - -$template = (isset($_REQUEST['template']) ? $_REQUEST['template'] : null); -! is_null($template) or pla_error($lang['ctemplate_no_template']); - -if ($template == 'custom') { - foreach ($templates as $id => $template) { - if ($template['handler'] == 'custom.php') { - $template = $id; - break; - } - } -} - -isset($templates[$template]) or pla_error(sprintf($lang['invalid_template'], htmlspecialchars($template))); -$template_id = $template; -$template = isset($templates[$template]) ? $templates[$template_id] : null; - -if (! array_key_exists('no_header',$template)) { - include './header.php'; -?> - - -

    -

    'name); ?>', ''

    - -\n"; -?> diff --git a/htdocs/css/style.css b/htdocs/css/style.css index 263ca1b..f753b39 100644 --- a/htdocs/css/style.css +++ b/htdocs/css/style.css @@ -1,4 +1,4 @@ -/* $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/css/style.css,v 1.44 2005/03/12 14:03:36 wurley Exp $ */ +/* $Header: /cvsroot/phpldapadmin/phpldapadmin/htdocs/css/style.css,v 1.44.4.2 2005/12/06 22:00:54 wurley Exp $ */ span.hint { font-size: small; font-weight: normal; @@ -594,6 +594,11 @@ table.create td.heading { padding: 10px; } +table.create td.name { + font-size: 13px; + width: 350px; +} + div.add_value { font-size: 10pt; margin: 0px; @@ -632,11 +637,12 @@ p.doc { table.export_form { font-size: 75%; width: 400px; - border-spacing: 10px; - border-collapse: separate; + border-spacing: 10px; + border-collapse: separate; } table.export_form tr td { + font-size: 13px; text-align: left; vertical-align: top; padding: 4px; diff --git a/htdocs/delete.php b/htdocs/delete.php index 8aa9f7b..8838792 100644 --- a/htdocs/delete.php +++ b/htdocs/delete.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_POST['dn']; -$encoded_dn = rawurlencode($dn); if (is_null($dn)) - pla_error($lang['you_must_specify_a_dn']); + pla_error(_('You must specify a DN')); -dn_exists($ldapserver,$dn) or pla_error(sprintf($lang['no_such_entry'], '' . pretty_print_dn($dn) . '')); - -// Check the user-defined custom callback first. -if (run_hook('pre_entry_delete',array('server_id' => $ldapserver->server_id,'dn' => $dn))) - $del_result = @ldap_delete($ldapserver->connect(), $dn); +if (! $ldapserver->dnExists($dn)) + pla_error(sprintf(_('No such entry: %s'),''.pretty_print_dn($dn).'')); +# Check the user-defined custom callback first. +if (run_hook('pre_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn))) + $del_result = $ldapserver->delete($dn); else - pla_error(sprintf($lang['could_not_delete_entry'],''.pretty_print_dn($dn).'')); + pla_error(sprintf(_('Could not delete the entry: %s'),''.pretty_print_dn($dn).'')); if ($del_result) { - # Custom callback - run_hook('post_entry_delete',array('server_id' => $ldapserver->server_id,'dn' => $dn)); + run_hook('post_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn)); - # kill the DN from the tree browser session variable and - # refresh the tree viewer frame (left_frame) - if (array_key_exists('tree', $_SESSION)) { - $tree = $_SESSION['tree']; + include './header.php'; + echo ''; - if (isset($tree[$ldapserver->server_id]) && is_array($tree[$ldapserver->server_id])) { + echo ''; + echo '

    '; + printf('
    '._('Entry %s deleted successfully.').'
    ',''.pretty_print_dn($dn).''); + echo ''; - # does it have children? (it shouldn't, but hey, you never know) - if (isset($tree[$ldapserver->server_id][$dn])) - unset($tree[$ldapserver->server_id][$dn]); - - # search and destroy - foreach ($tree[$ldapserver->server_id] as $tree_dn => $subtree) - foreach ($subtree as $key => $sub_tree_dn) - if (0 == strcasecmp($sub_tree_dn, $dn)) - unset($tree[$ldapserver->server_id][$tree_dn][$key]); - - $_SESSION['tree'] = $tree; - } - session_write_close(); - } - - include './header.php'; ?> - - - -
    -
    -
    '.pretty_print_dn($dn).''); ?>
    - -' . pretty_print_dn($dn) . ''), - $ldapserver->error(), $ldapserver->errno()); + pla_error(sprintf(_('Could not delete the entry: %s'),''.pretty_print_dn($dn).''), + $ldapserver->error(),$ldapserver->errno()); } +echo ''; ?> diff --git a/htdocs/delete_attr.php b/htdocs/delete_attr.php index 3801582..d282cc1 100644 --- a/htdocs/delete_attr.php +++ b/htdocs/delete_attr.php @@ -1,13 +1,13 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = isset($_POST['dn']) ? $_POST['dn'] : null; $attr = isset($_POST['attr']) ? $_POST['attr'] : null; if (! $dn) - pla_error($lang['no_dn_specified']); + pla_error(_('No DN specified')); if (! $attr) - pla_error($lang['no_attr_specified']); + pla_error(_('No attribute name specified.')); $encoded_dn = rawurlencode($dn); -if (is_attr_read_only($ldapserver,$attr)) - pla_error(sprintf($lang['attr_is_read_only'],htmlspecialchars($attr))); +if ($ldapserver->isAttrReadOnly($attr)) + pla_error(sprintf(_('The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'),htmlspecialchars($attr))); $update_array = array(); $update_array[$attr] = array(); -$res = @ldap_modify($ldapserver->connect(),$dn,$update_array); +$res = $ldapserver->modify($dn,$update_array); if ($res) { - $redirect_url = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); + $redirect_url = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); foreach($update_array as $attr => $junk) $redirect_url .= "&modified_attrs[]=$attr"; @@ -49,6 +49,6 @@ if ($res) { header("Location: $redirect_url"); } else { - pla_error($lang['could_not_perform_ldap_modify'],$ldapserver->error(),$ldapserver->errno()); + pla_error(_('Could not perform ldap_modify operation.'),$ldapserver->error(),$ldapserver->errno()); } ?> diff --git a/htdocs/delete_form.php b/htdocs/delete_form.php index f16da60..86b8a3b 100644 --- a/htdocs/delete_form.php +++ b/htdocs/delete_form.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_GET['dn']; - -$encoded_dn = rawurlencode( $dn ); -$rdn = pla_explode_dn( $dn ); -$rdn = $rdn[0]; -$children = get_container_contents( $ldapserver,$dn,0,'(objectClass=*)',LDAP_DEREF_NEVER ); +$children = $ldapserver->getContainerContents($dn,0,'(objectClass=*)',LDAP_DEREF_NEVER); $has_children = count($children) > 0 ? true : false; -include './header.php'; ?> +include './header.php'; - +echo ''; +printf('

    '._('Delete %s').'

    ',htmlspecialchars(get_rdn($dn))); +printf('

    %s: %s     %s: %s

    ', + _('Server'),$ldapserver->name,_('Distinguished Name'),htmlspecialchars(($dn))); -

    -

    : name; ?>     :

    - - - -


    - -'; + printf('%s

    ',_('Permanently delete all children also?')); flush(); # get the total number of child objects (whole sub-tree) - $s = pla_ldap_search( $ldapserver, 'objectClass=*', $dn, array('dn'), 'sub' ); - $sub_tree_count = count( $s ); + $s = $ldapserver->search(null,dn_escape($dn),'objectClass=*',array('dn')); + $sub_tree_count = count($s); ?> @@ -94,16 +88,17 @@ include './header.php'; ?>

    -
    +
    - $junk ) { + foreach ($s as $dn => $junk) { $i++; ?> - + +
    @@ -113,10 +108,10 @@ include './header.php'; ?>

    - - () + + ()

    -
    +

    - +

    @@ -71,17 +65,17 @@ include './header.php'; ?>

    - +
    -
    + - +
    - - - - -
    -
    +

    - :
    -
    : name); ?>
    + :
    + : name); ?>

    @@ -126,17 +121,17 @@ include './header.php'; ?> - + diff --git a/htdocs/documentation.php b/htdocs/documentation.php deleted file mode 100644 index 44c741f..0000000 --- a/htdocs/documentation.php +++ /dev/null @@ -1,52 +0,0 @@ -"; - -$view = isset( $_GET['view'] ) ? $_GET['view'] : false; -switch( $view ) { - case 'credits': - echo "

    phpLDAPadmin Credits

    "; - echo "
    ";
    -		echo "";
    -		include DOCDIR.'CREDITS';
    -		echo "";
    -		echo "
    "; - echo ""; - echo ""; - exit; - break; - case 'changelog': - echo "

    phpLDAPadmin ChangeLog

    "; - echo "
    ";
    -		echo "";
    -		include DOCDIR.'ChangeLog';
    -		echo "";
    -		echo "
    "; - echo ""; - echo ""; - exit; - break; -} - -?> - -

    phpLDAPadmin documentation

    -

    Stuff you wish you already knew.

    - -

    Extending phpLDAPadmin

    - -

    Creation Templates

    -

    TODO: Write me.

    - -

    Modification Templates

    -

    TODO: Write me.

    diff --git a/htdocs/donate.php b/htdocs/donate.php deleted file mode 100644 index 2cbf877..0000000 --- a/htdocs/donate.php +++ /dev/null @@ -1,52 +0,0 @@ - - - - -

    Donate

    -
    -
    -
    -

    -
    - -
    -
    + - +
    - - - - - - - - - - - - - - -
    - - [<?php echo sprintf( $lang['donate_amount'], '$US ' . $amount ); ?>] -
    - -
    -
    - - - diff --git a/htdocs/download_binary_attr.php b/htdocs/download_binary_attr.php index 2613475..b7b5472 100644 --- a/htdocs/download_binary_attr.php +++ b/htdocs/download_binary_attr.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = rawurldecode($_GET['dn']); $attr = $_GET['attr']; # if there are multiple values in this attribute, which one do you want to see? -$value_num = isset($_GET['value_num']) ? $_GET['value_num'] : 0; +$value_num = isset($_GET['value_num']) ? $_GET['value_num'] : null; -dn_exists($ldapserver,$dn) or - pla_error(sprintf($lang['no_such_entry'],pretty_print_dn($dn))); +if (! $ldapserver->dnExists($dn)) + pla_error(sprintf(_('No such entry: %s'),pretty_print_dn($dn))); -$search = @ldap_read($ldapserver->connect(),$dn,"(objectClass=*)",array($attr),0,0,0,$config->GetValue('deref','view')); -if (! $search) - pla_error($lang['error_performing_search'],$ldapserver->error(),$ldapserver->errno()); +$search = $ldapserver->search(null,$dn,'(objectClass=*)',array($attr),'base',false,$config->GetValue('deref','view')); -$entry = ldap_first_entry($ldapserver->connect(),$search); -$attrs = ldap_get_attributes($ldapserver->connect(),$entry); -$attr = ldap_first_attribute($ldapserver->connect(),$entry,$attrs); -$values = ldap_get_values_len($ldapserver->connect(),$entry,$attr); -$count = $values['count']; - -// Dump the binary data to the browser -header("Content-type: octet-stream"); +# Dump the binary data to the browser +header('Content-type: octet-stream'); header("Content-disposition: attachment; filename=$attr"); -header("Expires: Mon, 26 Jul 1997 05:00:00 GMT"); -header("Last-Modified: " . gmdate("D, d M Y H:i:s") . " GMT"); -echo $values[$value_num]; +header('Expires: Mon, 26 Jul 1997 05:00:00 GMT'); +header('Last-Modified: '.gmdate('D, d M Y H:i:s').' GMT'); +if ($value_num && is_array($search[$attr][$dn])) + echo $search[$dn][$attr][$value_num]; +else + echo $search[$dn][$attr]; ?> diff --git a/htdocs/edit.php b/htdocs/edit.php deleted file mode 100644 index d9beb41..0000000 --- a/htdocs/edit.php +++ /dev/null @@ -1,59 +0,0 @@ -haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); - -$dn = isset($_GET['dn']) ? $_GET['dn'] : false; -$dn !== false or pla_error($lang['missing_dn_in_query_string']); - -$decoded_dn = rawurldecode($dn); -$encoded_dn = rawurlencode($decoded_dn); - -/* Template authors may wish to present the user with a link back to the default, generic - template for editing. They may use this as the target of the href to do so. - @deprectated -*/ -$default_href = sprintf("edit.php?server_id=%s&dn=%s&use_default_template=true",$ldapserver->server_id,$encoded_dn); -$use_default_template = isset( $_GET['use_default_template'] ) || $config->GetValue('template_engine','enable'); - -if( $use_default_template ) { - if ($config->GetValue('template_engine','enable')) - require './template_engine.php'; - else - require TMPLDIR.'modification/default.php'; - -} else { - $template = get_template($ldapserver,$dn); - $template_file = TMPLDIR."modification/$template.php"; - - if (file_exists($template_file)) - require $template_file; - - else { - printf('%s %s %s
    ',$lang['missing_template_file'],$template_file,$lang['using_default']); - require TMPLDIR.'modification/default.php'; - } -} -?> diff --git a/htdocs/entry_chooser.php b/htdocs/entry_chooser.php index c401fc5..9a8a922 100644 --- a/htdocs/entry_chooser.php +++ b/htdocs/entry_chooser.php @@ -1,5 +1,5 @@ %s',$lang['entry_chooser_title']); +printf('

    %s

    ',_('Entry Chooser')); flush(); ?> - + + diff --git a/htdocs/header.php b/htdocs/header.php index a99f2d8..4f69c5c 100644 --- a/htdocs/header.php +++ b/htdocs/header.php @@ -1,49 +1,59 @@ GetValue('appearance','language') : 'auto'; +$language = isset($config) ? $language = $config->GetValue('appearance','language') : 'auto'; -// text/xml won't work with MSIE, but is very useful for debugging xhtml code. -//@header( "Content-type: text/xml; charset=\"UTF-8\"" ); -@header( "Content-type: text/html; charset=\"UTF-8\"" ); +# text/xml won't work with MSIE, but is very useful for debugging xhtml code. +# header('Content-type: text/xml; charset="UTF-8"'); +@header('Content-type: text/html; charset="UTF-8"'); -// XML version and encoding for well-behaved browsers -echo "\n"; +# XML version and encoding for well-behaved browsers +echo ''."\n"; + +echo ''."\n"; + +printf('',$language,$language); +echo "\n\n"; + +echo ''; + +if (isset($config) && $pagetitle = $config->GetValue('appearance','page_title')) + printf('phpLDAPadmin - %s',$pagetitle); +else + echo 'phpLDAPadmin'; + +printf('',CSSDIR); + +if (isset($server_id)) { + $custom_file = get_custom_file($server_id,'style.css',CSSDIR); + + if (strcmp($custom_file,'style.css') != 0) + printf('',$custom_file); +} + +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); +printf('',JSDIR); + +if (isset($meta_refresh_variable)) + printf('',$meta_refresh_variable); + +echo ''; +echo ''; +echo "\n\n"; ?> - - - - -GetValue('appearance','page_title')) { ?> - phpLDAPadmin - <?php echo $pagetitle; ?> - - phpLDAPadmin - - - - - - - - - - - - - - - - - diff --git a/htdocs/images/nogo.png b/htdocs/images/nogo.png new file mode 100644 index 0000000000000000000000000000000000000000..cf1a2034f0be5f4d6ceeb0f6279b9a3a4fd413f1 GIT binary patch literal 243 zcmeAS@N?(olHy`uVBq!ia0vp^0wB!61|;P_|4#%`Y)RhkE)4%caKYZ?lYt^DJY5_^ zDsHU}cH}yuz%$3=zM_ukr@mhW|2HNG{_*&h + echo ''; - - - phpLDAPadmin - <?php echo pla_version(); ?> - - + echo ''; + echo ''; + printf('phpLDAPadmin - %s',pla_version()); + echo ''; + echo ''; - -

    Configure phpLDAPadmin

    -
    -
    + echo ''; + echo '

    Configure phpLDAPadmin

    '; + echo '

    '; -
    - - + echo '
    '; + printf(_('You need to configure phpLDAPadmin. Edit the file "%s" to do so. An example config file is provided in "%s.example".'),$config_file,$config_file); + echo '
    '; -'; + echo ''; die(); } elseif (! is_readable($config_file)) { pla_error(sprintf('Fatal error: Cannot read your configuration file "%s", its permissions are too strict.',$config_file)); } -# Now read in config_default.php, which also reads in config.php -require LIBDIR.'config_default.php'; +if (! check_config()) { + exit; +} -if (check_config()) { - print ''; -?> +echo ''."\n"; +echo ''."\n"; +echo "\n"; - - +echo ''; -GetValue('appearance','page_title')) { ?> -phpLDAPadmin (<?php echo pla_version(); ?>) - <?php echo $pagetitle; ?> - -phpLDAPadmin - <?php echo pla_version(); ?> - +if ($pagetitle = $config->GetValue('appearance','page_title')) + printf('phpLDAPadmin (%s) - %s',pla_version(),$pagetitle); +else + printf('phpLDAPadmin - %s',pla_version()); - - - - +printf('',$config->GetValue('appearance','tree_width')); +echo ''; +echo ''; +echo ''; - - -'; /* * Makes sure that the config file is properly setup and * that your install of PHP can handle LDAP stuff. */ function check_config() { - global $lang, $config_file; + global $config_file,$config; + + /* Check for syntax errors in config.php + As of php 4.3.5, this NO longer catches fatal errors :( */ + ob_start(); + include $config_file; + $str = ob_get_contents(); + ob_end_clean(); + + if ($str) { + $str = strip_tags($str); + $matches = array(); + preg_match('/(.*):\s+(.*):.*\s+on line (\d+)/',$str,$matches); + $error_type = $matches[1]; + $error = $matches[2]; + $line_num = $matches[3]; + + $file = file($config_file); + + echo ''."\n"; + echo ''."\n"; + echo "\n"; + + echo ''; + echo ''; + echo 'phpLDAPadmin Config File Error'; + echo ''; + echo ''; + + echo ''; + echo '

    Config File ERROR

    '; + printf('

    %s (%s) on line %s

    ',$error_type,$error,$line_num); + + echo '
    '; + printf('Looks like your config file has an ERROR on line %s.
    ',$line_num); + echo 'Here is a snippet around that line
    '; + echo '
    '."\n"; + + echo '
    '; + + for ($i = $line_num-9; $i<$line_num+5; $i++) { + if ($i+1 == $line_num) + echo '
    '; + + if ($i < 0) + continue; + + printf('%s: %s
    ',$i+1,htmlspecialchars($file[$i])); + + if ($i+1 == $line_num) + echo '
    '; + } + + echo '
    '; + echo '
    '; + echo 'Hint: Sometimes these errors are caused by lines preceding the line reported.'; + echo '
    '; + echo ''; + echo ''; + + return false; + } + + # Now read in config_default.php, which also reads in config.php + require LIBDIR.'config_default.php'; # Make sure their PHP version is current enough if (strcmp(phpversion(),REQUIRED_PHP_VERSION) < 0) { @@ -120,132 +182,30 @@ function check_config() { # Make sure this PHP install has all our required extensions if (! extension_loaded('ldap')) { - pla_error( "Your install of PHP appears to be missing LDAP support. Please install " . - "LDAP support before using phpLDAPadmin. (Don't forget to restart your web server afterwards)"); + pla_error('Your install of PHP appears to be missing LDAP support. Please install LDAP support before using phpLDAPadmin. (Dont forget to restart your web server afterwards)'); return false; } # Make sure that we have php-xml loaded. if (! function_exists('xml_parser_create')) { - pla_error( "Your install of PHP appears to be missing XML support. Please install " . - "XML support before using phpLDAPadmin. (Don't forget to restart your web server afterwards)"); + pla_error('Your install of PHP appears to be missing XML support. Please install XML support before using phpLDAPadmin. (Dont forget to restart your web server afterwards)'); return false; } - + # Make sure their session save path is writable, if they are using a file system session module, that is. - if ( ! strcasecmp("Files",session_module_name() && ! is_writable(realpath(session_save_path())))) { - pla_error( "Your PHP session configuration is incorrect. Please check the value of session.save_path + if ( ! strcasecmp('Files',session_module_name() && ! is_writable(realpath(session_save_path())))) { + pla_error('Your PHP session configuration is incorrect. Please check the value of session.save_path in your php.ini to ensure that the directory specified there exists and is writable. - The current setting of \"". session_save_path() . "\" is un-writable by the web server."); + The current setting of "'.session_save_path().'" is un-writable by the web server.'); return false; } - /* check for syntax errors in config.php */ - # capture the result of including the file with output buffering - ob_start(); - include $config_file; - $str = ob_get_contents(); - ob_end_clean(); - - if( $str && false !== strpos( $str, 'error' ) ) { - $str = strip_tags( $str ); - $matches = array(); - preg_match( "/on line (\d+)/", $str, $matches ); - $line_num = $matches[1]; - $file = file($config_file); - ?> - - - - phpLDAPadmin Config File Error - - - - -

    Config file error

    -

    Syntax error on line

    - -
    - Looks like your config file has a syntax error on line . - Here is a snippet around that line -
    -
    -
    - - - "; - - if( $i < 0 ) - continue; - echo "" . ($i+1) . ": " . htmlspecialchars($file[ $i ]) . "
    "; - - if( $i+1 == $line_num ) - echo "
    "; - } - ?> - - - - -
    - Hint: Sometimes these errors are caused by lines preceding the line reported. - - - - GetServerList()) == 0) { - pla_error( "Your config.php is missing Server Definitions - Please see the sample file config.php.example ", false ); + if (! isset($ldapservers) || count($ldapservers->GetServerList()) == 0) { + pla_error('Your config.php is missing Server Definitions. + Please see the sample file config/config.php.example.',false); return false; } - # @todo: Implement this and fix all the tests. -/* - if ( ! count($ldapservers->GetServerList())) { - pla_error( "None of the " . count($servers) . " servers in your \$servers configuration is - active in config.php. At least one of your servers must set the 'host' directive. - Example:
    \$servers['host'] = \"ldap.example.com\";
    - phpLDAPadmin cannot proceed util you correct this.", false ); - return false; - } - - // Check that 'base' is present on all serve entries - foreach( $servers as $id => $server ) { - if( isset( $server['host'] ) && isset( $server['name'] ) ) - isset( $server['base'] ) - or pla_error ( "Your configuration has an error. You omitted the 'base' directive - on server number $id. Your server entry must have a 'base' directive - even if it's empty ('')." ); - } - - // Check each of the servers in the servers array - foreach( $servers as $id => $server ) { - if( isset( $server['host'] ) ) { - - // Make sure they specified an auth_type - if( ! isset( $server['auth_type'] ) ) { - pla_error( "Your configuration has an error. You omitted the 'auth_type' directive on server number $id - 'auth_type' must be set, and it must be one of 'config', 'cookie', or 'session'.", false ); - return false; - } - - // Make sure they specified a correct auth_type - if( ! in_array( $server['auth_type'], array( 'config', 'cookie', 'session' ) ) ) { - global $lang; - pla_error( sprintf( $lang['error_auth_type_config'], htmlspecialchars( $server['auth_type'] ) ) ); - return false; - } - } - } -*/ - return true; } ?> diff --git a/htdocs/js/jscalendar/calendar-setup.js b/htdocs/js/jscalendar/calendar-setup.js index 8513dd0..1409eff 100644 --- a/htdocs/js/jscalendar/calendar-setup.js +++ b/htdocs/js/jscalendar/calendar-setup.js @@ -19,7 +19,7 @@ * than modifying calendar.js itself). */ -// $Id: calendar-setup.js,v 1.1.2.1 2005/10/09 05:45:23 wurley Exp $ +// $Id: calendar-setup.js,v 1.2 2005/10/09 11:16:50 wurley Exp $ /** * This function "patches" an input field (or other element) to use a calendar diff --git a/htdocs/js/jscalendar/calendar.js b/htdocs/js/jscalendar/calendar.js index 293ce4b..1db8351 100644 --- a/htdocs/js/jscalendar/calendar.js +++ b/htdocs/js/jscalendar/calendar.js @@ -12,7 +12,7 @@ * Read the entire license text here: http://www.gnu.org/licenses/lgpl.html */ -// $Id: calendar.js,v 1.1.2.1 2005/10/09 05:45:23 wurley Exp $ +// $Id: calendar.js,v 1.2 2005/10/09 11:16:50 wurley Exp $ /** The Calendar object constructor. */ Calendar = function (firstDayOfWeek, dateStr, onSelected, onClose) { diff --git a/htdocs/js/phplayersmenu/COPYING b/htdocs/js/phplayersmenu/COPYING new file mode 100644 index 0000000..b1e3f5a --- /dev/null +++ b/htdocs/js/phplayersmenu/COPYING @@ -0,0 +1,504 @@ + GNU LESSER GENERAL PUBLIC LICENSE + Version 2.1, February 1999 + + Copyright (C) 1991, 1999 Free Software Foundation, Inc. + 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + Everyone is permitted to copy and distribute verbatim copies + of this license document, but changing it is not allowed. + +[This is the first released version of the Lesser GPL. It also counts + as the successor of the GNU Library Public License, version 2, hence + the version number 2.1.] + + Preamble + + The licenses for most software are designed to take away your +freedom to share and change it. By contrast, the GNU General Public +Licenses are intended to guarantee your freedom to share and change +free software--to make sure the software is free for all its users. + + This license, the Lesser General Public License, applies to some +specially designated software packages--typically libraries--of the +Free Software Foundation and other authors who decide to use it. You +can use it too, but we suggest you first think carefully about whether +this license or the ordinary General Public License is the better +strategy to use in any particular case, based on the explanations below. + + When we speak of free software, we are referring to freedom of use, +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 and use pieces of +it in new free programs; and that you are informed that you can do +these things. + + To protect your rights, we need to make restrictions that forbid +distributors to deny you these rights or to ask you to surrender these +rights. These restrictions translate to certain responsibilities for +you if you distribute copies of the library or if you modify it. + + For example, if you distribute copies of the library, whether gratis +or for a fee, you must give the recipients all the rights that we gave +you. You must make sure that they, too, receive or can get the source +code. If you link other code with the library, you must provide +complete object files to the recipients, so that they can relink them +with the library after making changes to the library and recompiling +it. And you must show them these terms so they know their rights. + + We protect your rights with a two-step method: (1) we copyright the +library, and (2) we offer you this license, which gives you legal +permission to copy, distribute and/or modify the library. + + To protect each distributor, we want to make it very clear that +there is no warranty for the free library. Also, if the library is +modified by someone else and passed on, the recipients should know +that what they have is not the original version, so that the original +author's reputation will not be affected by problems that might be +introduced by others. + + Finally, software patents pose a constant threat to the existence of +any free program. We wish to make sure that a company cannot +effectively restrict the users of a free program by obtaining a +restrictive license from a patent holder. Therefore, we insist that +any patent license obtained for a version of the library must be +consistent with the full freedom of use specified in this license. + + Most GNU software, including some libraries, is covered by the +ordinary GNU General Public License. This license, the GNU Lesser +General Public License, applies to certain designated libraries, and +is quite different from the ordinary General Public License. We use +this license for certain libraries in order to permit linking those +libraries into non-free programs. + + When a program is linked with a library, whether statically or using +a shared library, the combination of the two is legally speaking a +combined work, a derivative of the original library. The ordinary +General Public License therefore permits such linking only if the +entire combination fits its criteria of freedom. The Lesser General +Public License permits more lax criteria for linking other code with +the library. + + We call this license the "Lesser" General Public License because it +does Less to protect the user's freedom than the ordinary General +Public License. It also provides other free software developers Less +of an advantage over competing non-free programs. These disadvantages +are the reason we use the ordinary General Public License for many +libraries. However, the Lesser license provides advantages in certain +special circumstances. + + For example, on rare occasions, there may be a special need to +encourage the widest possible use of a certain library, so that it becomes +a de-facto standard. To achieve this, non-free programs must be +allowed to use the library. A more frequent case is that a free +library does the same job as widely used non-free libraries. In this +case, there is little to gain by limiting the free library to free +software only, so we use the Lesser General Public License. + + In other cases, permission to use a particular library in non-free +programs enables a greater number of people to use a large body of +free software. For example, permission to use the GNU C Library in +non-free programs enables many more people to use the whole GNU +operating system, as well as its variant, the GNU/Linux operating +system. + + Although the Lesser General Public License is Less protective of the +users' freedom, it does ensure that the user of a program that is +linked with the Library has the freedom and the wherewithal to run +that program using a modified version of the Library. + + The precise terms and conditions for copying, distribution and +modification follow. Pay close attention to the difference between a +"work based on the library" and a "work that uses the library". The +former contains code derived from the library, whereas the latter must +be combined with the library in order to run. + + GNU LESSER GENERAL PUBLIC LICENSE + TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION + + 0. This License Agreement applies to any software library or other +program which contains a notice placed by the copyright holder or +other authorized party saying it may be distributed under the terms of +this Lesser General Public License (also called "this License"). +Each licensee is addressed as "you". + + A "library" means a collection of software functions and/or data +prepared so as to be conveniently linked with application programs +(which use some of those functions and data) to form executables. + + The "Library", below, refers to any such software library or work +which has been distributed under these terms. A "work based on the +Library" means either the Library or any derivative work under +copyright law: that is to say, a work containing the Library or a +portion of it, either verbatim or with modifications and/or translated +straightforwardly into another language. (Hereinafter, translation is +included without limitation in the term "modification".) + + "Source code" for a work means the preferred form of the work for +making modifications to it. For a library, 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 library. + + Activities other than copying, distribution and modification are not +covered by this License; they are outside its scope. The act of +running a program using the Library is not restricted, and output from +such a program is covered only if its contents constitute a work based +on the Library (independent of the use of the Library in a tool for +writing it). Whether that is true depends on what the Library does +and what the program that uses the Library does. + + 1. You may copy and distribute verbatim copies of the Library's +complete 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 distribute a copy of this License along with the +Library. + + 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 Library or any portion +of it, thus forming a work based on the Library, 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) The modified work must itself be a software library. + + b) You must cause the files modified to carry prominent notices + stating that you changed the files and the date of any change. + + c) You must cause the whole of the work to be licensed at no + charge to all third parties under the terms of this License. + + d) If a facility in the modified Library refers to a function or a + table of data to be supplied by an application program that uses + the facility, other than as an argument passed when the facility + is invoked, then you must make a good faith effort to ensure that, + in the event an application does not supply such function or + table, the facility still operates, and performs whatever part of + its purpose remains meaningful. + + (For example, a function in a library to compute square roots has + a purpose that is entirely well-defined independent of the + application. Therefore, Subsection 2d requires that any + application-supplied function or table used by this function must + be optional: if the application does not supply it, the square + root function must still compute square roots.) + +These requirements apply to the modified work as a whole. If +identifiable sections of that work are not derived from the Library, +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 Library, 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 Library. + +In addition, mere aggregation of another work not based on the Library +with the Library (or with a work based on the Library) on a volume of +a storage or distribution medium does not bring the other work under +the scope of this License. + + 3. You may opt to apply the terms of the ordinary GNU General Public +License instead of this License to a given copy of the Library. To do +this, you must alter all the notices that refer to this License, so +that they refer to the ordinary GNU General Public License, version 2, +instead of to this License. (If a newer version than version 2 of the +ordinary GNU General Public License has appeared, then you can specify +that version instead if you wish.) Do not make any other change in +these notices. + + Once this change is made in a given copy, it is irreversible for +that copy, so the ordinary GNU General Public License applies to all +subsequent copies and derivative works made from that copy. + + This option is useful when you wish to copy part of the code of +the Library into a program that is not a library. + + 4. You may copy and distribute the Library (or a portion or +derivative of it, under Section 2) in object code or executable form +under the terms of Sections 1 and 2 above provided that you 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. + + If distribution of 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 satisfies the requirement to +distribute the source code, even though third parties are not +compelled to copy the source along with the object code. + + 5. A program that contains no derivative of any portion of the +Library, but is designed to work with the Library by being compiled or +linked with it, is called a "work that uses the Library". Such a +work, in isolation, is not a derivative work of the Library, and +therefore falls outside the scope of this License. + + However, linking a "work that uses the Library" with the Library +creates an executable that is a derivative of the Library (because it +contains portions of the Library), rather than a "work that uses the +library". The executable is therefore covered by this License. +Section 6 states terms for distribution of such executables. + + When a "work that uses the Library" uses material from a header file +that is part of the Library, the object code for the work may be a +derivative work of the Library even though the source code is not. +Whether this is true is especially significant if the work can be +linked without the Library, or if the work is itself a library. The +threshold for this to be true is not precisely defined by law. + + If such an object file uses only numerical parameters, data +structure layouts and accessors, and small macros and small inline +functions (ten lines or less in length), then the use of the object +file is unrestricted, regardless of whether it is legally a derivative +work. (Executables containing this object code plus portions of the +Library will still fall under Section 6.) + + Otherwise, if the work is a derivative of the Library, you may +distribute the object code for the work under the terms of Section 6. +Any executables containing that work also fall under Section 6, +whether or not they are linked directly with the Library itself. + + 6. As an exception to the Sections above, you may also combine or +link a "work that uses the Library" with the Library to produce a +work containing portions of the Library, and distribute that work +under terms of your choice, provided that the terms permit +modification of the work for the customer's own use and reverse +engineering for debugging such modifications. + + You must give prominent notice with each copy of the work that the +Library is used in it and that the Library and its use are covered by +this License. You must supply a copy of this License. If the work +during execution displays copyright notices, you must include the +copyright notice for the Library among them, as well as a reference +directing the user to the copy of this License. Also, you must do one +of these things: + + a) Accompany the work with the complete corresponding + machine-readable source code for the Library including whatever + changes were used in the work (which must be distributed under + Sections 1 and 2 above); and, if the work is an executable linked + with the Library, with the complete machine-readable "work that + uses the Library", as object code and/or source code, so that the + user can modify the Library and then relink to produce a modified + executable containing the modified Library. (It is understood + that the user who changes the contents of definitions files in the + Library will not necessarily be able to recompile the application + to use the modified definitions.) + + b) Use a suitable shared library mechanism for linking with the + Library. A suitable mechanism is one that (1) uses at run time a + copy of the library already present on the user's computer system, + rather than copying library functions into the executable, and (2) + will operate properly with a modified version of the library, if + the user installs one, as long as the modified version is + interface-compatible with the version that the work was made with. + + c) Accompany the work with a written offer, valid for at + least three years, to give the same user the materials + specified in Subsection 6a, above, for a charge no more + than the cost of performing this distribution. + + d) If distribution of the work is made by offering access to copy + from a designated place, offer equivalent access to copy the above + specified materials from the same place. + + e) Verify that the user has already received a copy of these + materials or that you have already sent this user a copy. + + For an executable, the required form of the "work that uses the +Library" must include any data and utility programs needed for +reproducing the executable from it. However, as a special exception, +the materials to be 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. + + It may happen that this requirement contradicts the license +restrictions of other proprietary libraries that do not normally +accompany the operating system. Such a contradiction means you cannot +use both them and the Library together in an executable that you +distribute. + + 7. 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 not covered by this License, and distribute such a combined +library, provided that the separate distribution of the work based on +the Library and of the other library facilities is otherwise +permitted, and provided that you do these two things: + + a) Accompany the combined library with a copy of the same work + based on the Library, uncombined with any other library + facilities. This must be distributed under the terms of the + Sections above. + + b) Give prominent notice with the combined library of the fact + that part of it is a work based on the Library, and explaining + where to find the accompanying uncombined form of the same work. + + 8. You may not copy, modify, sublicense, link with, or distribute +the Library except as expressly provided under this License. Any +attempt otherwise to copy, modify, sublicense, link with, or +distribute the Library 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. + + 9. 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 Library or its derivative works. These actions are +prohibited by law if you do not accept this License. Therefore, by +modifying or distributing the Library (or any work based on the +Library), you indicate your acceptance of this License to do so, and +all its terms and conditions for copying, distributing or modifying +the Library or works based on it. + + 10. Each time you redistribute the Library (or any work based on the +Library), the recipient automatically receives a license from the +original licensor to copy, distribute, link with or modify the Library +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 with +this License. + + 11. 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 Library at all. For example, if a patent +license would not permit royalty-free redistribution of the Library 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 Library. + +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. + + 12. If the distribution and/or use of the Library is restricted in +certain countries either by patents or by copyrighted interfaces, the +original copyright holder who places the Library 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. + + 13. The Free Software Foundation may publish revised and/or new +versions of the 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 +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 Library does not specify a +license version number, you may choose any version ever published by +the Free Software Foundation. + + 14. If you wish to incorporate parts of the Library into other free +programs whose distribution conditions are incompatible with these, +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 + + 15. BECAUSE THE LIBRARY IS LICENSED FREE OF CHARGE, THERE IS NO +WARRANTY FOR THE LIBRARY, TO THE EXTENT PERMITTED BY APPLICABLE LAW. +EXCEPT WHEN OTHERWISE STATED IN WRITING THE COPYRIGHT HOLDERS AND/OR +OTHER PARTIES PROVIDE THE LIBRARY "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 +LIBRARY IS WITH YOU. SHOULD THE LIBRARY PROVE DEFECTIVE, YOU ASSUME +THE COST OF ALL NECESSARY SERVICING, REPAIR OR CORRECTION. + + 16. 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 LIBRARY 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 +LIBRARY (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 LIBRARY TO OPERATE WITH ANY OTHER SOFTWARE), EVEN IF +SUCH HOLDER OR OTHER PARTY HAS BEEN ADVISED OF THE POSSIBILITY OF SUCH +DAMAGES. + + END OF TERMS AND CONDITIONS + + How to Apply These Terms to Your New Libraries + + If you develop a new library, and you want it to be of the greatest +possible use to the public, we recommend making it free software that +everyone can redistribute and change. You can do so by permitting +redistribution under these terms (or, alternatively, under the terms of the +ordinary General Public License). + + To apply these terms, attach the following notices to the library. It is +safest to attach them to the start of each source file to most effectively +convey the exclusion of warranty; and each file should have at least the +"copyright" line and a pointer to where the full notice is found. + + + Copyright (C) + + This library is free software; you can redistribute it and/or + modify it under the terms of the GNU Lesser General Public + License as published by the Free Software Foundation; either + version 2.1 of the License, or (at your option) any later version. + + This library is distributed in the hope that it will be useful, + but WITHOUT ANY WARRANTY; without even the implied warranty of + MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU + Lesser General Public License for more details. + + You should have received a copy of the GNU Lesser General Public + License along with this library; if not, write to the Free Software + Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +Also add information on how to contact you by electronic and paper mail. + +You should also get your employer (if you work as a programmer) or your +school, if any, to sign a "copyright disclaimer" for the library, if +necessary. Here is a sample; alter the names: + + Yoyodyne, Inc., hereby disclaims all copyright interest in the + library `Frob' (a library for tweaking knobs) written by James Random Hacker. + + , 1 April 1990 + Ty Coon, President of Vice + +That's all there is to it! + + diff --git a/htdocs/js/phplayersmenu/LICENSE b/htdocs/js/phplayersmenu/LICENSE new file mode 100644 index 0000000..9b15f32 --- /dev/null +++ b/htdocs/js/phplayersmenu/LICENSE @@ -0,0 +1,24 @@ + +Copyright (C) 2001-2004 Marco Pratesi + +PHP Layers Menu is free software; you can redistribute it and/or +modify it under the terms of the GNU Lesser General Public +License as published by the Free Software Foundation; either +version 2.1 of the License, or (at your option) any later version. + +PHP Layers Menu is distributed in the hope that it will be useful, +but WITHOUT ANY WARRANTY; without even the implied warranty of +MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU +Lesser General Public License for more details. + +You should have received a copy of the GNU Lesser General Public +License along with this library; if not, write to the Free Software +Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA + +A copy of version 2.1 of the GNU Lesser General Public License +is available in the file COPYING. + +Marco Pratesi +http://www.marcopratesi.it/ + +This is taken from phplayersmenu-3.2.0-rc diff --git a/htdocs/js/phplayersmenu/layerstreemenu.css b/htdocs/js/phplayersmenu/layerstreemenu.css new file mode 100644 index 0000000..664cd18 --- /dev/null +++ b/htdocs/js/phplayersmenu/layerstreemenu.css @@ -0,0 +1,81 @@ +.treemenudiv { + display: block; + white-space: nowrap; + padding-top: 1px; + padding-bottom: 1px; +} + +.phplmnormal { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #000000; + text-decoration: none; +} + +a.phplmnormal:hover { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #000000; + background-color: #fff0c0; + text-decoration: none; +} + +a.phplm:link { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #000000; + text-decoration: none; +} + +a.phplm:visited { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #000000; + text-decoration: none; +} + +a.phplm:hover { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #841212; + background-color: #fff0c0; + text-decoration: none; +} + +a.phplm:active { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #ff0000; + text-decoration: none; +} + +a.phplmselected:link { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #dd0000; + background-color: #ffdd76; + text-decoration: none; +} + +a.phplmselected:visited { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #dd0000; + background-color: #ffdd76; + text-decoration: none; +} + +a.phplmselected:hover { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #841212; + background-color: #fff0c0; + text-decoration: none; +} + +a.phplmselected:active { + font-family: bitstream vera sans, luxi sans, verdana, geneva, arial, helvetica, sans-serif; + font-size: 13px; + color: #ff0000; + text-decoration: none; +} diff --git a/htdocs/js/phplayersmenu/lib/PHPLIB.php b/htdocs/js/phplayersmenu/lib/PHPLIB.php new file mode 100644 index 0000000..5076c93 --- /dev/null +++ b/htdocs/js/phplayersmenu/lib/PHPLIB.php @@ -0,0 +1,567 @@ + (original from PHPLIB) +// Bjoern Schotte (PEARification) +// Martin Jansen (PEAR conformance) +// +// $Id: PHPLIB.php,v 1.1.2.1 2005/11/27 03:55:50 wurley Exp $ +// + +//require_once "PEAR.php"; + +/** + * Converted PHPLIB Template class + * + * For those who want to use PHPLIB's fine template class, + * here's a PEAR conforming class with the original PHPLIB + * template code from phplib-stable CVS. Original author + * was Kristian Koehntopp + * + * @author Bjoern Schotte + * @author Martin Jansen (PEAR conformance) + * @version 1.0 + */ +class Template_PHPLIB +{ + /** + * If set, echo assignments + * @var bool + */ + var $debug = false; + + /** + * $file[handle] = "filename"; + * @var array + */ + var $file = array(); + + /** + * fallback paths that should be defined in a child class + * @var array + */ + var $file_fallbacks = array(); + + /** + * Relative filenames are relative to this pathname + * @var string + */ + var $root = ""; + + /* + * $_varKeys[key] = "key" + * @var array + */ + var $_varKeys = array(); + + /** + * $_varVals[key] = "value"; + * @var array + */ + var $_varVals = array(); + + /** + * "remove" => remove undefined variables + * "comment" => replace undefined variables with comments + * "keep" => keep undefined variables + * @var string + */ + var $unknowns = "remove"; + + /** + * "yes" => halt, "report" => report error, continue, "no" => ignore error quietly + * @var string + */ + var $haltOnError = "report"; + + /** + * The last error message is retained here + * @var string + * @see halt + */ + var $_lastError = ""; + + + /** + * Constructor + * + * @access public + * @param string template root directory + * @param string how to handle unknown variables + * @param array fallback paths + */ + function Template_PHPLIB($root = ".", $unknowns = "remove", $fallback="") + { + $this->setRoot($root); + $this->setUnknowns($unknowns); + if (is_array($fallback)) $this->file_fallbacks = $fallback; + } + + /** + * Sets the template directory + * + * @access public + * @param string new template directory + * @return bool + */ + function setRoot($root) + { + if (!is_dir($root)) { + $this->halt("setRoot: $root is not a directory."); + return false; + } + + $this->root = $root; + + return true; + } + + /** + * What to do with unknown variables + * + * three possible values: + * + * - "remove" will remove unknown variables + * (don't use this if you define CSS in your page) + * - "comment" will replace undefined variables with comments + * - "keep" will keep undefined variables as-is + * + * @access public + * @param string unknowns + */ + function setUnknowns($unknowns = "keep") + { + $this->unknowns = $unknowns; + } + + /** + * Set appropriate template files + * + * With this method you set the template files you want to use. + * Either you supply an associative array with key/value pairs + * where the key is the handle for the filname and the value + * is the filename itself, or you define $handle as the file name + * handle and $filename as the filename if you want to define only + * one template. + * + * @access public + * @param mixed handle for a filename or array with handle/name value pairs + * @param string name of template file + * @return bool + */ + function setFile($handle, $filename = "") + { + if (!is_array($handle)) { + + if ($filename == "") { + $this->halt("setFile: For handle $handle filename is empty."); + return false; + } + + $this->file[$handle] = $this->_filename($filename); + + } else { + + reset($handle); + while (list($h, $f) = each($handle)) { + $this->file[$h] = $this->_filename($f); + } + } + } + + /** + * Set a block in the appropriate template handle + * + * By setting a block like that: + * + * <!-- BEGIN blockname --> + * html code + * <!-- END blockname --> + * + * you can easily do repeating HTML code, i.e. output + * database data nice formatted into a HTML table where + * each DB row is placed into a HTML table row which is + * defined in this block. + * It extracts the template $handle from $parent and places + * variable {$name} instead. + * + * @access public + * @param string parent handle + * @param string block name handle + * @param string variable substitution name + */ + function setBlock($parent, $handle, $name = "") + { + if (!$this->_loadFile($parent)) { + $this->halt("setBlock: unable to load $parent."); + return false; + } + + if ($name == "") { + $name = $handle; + } + + $str = $this->getVar($parent); + $reg = "/[ \t]*\s*?\n?(\s*.*?\n?)\s*\s*?\n?/sm"; + preg_match_all($reg, $str, $m); + $str = preg_replace($reg, "{" . "$name}", $str); + + if (isset($m[1][0])) $this->setVar($handle, $m[1][0]); + $this->setVar($parent, $str); + } + + /** + * Set corresponding substitutions for placeholders + * + * @access public + * @param string name of a variable that is to be defined or an array of variables with value substitution as key/value pairs + * @param string value of that variable + * @param boolean if true, the value is appended to the variable's existing value + */ + function setVar($varname, $value = "", $append = false) + { + if (!is_array($varname)) { + + if (!empty($varname)) + if ($this->debug) print "scalar: set *$varname* to *$value*
    \n"; + + $this->_varKeys[$varname] = $this->_varname($varname); + ($append) ? $this->_varVals[$varname] .= $value : $this->_varVals[$varname] = $value; + + } else { + reset($varname); + + while (list($k, $v) = each($varname)) { + if (!empty($k)) + if ($this->debug) print "array: set *$k* to *$v*
    \n"; + + $this->_varKeys[$k] = $this->_varname($k); + ($append) ? $this->_varVals[$k] .= $v : $this->_varVals[$k] = $v; + } + } + } + + /** + * Substitute variables in handle $handle + * + * @access public + * @param string name of handle + * @return mixed string substituted content of handle + */ + function subst($handle) + { + if (!$this->_loadFile($handle)) { + $this->halt("subst: unable to load $handle."); + return false; + } + + return @str_replace($this->_varKeys, $this->_varVals, $this->getVar($handle)); + } + + /** + * Same as subst but printing the result + * + * @access public + * @brother subst + * @param string handle of template + * @return bool always false + */ + function pSubst($handle) + { + print $this->subst($handle); + return false; + } + + /** + * Parse handle into target + * + * Parses handle $handle into $target, eventually + * appending handle at $target if $append is defined + * as TRUE. + * + * @access public + * @param string target handle to parse into + * @param string which handle should be parsed + * @param boolean append it to $target or not? + * @return string parsed handle + */ + function parse($target, $handle, $append = false) + { + if (!is_array($handle)) { + $str = $this->subst($handle); + + ($append) ? $this->setVar($target, $this->getVar($target) . $str) : $this->setVar($target, $str); + } else { + reset($handle); + + while (list(, $h) = each($handle)) { + $str = $this->subst($h); + $this->setVar($target, $str); + } + } + + return $str; + } + + /** + * Same as parse, but printing it. + * + * @access public + * @brother parse + * @param string target to parse into + * @param string handle which should be parsed + * @param should $handle be appended to $target? + * @return bool + */ + function pParse($target, $handle, $append = false) + { + print $this->finish($this->parse($target, $handle, $append)); + return false; + } + + /** + * Return all defined variables and their values + * + * @access public + * @return array with all defined variables and their values + */ + function getVars() + { + reset($this->_varKeys); + + while (list($k, ) = each($this->_varKeys)) { + $result[$k] = $this->getVar($k); + } + + return $result; + } + + /** + * Return one or more specific variable(s) with their values. + * + * @access public + * @param mixed array with variable names or one variable name as a string + * @return mixed array of variable names with their values or value of one specific variable + */ + function getVar($varname) + { + if (!is_array($varname)) { + if (isset($this->_varVals[$varname])) { + return $this->_varVals[$varname]; + } else { + return ""; + } + } else { + reset($varname); + + while (list($k, ) = each($varname)) { + $result[$k] = (isset($this->_varVals[$k])) ? $this->_varVals[$k] : ""; + } + + return $result; + } + } + + /** + * Get undefined values of a handle + * + * @access public + * @param string handle name + * @return mixed false if an error occured or the undefined values + */ + function getUndefined($handle) + { + if (!$this->_loadFile($handle)) { + $this->halt("getUndefined: unable to load $handle."); + return false; + } + + preg_match_all("/{([^ \t\r\n}]+)}/", $this->getVar($handle), $m); + $m = $m[1]; + if (!is_array($m)) { + return false; + } + + reset($m); + while (list(, $v) = each($m)) { + if (!isset($this->_varKeys[$v])) { + $result[$v] = $v; + } + } + + if (isset($result) && count($result)) { + return $result; + } else { + return false; + } + } + + /** + * Finish string + * + * @access public + * @param string string to finish + * @return finished, i.e. substituted string + */ + function finish($str) + { + switch ($this->unknowns) { + case "remove": + $str = preg_replace('/{[^ \t\r\n}]+}/', "", $str); + break; + + case "comment": + $str = preg_replace('/{([^ \t\r\n}]+)}/', "", $str); + break; + } + + return $str; + } + + /** + * Print variable to the browser + * + * @access public + * @param string name of variable to print + */ + function p($varname) + { + print $this->finish($this->getVar($varname)); + } + + /** + * Get finished variable + * + * @access public public + * @param string variable to get + * @return string string with finished variable + */ + function get($varname) + { + return $this->finish($this->getVar($varname)); + } + + /** + * Complete filename + * + * Complete filename, i.e. testing it for slashes + * + * @access private + * @param string filename to be completed + * @return string completed filename + */ + function _filename($filename) + { +// if (substr($filename, 0, 1) != "/") { +// $filename = $this->root."/".$filename; +// } + + if (file_exists($filename)) return $filename; + if (is_array($this->file_fallbacks) && count($this->file_fallbacks) > 0) { + reset($this->file_fallbacks); + while (list(,$v) = each($this->file_fallbacks)) { + if (file_exists($v.basename($filename))) return $v.basename($filename); + } + $this->halt(sprintf("filename: file %s does not exist in the fallback paths %s.",$filename,implode(",",$this->file_fallbacks))); + return false; + } else { + $this->halt(sprintf("filename: file %s does not exist.",$filename)); + return false; + } + + return $filename; + } + + /** + * Protect a replacement variable + * + * @access private + * @param string name of replacement variable + * @return string replaced variable + */ + function _varname($varname) + { + return "{".$varname."}"; + } + + /** + * load file defined by handle if it is not loaded yet + * + * @access private + * @param string handle + * @return bool FALSE if error, true if all is ok + */ + function _loadFile($handle) + { + if (isset($this->_varKeys[$handle]) and !empty($this->_varVals[$handle])) { + return true; + } + + if (!isset($this->file[$handle])) { + $this->halt("loadfile: $handle is not a valid handle."); + return false; + } + + $filename = $this->file[$handle]; + if (function_exists("file_get_contents")) { + $str = file_get_contents($filename); + } else { + if (!$fp = @fopen($filename,"r")) { + $this->halt("loadfile: couldn't open $filename"); + return false; + } + + $str = fread($fp,filesize($filename)); + fclose($fp); + } + + if ($str=='') { + $this->halt("loadfile: While loading $handle, $filename does not exist or is empty."); + return false; + } + + $this->setVar($handle, $str); + + return true; + } + + /** + * Error function. Halt template system with message to show + * + * @access public + * @param string message to show + * @return bool + */ + function halt($msg) + { + $this->_lastError = $msg; + + if ($this->haltOnError != "no") { +// return $this->haltMsg($msg); + $this->haltMsg($msg); + } + + if ($this->haltOnError == "yes") { + die("Halted."); + } + + return false; + } + + /** + * printf error message to show + * + * @access public + * @param string message to show + * @return object PEAR error object + */ + function haltMsg($msg) + { +// PEAR::raiseError(sprintf("Template Error: %s
    \n", $msg)); + printf("Template Error: %s
    \n", $msg); + } +} +?> diff --git a/htdocs/js/phplayersmenu/lib/layersmenu-common.inc.php b/htdocs/js/phplayersmenu/lib/layersmenu-common.inc.php new file mode 100644 index 0000000..7f271e3 --- /dev/null +++ b/htdocs/js/phplayersmenu/lib/layersmenu-common.inc.php @@ -0,0 +1,957 @@ + 'id', + 'parent_id' => 'parent_id', + 'text' => 'text', + 'href' => 'href', + 'title' => 'title', + 'icon' => 'icon', + 'target' => 'target', + 'orderfield' => 'orderfield', + 'expanded' => 'expanded' +); +/** +* Names of fields of the i18n table corresponding to $tableName +* @access private +* @var array +*/ +var $tableFields_i18n = array( + 'language' => 'language', + 'id' => 'id', + 'text' => 'text', + 'title' => 'title' +); +/** +* A temporary array to store data retrieved from the DB and to perform the depth-first search +* @access private +* @var array +*/ +var $_tmpArray = array(); + +/** +* The constructor method; it initializates the menu system +* @return void +*/ +function LayersMenuCommon() +{ + $this->_packageName = 'PHP Layers Menu'; + $this->version = '3.2.0-rc'; + $this->copyright = '(C) 2001-2004'; + $this->author = 'Marco Pratesi - http://www.marcopratesi.it/'; + + $this->prependedUrl = ''; + + $this->dirroot = './'; + $this->libjsdir = './libjs/'; + $this->imgdir = './menuimages/'; + $this->imgwww = 'menuimages/'; + $this->icondir = './menuicons/'; + $this->iconwww = 'menuicons/'; + $this->tpldir = './templates/'; + $this->menuStructure = ''; + $this->separator = '|'; + + $this->_nodesCount = 0; + $this->tree = array(); + $this->treecnt = array(); + $this->_maxLevel = array(); + $this->_firstLevelCnt = array(); + $this->_firstItem = array(); + $this->_lastItem = array(); +} + +/** +* The method to set the prepended URL +* @access public +* @return boolean +*/ +function setPrependedUrl($prependedUrl) +{ + // We do not perform any check + $this->prependedUrl = $prependedUrl; + return true; +} + +/** +* The method to set the dirroot directory +* @access public +* @return boolean +*/ +function setDirrootCommon($dirroot) +{ + if (!is_dir($dirroot)) { + $this->error("setDirroot: $dirroot is not a directory."); + return false; + } + if (substr($dirroot, -1) != '/') { + $dirroot .= '/'; + } + $oldlength = strlen($this->dirroot); + $foobar = strpos($this->libjsdir, $this->dirroot); + if (!($foobar === false || $foobar != 0)) { + $this->libjsdir = $dirroot . substr($this->libjsdir, $oldlength); + } + $foobar = strpos($this->imgdir, $this->dirroot); + if (!($foobar === false || $foobar != 0)) { + $this->imgdir = $dirroot . substr($this->imgdir, $oldlength); + } + $foobar = strpos($this->icondir, $this->dirroot); + if (!($foobar === false || $foobar != 0)) { + $this->icondir = $dirroot . substr($this->icondir, $oldlength); + } + $foobar = strpos($this->tpldir, $this->dirroot); + if (!($foobar === false || $foobar != 0)) { + $this->tpldir = $dirroot . substr($this->tpldir, $oldlength); + } + $this->dirroot = $dirroot; + return true; +} + +/** +* The method to set the libjsdir directory +* @access public +* @return boolean +*/ +function setLibjsdir($libjsdir) +{ + if ($libjsdir != '' && substr($libjsdir, -1) != '/') { + $libjsdir .= '/'; + } + if ($libjsdir == '' || substr($libjsdir, 0, 1) != '/') { + $foobar = strpos($libjsdir, $this->dirroot); + if ($foobar === false || $foobar != 0) { + $libjsdir = $this->dirroot . $libjsdir; + } + } + if (!is_dir($libjsdir)) { + $this->error("setLibjsdir: $libjsdir is not a directory."); + return false; + } + $this->libjsdir = $libjsdir; + return true; +} + +/** +* The method to set the imgdir directory +* @access public +* @return boolean +*/ +function setImgdir($imgdir) +{ + if ($imgdir != '' && substr($imgdir, -1) != '/') { + $imgdir .= '/'; + } + if ($imgdir == '' || substr($imgdir, 0, 1) != '/') { + $foobar = strpos($imgdir, $this->dirroot); + if ($foobar === false || $foobar != 0) { + $imgdir = $this->dirroot . $imgdir; + } + } + if (!is_dir($imgdir)) { + $this->error("setImgdir: $imgdir is not a directory."); + return false; + } + $this->imgdir = $imgdir; + return true; +} + +/** +* The method to set imgwww +* @access public +* @return void +*/ +function setImgwww($imgwww) +{ + if ($imgwww != '' && substr($imgwww, -1) != '/') { + $imgwww .= '/'; + } + $this->imgwww = $imgwww; +} + +/** +* The method to set the icondir directory +* @access public +* @return boolean +*/ +function setIcondir($icondir) +{ + if ($icondir != '' && substr($icondir, -1) != '/') { + $icondir .= '/'; + } + if ($icondir == '' || substr($icondir, 0, 1) != '/') { + $foobar = strpos($icondir, $this->dirroot); + if ($foobar === false || $foobar != 0) { + $icondir = $this->dirroot . $icondir; + } + } + if (!is_dir($icondir)) { + $this->error("setIcondir: $icondir is not a directory."); + return false; + } + $this->icondir = $icondir; + return true; +} + +/** +* The method to set iconwww +* @access public +* @return void +*/ +function setIconwww($iconwww) +{ + if ($iconwww != '' && substr($iconwww, -1) != '/') { + $iconwww .= '/'; + } + $this->iconwww = $iconwww; +} + +/** +* The method to set the iconsize array +* @access public +* @return void +*/ +function setIconsize($width, $height) +{ + $this->iconsize['width'] = ($width == (int) $width) ? $width : 0; + $this->iconsize['height'] = ($height == (int) $height) ? $height : 0; + $this->issetIconsize = true; +} + +/** +* The method to unset the iconsize array +* @access public +* @return void +*/ +function unsetIconsize() +{ + unset($this->iconsize['width']); + unset($this->iconsize['height']); + $this->issetIconsize = false; +} + +/** +* The method to set the tpldir directory +* @access public +* @return boolean +*/ +function setTpldirCommon($tpldir) +{ + if ($tpldir != '' && substr($tpldir, -1) != '/') { + $tpldir .= '/'; + } + if ($tpldir == '' || substr($tpldir, 0, 1) != '/') { + $foobar = strpos($tpldir, $this->dirroot); + if ($foobar === false || $foobar != 0) { + $tpldir = $this->dirroot . $tpldir; + } + } + if (!is_dir($tpldir)) { + $this->error("setTpldir: $tpldir is not a directory."); + return false; + } + $this->tpldir = $tpldir; + return true; +} + +/** +* The method to read the menu structure from a file +* @access public +* @param string $tree_file the menu structure file +* @return boolean +*/ +function setMenuStructureFile($tree_file) +{ + if (!($fd = fopen($tree_file, 'r'))) { + $this->error("setMenuStructureFile: unable to open file $tree_file."); + return false; + } + $this->menuStructure = ''; + while ($buffer = fgets($fd, 4096)) { + $buffer = ereg_replace(chr(13), '', $buffer); // Microsoft Stupidity Suppression + $this->menuStructure .= $buffer; + } + fclose($fd); + if ($this->menuStructure == '') { + $this->error("setMenuStructureFile: $tree_file is empty."); + return false; + } + return true; +} + +/** +* The method to set the menu structure passing it through a string +* @access public +* @param string $tree_string the menu structure string +* @return boolean +*/ +function setMenuStructureString($tree_string) +{ + $this->menuStructure = ereg_replace(chr(13), '', $tree_string); // Microsoft Stupidity Suppression + if ($this->menuStructure == '') { + $this->error('setMenuStructureString: empty string.'); + return false; + } + return true; +} + +/** +* The method to set the value of separator +* @access public +* @return void +*/ +function setSeparator($separator) +{ + $this->separator = $separator; +} + +/** +* The method to set parameters for the DB connection +* @access public +* @param string $dns Data Source Name: the connection string for PEAR DB +* @param bool $persistent DB connections are either persistent or not persistent +* @return boolean +*/ +function setDBConnParms($dsn, $persistent=false) +{ + if (!is_string($dsn)) { + $this->error('initdb: $dsn is not an string.'); + return false; + } + if (!is_bool($persistent)) { + $this->error('initdb: $persistent is not a boolean.'); + return false; + } + $this->dsn = $dsn; + $this->persistent = $persistent; + return true; +} + +/** +* The method to set the name of the table storing data describing the menu +* @access public +* @param string +* @return boolean +*/ +function setTableName($tableName) +{ + if (!is_string($tableName)) { + $this->error('setTableName: $tableName is not a string.'); + return false; + } + $this->tableName = $tableName; + return true; +} + +/** +* The method to set the name of the i18n table corresponding to $tableName +* @access public +* @param string +* @return boolean +*/ +function setTableName_i18n($tableName_i18n) +{ + if (!is_string($tableName_i18n)) { + $this->error('setTableName_i18n: $tableName_i18n is not a string.'); + return false; + } + $this->tableName_i18n = $tableName_i18n; + return true; +} + +/** +* The method to set names of fields of the table storing data describing the menu +* @access public +* @param array +* @return boolean +*/ +function setTableFields($tableFields) +{ + if (!is_array($tableFields)) { + $this->error('setTableFields: $tableFields is not an array.'); + return false; + } + if (count($tableFields) == 0) { + $this->error('setTableFields: $tableFields is a zero-length array.'); + return false; + } + reset ($tableFields); + while (list($key, $value) = each($tableFields)) { + $this->tableFields[$key] = ($value == '') ? "''" : $value; + } + return true; +} + +/** +* The method to set names of fields of the i18n table corresponding to $tableName +* @access public +* @param array +* @return boolean +*/ +function setTableFields_i18n($tableFields_i18n) +{ + if (!is_array($tableFields_i18n)) { + $this->error('setTableFields_i18n: $tableFields_i18n is not an array.'); + return false; + } + if (count($tableFields_i18n) == 0) { + $this->error('setTableFields_i18n: $tableFields_i18n is a zero-length array.'); + return false; + } + reset ($tableFields_i18n); + while (list($key, $value) = each($tableFields_i18n)) { + $this->tableFields_i18n[$key] = ($value == '') ? "''" : $value; + } + return true; +} + +/** +* The method to parse the current menu structure and correspondingly update related variables +* @access public +* @param string $menu_name the name to be attributed to the menu +* whose structure has to be parsed +* @return void +*/ +function parseStructureForMenu( + $menu_name = '' // non consistent default... + ) +{ + $this->_maxLevel[$menu_name] = 0; + $this->_firstLevelCnt[$menu_name] = 0; + $this->_firstItem[$menu_name] = $this->_nodesCount + 1; + $cnt = $this->_firstItem[$menu_name]; + $menuStructure = $this->menuStructure; + + /* *********************************************** */ + /* Partially based on a piece of code taken from */ + /* TreeMenu 1.1 - Bjorge Dijkstra (bjorge@gmx.net) */ + /* *********************************************** */ + + while ($menuStructure != '') { + $before_cr = strcspn($menuStructure, "\n"); + $buffer = substr($menuStructure, 0, $before_cr); + $menuStructure = substr($menuStructure, $before_cr+1); + if (substr($buffer, 0, 1) == '#') { + continue; // commented item line... + } + $tmp = rtrim($buffer); + $node = explode($this->separator, $tmp); + for ($i=count($node); $i<=7; $i++) { + $node[$i] = ''; + } + $this->tree[$cnt]['level'] = strlen($node[0]); + $this->tree[$cnt]['text'] = $node[1]; + $this->tree[$cnt]['href'] = $node[2]; + $this->tree[$cnt]['title'] = $node[3]; + $this->tree[$cnt]['icon'] = $node[4]; + $this->tree[$cnt]['target'] = $node[5]; + $this->tree[$cnt]['expanded'] = $node[6]; + $this->tree[$cnt]['children'] = $node[7]; + $cnt++; + } + + /* *********************************************** */ + + $this->_lastItem[$menu_name] = count($this->tree); + $this->_nodesCount = $this->_lastItem[$menu_name]; + $this->tree[$this->_lastItem[$menu_name]+1]['level'] = 0; + $this->_postParse($menu_name); +} + +/** +* The method to parse the current menu table and correspondingly update related variables +* @access public +* @param string $menu_name the name to be attributed to the menu +* whose structure has to be parsed +* @param string $language i18n language; either omit it or pass +* an empty string ('') if you do not want to use any i18n table +* @return void +*/ +function scanTableForMenu( + $menu_name = '', // non consistent default... + $language = '' + ) +{ + $this->_maxLevel[$menu_name] = 0; + $this->_firstLevelCnt[$menu_name] = 0; + unset($this->tree[$this->_nodesCount+1]); + $this->_firstItem[$menu_name] = $this->_nodesCount + 1; +/* BEGIN BENCHMARK CODE +$time_start = $this->_getmicrotime(); +/* END BENCHMARK CODE */ + $db = DB::connect($this->dsn, $this->persistent); + if (DB::isError($db)) { + $this->error('scanTableForMenu: ' . $db->getMessage()); + } + $dbresult = $db->query(' + SELECT ' . + $this->tableFields['id'] . ' AS id, ' . + $this->tableFields['parent_id'] . ' AS parent_id, ' . + $this->tableFields['text'] . ' AS text, ' . + $this->tableFields['href'] . ' AS href, ' . + $this->tableFields['title'] . ' AS title, ' . + $this->tableFields['icon'] . ' AS icon, ' . + $this->tableFields['target'] . ' AS target, ' . + $this->tableFields['expanded'] . ' AS expanded + FROM ' . $this->tableName . ' + WHERE ' . $this->tableFields['id'] . ' <> 1 + ORDER BY ' . $this->tableFields['orderfield'] . ', ' . $this->tableFields['text'] . ' ASC + '); + $this->_tmpArray = array(); + while ($dbresult->fetchInto($row, DB_FETCHMODE_ASSOC)) { + $this->_tmpArray[$row['id']]['parent_id'] = $row['parent_id']; + $this->_tmpArray[$row['id']]['text'] = $row['text']; + $this->_tmpArray[$row['id']]['href'] = $row['href']; + $this->_tmpArray[$row['id']]['title'] = $row['title']; + $this->_tmpArray[$row['id']]['icon'] = $row['icon']; + $this->_tmpArray[$row['id']]['target'] = $row['target']; + $this->_tmpArray[$row['id']]['expanded'] = $row['expanded']; + } + if ($language != '') { + $dbresult = $db->query(' + SELECT ' . + $this->tableFields_i18n['id'] . ' AS id, ' . + $this->tableFields_i18n['text'] . ' AS text, ' . + $this->tableFields_i18n['title'] . ' AS title + FROM ' . $this->tableName_i18n . ' + WHERE ' . $this->tableFields_i18n['id'] . ' <> 1 + AND ' . $this->tableFields_i18n['language'] . ' = ' . "'$language'" . ' + '); + while ($dbresult->fetchInto($row, DB_FETCHMODE_ASSOC)) { + if (isset($this->_tmpArray[$row['id']])) { + $this->_tmpArray[$row['id']]['text'] = $row['text']; + $this->_tmpArray[$row['id']]['title'] = $row['title']; + } + } + } + unset($dbresult); + unset($row); + $this->_depthFirstSearch($menu_name, $this->_tmpArray, 1, 1); +/* BEGIN BENCHMARK CODE +$time_end = $this->_getmicrotime(); +$time = $time_end - $time_start; +print "TIME ELAPSED = $time\n
    "; +/* END BENCHMARK CODE */ + $this->_lastItem[$menu_name] = count($this->tree); + $this->_nodesCount = $this->_lastItem[$menu_name]; + $this->tree[$this->_lastItem[$menu_name]+1]['level'] = 0; + $this->_postParse($menu_name); +} + +function _getmicrotime() +{ + list($usec, $sec) = explode(' ', microtime()); + return ((float) $usec + (float) $sec); +} + +/** +* Recursive method to perform the depth-first search of the tree data taken from the current menu table +* @access private +* @param string $menu_name the name to be attributed to the menu +* whose structure has to be parsed +* @param array $tmpArray the temporary array that stores data to perform +* the depth-first search +* @param integer $parent_id id of the item whose children have +* to be searched for +* @param integer $level the hierarchical level of children to be searched for +* @return void +*/ +function _depthFirstSearch($menu_name, $tmpArray, $parent_id=1, $level=1) +{ + reset ($tmpArray); + while (list($id, $foobar) = each($tmpArray)) { + if ($foobar['parent_id'] == $parent_id) { + unset($tmpArray[$id]); + unset($this->_tmpArray[$id]); + $cnt = count($this->tree) + 1; + $this->tree[$cnt]['level'] = $level; + $this->tree[$cnt]['text'] = $foobar['text']; + $this->tree[$cnt]['href'] = $foobar['href']; + $this->tree[$cnt]['title'] = $foobar['title']; + $this->tree[$cnt]['icon'] = $foobar['icon']; + $this->tree[$cnt]['target'] = $foobar['target']; + $this->tree[$cnt]['expanded'] = $foobar['expanded']; + $this->tree[$cnt]['children'] = $foobar['children']; + $this->treecnt[$menu_name][$id] = $cnt; + unset($foobar); + if ($id != $parent_id) { + $this->_depthFirstSearch($menu_name, $this->_tmpArray, $id, $level+1); + } + } + } +} + +/** +* A method providing parsing needed after both file/string parsing and DB table parsing +* @access private +* @param string $menu_name the name of the menu for which the parsing +* has to be performed +* @return void +*/ +function _postParse( + $menu_name = '' // non consistent default... + ) +{ + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { // this counter scans all nodes of the new menu + $this->tree[$cnt]['child_of_root_node'] = ($this->tree[$cnt]['level'] == 1); + $this->tree[$cnt]['parsed_text'] = stripslashes($this->tree[$cnt]['text']); + $this->tree[$cnt]['parsed_href'] = (ereg_replace(' ', '', $this->tree[$cnt]['href']) == '') ? '#' : $this->prependedUrl . $this->tree[$cnt]['href']; + $this->tree[$cnt]['parsed_title'] = ($this->tree[$cnt]['title'] == '') ? '' : ' title="' . stripslashes($this->tree[$cnt]['title']) . '"'; + $fooimg = $this->icondir . $this->tree[$cnt]['icon']; + if ($this->tree[$cnt]['icon'] != '' && (substr($this->tree[$cnt]['icon'], 0, 7) == 'http://' || substr($this->tree[$cnt]['icon'], 0, 8) == 'https://')) { + $this->tree[$cnt]['parsed_icon'] = $this->tree[$cnt]['icon']; + if ($this->issetIconsize) { + $this->tree[$cnt]['iconwidth'] = $this->iconsize['width']; + $this->tree[$cnt]['iconheight'] = $this->iconsize['height']; + } else { + $foobar = getimagesize($this->tree[$cnt]['icon']); + $this->tree[$cnt]['iconwidth'] = $foobar[0]; + $this->tree[$cnt]['iconheight'] = $foobar[1]; + } + } elseif ($this->tree[$cnt]['icon'] != '' && file_exists($fooimg)) { + $this->tree[$cnt]['parsed_icon'] = $this->iconwww . $this->tree[$cnt]['icon']; + if ($this->issetIconsize) { + $this->tree[$cnt]['iconwidth'] = $this->iconsize['width']; + $this->tree[$cnt]['iconheight'] = $this->iconsize['height']; + } else { + $foobar = getimagesize($fooimg); + $this->tree[$cnt]['iconwidth'] = $foobar[0]; + $this->tree[$cnt]['iconheight'] = $foobar[1]; + } + } else { + $this->tree[$cnt]['parsed_icon'] = ''; + } + $this->tree[$cnt]['parsed_target'] = ($this->tree[$cnt]['target'] == '') ? '' : ' target="' . $this->tree[$cnt]['target'] . '"'; +// $this->tree[$cnt]['expanded'] = ($this->tree[$cnt]['expanded'] == '') ? 0 : $this->tree[$cnt]['expanded']; + $this->_maxLevel[$menu_name] = max($this->_maxLevel[$menu_name], $this->tree[$cnt]['level']); + if ($this->tree[$cnt]['level'] == 1) { + $this->_firstLevelCnt[$menu_name]++; + } + } +} + +/** +* A method to replace strings in all URLs (hrefs) of a menu +* @access public +* @param string $menu_name the name of the menu for which the replacement +* has to be performed +* @param string $string the string to be replaced +* @param string $value the replacement string +* @return void +*/ +function replaceStringInUrls($menu_name, $string, $value) +{ + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { // this counter scans all nodes of the new menu + $this->tree[$cnt]['parsed_href'] = str_replace($string, $value, $this->tree[$cnt]['parsed_href']); + } +} + +/** +* A method to set the same target for all links of a menu +* @access public +* @param string $menu_name the name of the menu for which the targets +* have to be set +* @param string $target the target to be set for all links +* of the $menu_name menu +* @return void +*/ +function setLinksTargets($menu_name, $target) +{ + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { // this counter scans all nodes of the new menu + $this->tree[$cnt]['parsed_target'] = ' target="' . $target . '"'; + } +} + +/** +* A method to select the current item of $menu_name in terms of $cnt, i.e., very likely, in terms of its line number in the corresponding menu structure file (excluding from the count commented out lines, if any) +* @access public +* @param string $menu_name the name of the menu for which the current item +* has to be selected +* @param integer $count the line number of the current item +* in the corresponding menu structure file +* (excluding from the count commented out lines, if any) +* @return void +*/ +function setSelectedItemByCount($menu_name, $count) +{ + if ($count < 1) { + $this->error("setSelectedItemByCount: the \$count argument is $count, but \$count can not be lower than 1"); + return; + } + if ($count > $this->_lastItem[$menu_name] - $this->_firstItem[$menu_name] + 1) { + $this->error("setSelectedItemByCount: the \$count argument is $count and is larger than the number of items of the '$menu_name' menu"); + return; + } + $cnt = $this->_firstItem[$menu_name] + $count - 1; + $this->tree[$cnt]['selected'] = true; +} + +/** +* A method to select the current item of $menu_name in terms of the corresponding id (see the DB table structure); obviously, this method can be used only together with the DB support +* @access public +* @param string $menu_name the name of the menu for which the current item +* has to be selected +* @param integer $id the id of the current item in the corresponding DB table +* @return void +*/ +function setSelectedItemById($menu_name, $id) +{ + if (!isset($this->treecnt[$menu_name][$id])) { + $this->error("setSelectedItemById: there is not any item with \$id = $id in the '$menu_name' menu"); + return; + } + $cnt = $this->treecnt[$menu_name][$id]; + $this->tree[$cnt]['selected'] = true; +} + +/** +* A method to select the current item of $menu_name specifying a string that occurs in the current URL +* @access public +* @param string $menu_name the name of the menu for which the current item +* has to be selected +* @param string $url a string that occurs in the current URL +* @return void +*/ +function setSelectedItemByUrl($menu_name, $url) +{ + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { // this counter scans all nodes of the new menu + if (!(strpos($this->tree[$cnt]['parsed_href'], $url) === false)) { + $this->tree[$cnt]['selected'] = true; + break; + } + } +} + +/** +* A method to select the current item of $menu_name specifying a regular expression that matches (a substring of) the current URL; just the same as the setSelectedItemByUrl() method, but using eregi() instead of strpos() +* @access public +* @param string $menu_name the name of the menu for which the current item +* has to be selected +* @param string $url_eregi the regular expression that matches +* (a substring of) the current URL +* @return void +*/ +function setSelectedItemByUrlEregi($menu_name, $url_eregi) +{ + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { // this counter scans all nodes of the new menu + if (eregi($url_eregi, $this->tree[$cnt]['parsed_href'])) { + $this->tree[$cnt]['selected'] = true; + break; + } + } +} + +/** +* Method to handle errors +* @access private +* @param string $errormsg the error message +* @return void +*/ +function error($errormsg) +{ + print "LayersMenu Error: $errormsg
    \n"; + if ($this->haltOnError == 'yes') { + die("Halted.
    \n"); + } +} + +} /* END OF CLASS */ + +?> diff --git a/htdocs/js/phplayersmenu/lib/treemenu.inc.php b/htdocs/js/phplayersmenu/lib/treemenu.inc.php new file mode 100644 index 0000000..7beb55c --- /dev/null +++ b/htdocs/js/phplayersmenu/lib/treemenu.inc.php @@ -0,0 +1,383 @@ +LayersMenuCommon(); + + $this->treeMenuImagesType = 'png'; + $this->treeMenuTheme = ''; + $this->_treeMenu = array(); + + $this->_nodesCount = 0; + $this->tree = array(); + $this->_maxLevel = array(); + $this->_firstLevelCnt = array(); + $this->_firstItem = array(); + $this->_lastItem = array(); +} + +/** +* The method to set the dirroot directory +* @access public +* @return boolean +*/ +function setDirroot($dirroot) +{ + return $this->setDirrootCommon($dirroot); +} + +/** +* The method to set the type of images used for the Tree Menu +* @access public +* @return void +*/ +function setTreeMenuImagesType($treeMenuImagesType) +{ + $this->treeMenuImagesType = $treeMenuImagesType; +} + +/** +* The method to set the prefix for filenames of images of a theme +* @access public +* @return void +*/ +function setTreeMenuTheme($treeMenuTheme) +{ + $this->treeMenuTheme = $treeMenuTheme; +} + +/** +* Method to prepare a new Tree Menu. +* +* This method processes items of a menu to prepare and return +* the corresponding Tree Menu code. +* +* @access public +* @param string $menu_name the name of the menu whose items have to be processed +* @return string +*/ +function newTreeMenu( + $menu_name = '' // non consistent default... + ) +{ + + /* If cookies were disabled, build the url parameter for the session id. + It will be append to the url to be redirect */ + $id_session_param = ''; + if (SID != '') + $id_session_param = sprintf('&%s=%s',session_name(),session_id()); + global $ldapserver; + + if (!isset($this->_firstItem[$menu_name]) || !isset($this->_lastItem[$menu_name])) { + $this->error("newTreeMenu: the first/last item of the menu '$menu_name' is not defined; please check if you have parsed its menu data."); + return 0; + } + + $this->_treeMenu[$menu_name] = ''; + + $img_collapse = $this->imgwww . $this->treeMenuTheme . 'tree_collapse.' . $this->treeMenuImagesType; + $alt_collapse = '--'; + $img_collapse_corner = $this->imgwww . $this->treeMenuTheme . 'tree_collapse_corner.' . $this->treeMenuImagesType; + $alt_collapse_corner = '--'; + $img_collapse_corner_first = $this->imgwww . $this->treeMenuTheme . 'tree_collapse_corner_first.' . $this->treeMenuImagesType; + $alt_collapse_corner_first = '--'; + $img_collapse_first = $this->imgwww . $this->treeMenuTheme . 'tree_collapse_first.' . $this->treeMenuImagesType; + $alt_collapse_first = '--'; + $img_corner = $this->imgwww . $this->treeMenuTheme . 'tree_corner.' . $this->treeMenuImagesType; + $alt_corner = '`-'; + $img_expand = $this->imgwww . $this->treeMenuTheme . 'tree_expand.' . $this->treeMenuImagesType; + $alt_expand = '+-'; + $img_expand_corner = $this->imgwww . $this->treeMenuTheme . 'tree_expand_corner.' . $this->treeMenuImagesType; + $alt_expand_corner = '+-'; + $img_expand_corner_first = $this->imgwww . $this->treeMenuTheme . 'tree_expand_corner_first.' . $this->treeMenuImagesType; + $alt_expand_corner_first = '+-'; + $img_expand_first = $this->imgwww . $this->treeMenuTheme . 'tree_expand_first.' . $this->treeMenuImagesType; + $alt_expand_first = '+-'; + $img_folder_closed = $this->imgwww . $this->treeMenuTheme . 'tree_folder_closed.' . $this->treeMenuImagesType; + $alt_folder_closed = '->'; + $img_folder_open = $this->imgwww . $this->treeMenuTheme . 'tree_folder_open.' . $this->treeMenuImagesType; + $alt_folder_open = '->'; + $img_leaf = $this->imgwww . $this->treeMenuTheme . 'tree_leaf.' . $this->treeMenuImagesType; + $alt_leaf = '->'; + $img_space = $this->imgwww . $this->treeMenuTheme . 'tree_space.' . $this->treeMenuImagesType; + $alt_space = ' '; + $img_split = $this->imgwww . $this->treeMenuTheme . 'tree_split.' . $this->treeMenuImagesType; + $alt_split = '|-'; + $img_split_first = $this->imgwww . $this->treeMenuTheme . 'tree_split_first.' . $this->treeMenuImagesType; + $alt_split_first = '|-'; + $img_vertline = $this->imgwww . $this->treeMenuTheme . 'tree_vertline.' . $this->treeMenuImagesType; + $alt_vertline = '| '; + + for ($i=0; $i<=$this->_maxLevel[$menu_name]; $i++) { + $levels[$i] = 0; + } + + // Find last nodes of subtrees + $last_level = $this->_maxLevel[$menu_name]; + for ($i=$this->_lastItem[$menu_name]; $i>=$this->_firstItem[$menu_name]; $i--) { + if ($this->tree[$i]['level'] < $last_level) { + for ($j=$this->tree[$i]['level']+1; $j<=$this->_maxLevel[$menu_name]; $j++) { + $levels[$j] = 0; + } + } + if ($levels[$this->tree[$i]['level']] == 0) { + $levels[$this->tree[$i]['level']] = 1; + $this->tree[$i]['last_item'] = 1; + } else { + $this->tree[$i]['last_item'] = 0; + } + $last_level = $this->tree[$i]['level']; + } + + $toggle = ''; + $toggle_function_name = 'toggle' . $menu_name; + + for ($cnt=$this->_firstItem[$menu_name]; $cnt<=$this->_lastItem[$menu_name]; $cnt++) { + if ($this->tree[$cnt]['text'] == '---') { + continue; // separators are significant only for layers-based menus + } + + if (isset($this->tree[$cnt]['selected']) && $this->tree[$cnt]['selected']) { + $linkstyle = 'phplmselected'; + } else { + $linkstyle = 'phplm'; + } + + $this->_treeMenu[$menu_name] .= '
    ' . "\n"; + + // vertical lines from higher levels + for ($i=0; $i<$this->tree[$cnt]['level']-1; $i++) { + if ($levels[$i] == 1) { + $img = $img_vertline; + $alt = $alt_vertline; + } else { + $img = $img_space; + $alt = $alt_space; + } + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } + + $not_a_leaf = ($cnt<$this->_lastItem[$menu_name] && $this->tree[$cnt+1]['level']>$this->tree[$cnt]['level']) || (isset($this->tree[$cnt]['children']) && $this->tree[$cnt]['children']); + + if ($this->tree[$cnt]['last_item'] == 1) { + // corner at end of subtree or t-split + if ($not_a_leaf) { + if ($cnt == $this->_firstItem[$menu_name]) { + $img = $img_collapse_corner_first; + $alt = $alt_collapse_corner_first; + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } else { + if ($this->tree[$cnt]['last_item'] && $this->tree[$cnt]['children']) { + $img = $img_expand_corner; + $alt = $alt_expand_corner; + // @todo: nasty hack, should really do this better. + $parsed_href = preg_replace('/template_engine.php/','expand.php',$this->tree[$cnt]['parsed_href']); + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } else { + $img = $img_collapse_corner; + $alt = $alt_collapse_corner; + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } + } + } else { + $this->_treeMenu[$menu_name] .= '' . $alt_corner . ''; + } + $levels[$this->tree[$cnt]['level']-1] = 0; + } else { + if ($not_a_leaf) { + if ($cnt == $this->_firstItem[$menu_name]) { + $img = $img_collapse_first; + $alt = $alt_collapse_first; + + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } else { + if (! $this->tree[$cnt]['last_item'] && $this->tree[$cnt]['children']) { + $img = $img_expand; + $alt = $alt_expand; + // @todo: nasty hack, should really do this better. + $parsed_href = preg_replace('/template_engine.php/','expand.php',$this->tree[$cnt]['parsed_href']); + + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } else { + $img = $img_collapse; + $alt = $alt_collapse; + + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } + } + } else { + if ($cnt == $this->_firstItem[$menu_name]) { + $img = $img_split_first; + $alt = $alt_split_first; + } else { + $img = $img_split; + $alt = $alt_split; + } + $this->_treeMenu[$menu_name] .= '' . $alt . ''; + } + $levels[$this->tree[$cnt]['level']-1] = 1; + } + + if ($this->tree[$cnt]['parsed_href'] == '' || $this->tree[$cnt]['parsed_href'] == '#') { + $a_href_open_img = ''; + $a_href_close_img = ''; + $a_href_open = ''; + $a_href_close = ''; + } else { + $a_href_open_img = 'tree[$cnt]['parsed_title'] . $this->tree[$cnt]['parsed_target'] . '>'; + $a_href_close_img = ''; + $a_href_open = 'tree[$cnt]['parsed_title'] . $this->tree[$cnt]['parsed_target'] . ' class="' . $linkstyle . '">'; + $a_href_close = ''; + } + + if ($not_a_leaf) { +// $this->_treeMenu[$menu_name] .= $a_href_open_img . '' . $alt_folder_open . '' . $a_href_close_img; + $this->_treeMenu[$menu_name] .= $a_href_open_img . '' . $alt_folder_open . '' . $a_href_close_img; + } else { + if ($this->tree[$cnt]['parsed_icon'] != '') { +// $this->_treeMenu[$menu_name] .= $a_href_open_img . '' . $alt_leaf . '' . $a_href_close_img; + $this->_treeMenu[$menu_name] .= $a_href_open_img . '' . $alt_leaf . '' . $a_href_close_img; + } else { + $this->_treeMenu[$menu_name] .= $a_href_open_img . '' . $alt_leaf . '' . $a_href_close_img; + } + } + $this->_treeMenu[$menu_name] .= ' ' . $a_href_open . $this->tree[$cnt]['text'] . $a_href_close . "\n"; + $this->_treeMenu[$menu_name] .= '
    ' . "\n"; + + if ($cnt<$this->_lastItem[$menu_name] && $this->tree[$cnt]['level']<$this->tree[$cnt+1]['level']) { + $this->_treeMenu[$menu_name] .= '
    ' . "\n"; + if ($this->tree[$cnt]['expanded'] != 1) { + $toggle .= 'if (phplm_expand[' . $cnt . '] != 1) ' . $toggle_function_name . "('" . $cnt . "');\n"; + } else { + $toggle .= 'if (phplm_collapse[' . $cnt . '] == 1) ' . $toggle_function_name . "('" . $cnt . "');\n"; + } + } + + if ($cnt>$this->_firstItem[$menu_name] && $this->tree[$cnt]['level']>$this->tree[$cnt+1]['level']) { + for ($i=max(1, $this->tree[$cnt+1]['level']); $i<$this->tree[$cnt]['level']; $i++) { + $this->_treeMenu[$menu_name] .= '
    ' . "\n"; + } + } + } + +/* + $this->_treeMenu[$menu_name] = + '
    ' . "\n" . + $this->_treeMenu[$menu_name] . + '
    ' . "\n"; +*/ + // Some (old) browsers do not support the "white-space: nowrap;" CSS property... + $this->_treeMenu[$menu_name] = + '' . "\n" . + '' . "\n" . + '' . "\n" . + '' . "\n" . + '
    ' . "\n" . + $this->_treeMenu[$menu_name] . + '
    ' . "\n"; + + $t = new Template_PHPLIB(); + $t->setFile('tplfile', $this->libjsdir . 'layerstreemenu.ijs'); + $t->setVar(array( + 'toggle_function_name' => $toggle_function_name, + 'img_collapse' => $img_collapse, + 'img_collapse_corner' => $img_collapse_corner, + 'img_collapse_corner_first' => $img_collapse_corner_first, + 'img_collapse_first' => $img_collapse_first, + 'img_expand' => $img_expand, + 'img_expand_corner' => $img_expand_corner, + 'img_expand_corner_first' => $img_expand_corner_first, + 'img_expand_first' => $img_expand_first, + 'img_folder_closed' => $img_folder_closed, + 'img_folder_open' => $img_folder_open + )); + $toggle_function = $t->parse('out', 'tplfile'); + $toggle_function = + '' . "\n"; + + $toggle = + '' . "\n"; + + $this->_treeMenu[$menu_name] = $toggle_function . "\n" . $this->_treeMenu[$menu_name] . "\n" . $toggle; + + return $this->_treeMenu[$menu_name]; +} + +/** +* Method that returns the code of the requested Tree Menu +* @access public +* @param string $menu_name the name of the menu whose Tree Menu code +* has to be returned +* @return string +*/ +function getTreeMenu($menu_name) +{ + return $this->_treeMenu[$menu_name]; +} + +/** +* Method that prints the code of the requested Tree Menu +* @access public +* @param string $menu_name the name of the menu whose Tree Menu code +* has to be printed +* @return void +*/ +function printTreeMenu($menu_name) +{ + print $this->_treeMenu[$menu_name]; +} + +} /* END OF CLASS */ + +?> diff --git a/htdocs/js/phplayersmenu/libjs/layersmenu-browser_detection.js b/htdocs/js/phplayersmenu/libjs/layersmenu-browser_detection.js new file mode 100644 index 0000000..79896a0 --- /dev/null +++ b/htdocs/js/phplayersmenu/libjs/layersmenu-browser_detection.js @@ -0,0 +1,33 @@ +// PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/ + +DOM = (document.getElementById) ? 1 : 0; +NS4 = (document.layers) ? 1 : 0; +// We need to explicitly detect Konqueror +// because Konqueror 3 sets IE = 1 ... AAAAAAAAAARGHHH!!! +Konqueror = (navigator.userAgent.indexOf('Konqueror') > -1) ? 1 : 0; +// We need to detect Konqueror 2.2 as it does not handle the window.onresize event +Konqueror22 = (navigator.userAgent.indexOf('Konqueror 2.2') > -1 || navigator.userAgent.indexOf('Konqueror/2.2') > -1) ? 1 : 0; +Konqueror30 = + ( + navigator.userAgent.indexOf('Konqueror 3.0') > -1 + || navigator.userAgent.indexOf('Konqueror/3.0') > -1 + || navigator.userAgent.indexOf('Konqueror 3;') > -1 + || navigator.userAgent.indexOf('Konqueror/3;') > -1 + || navigator.userAgent.indexOf('Konqueror 3)') > -1 + || navigator.userAgent.indexOf('Konqueror/3)') > -1 + ) + ? 1 : 0; +Konqueror31 = (navigator.userAgent.indexOf('Konqueror 3.1') > -1 || navigator.userAgent.indexOf('Konqueror/3.1') > -1) ? 1 : 0; +// We need to detect Konqueror 3.2 and 3.3 as they are affected by the see-through effect only for 2 form elements +Konqueror32 = (navigator.userAgent.indexOf('Konqueror 3.2') > -1 || navigator.userAgent.indexOf('Konqueror/3.2') > -1) ? 1 : 0; +Konqueror33 = (navigator.userAgent.indexOf('Konqueror 3.3') > -1 || navigator.userAgent.indexOf('Konqueror/3.3') > -1) ? 1 : 0; +Opera = (navigator.userAgent.indexOf('Opera') > -1) ? 1 : 0; +Opera5 = (navigator.userAgent.indexOf('Opera 5') > -1 || navigator.userAgent.indexOf('Opera/5') > -1) ? 1 : 0; +Opera6 = (navigator.userAgent.indexOf('Opera 6') > -1 || navigator.userAgent.indexOf('Opera/6') > -1) ? 1 : 0; +Opera56 = Opera5 || Opera6; +IE = (navigator.userAgent.indexOf('MSIE') > -1) ? 1 : 0; +IE = IE && !Opera; +IE5 = IE && DOM; +IE4 = (document.all) ? 1 : 0; +IE4 = IE4 && IE && !DOM; + diff --git a/htdocs/js/phplayersmenu/libjs/layerstreemenu-cookies.js b/htdocs/js/phplayersmenu/libjs/layerstreemenu-cookies.js new file mode 100644 index 0000000..ea36afc --- /dev/null +++ b/htdocs/js/phplayersmenu/libjs/layerstreemenu-cookies.js @@ -0,0 +1,70 @@ +// PHP Layers Menu 3.2.0-rc (C) 2001-2004 Marco Pratesi - http://www.marcopratesi.it/ + +function setLMCookie(name, value) +{ + document.cookie = name + '=' + value + ';path=/'; +} + +function getLMCookie(name) +{ + foobar = document.cookie.split(name + '='); + if (foobar.length < 2) { + return null; + } + tempString = foobar[1]; + if (tempString.indexOf(';') == -1) { + return tempString; + } + yafoobar = tempString.split(';'); + return yafoobar[0]; +} + +function parseExpandString() +{ + expandString = getLMCookie('phplm_expand'); + phplm_expand = new Array(); + if (expandString) { + expanded = expandString.split('|'); + for (i=0; i -1) { + nodeLayer.src = '{img_collapse}'; + } else if (nodeLayer.src.indexOf('{img_expand_first}') > -1) { + nodeLayer.src = '{img_collapse_first}'; + } else if (nodeLayer.src.indexOf('{img_expand_corner}') > -1) { + nodeLayer.src = '{img_collapse_corner}'; + } else { + nodeLayer.src = '{img_collapse_corner_first}'; + } + //folderLayer.src = '{img_folder_open}'; + phplm_expand[nodeid] = 1; + phplm_collapse[nodeid] = 0; + } else { + sonLayer.style.display = 'none'; + if (nodeLayer.src.indexOf('{img_collapse}') > -1) { + nodeLayer.src = '{img_expand}'; + } else if (nodeLayer.src.indexOf('{img_collapse_first}') > -1) { + nodeLayer.src = '{img_expand_first}'; + } else if (nodeLayer.src.indexOf('{img_collapse_corner}') > -1) { + nodeLayer.src = '{img_expand_corner}'; + } else { + nodeLayer.src = '{img_expand_corner_first}'; + } + //folderLayer.src = '{img_folder_closed}'; + phplm_expand[nodeid] = 0; + phplm_collapse[nodeid] = 1; + } + saveExpandString(); + saveCollapseString(); +} + diff --git a/htdocs/js/phplayersmenu/menuimages/tree_collapse.png b/htdocs/js/phplayersmenu/menuimages/tree_collapse.png new file mode 100644 index 0000000000000000000000000000000000000000..1c9be7591474dec5e8badf0d285f8f38007dd5fc GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDgFST5ZC|z|IeO1yQQV2uC5L! z_ISgNdq9e@B*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&X5#!GkW{s0BpOFVsD z*)KD(2{8%X{ISLpD5U4<;uumfCpm$EiIJ_OA=oAI=7|#wM;HXTcmkMwj~qREaDw1| isZ<36g#>XH28NnYmWOM7ZafF-WbkzLb6Mw<&;$TqC^qE) literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_collapse_corner.png b/htdocs/js/phplayersmenu/menuimages/tree_collapse_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..b3328adcc2ab423fed5cc45a7105588b19028efe GIT binary patch literal 196 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDgFST5ZC|z|IeO1yQQV2uC5L! z_ISgNdq9e@B*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&X5#!GkW{s0BpOFVsD z*)KD(2{CDAe0I$R3h8;eIEGZrNlsv3Vq`062zH6QdEx}a5e7jno&YA_BS()OoFKSg iDpkSYzy=m+28PP1EC&ljIDP?jGI+ZBxvX2CMB#UP^@JYD@<);T3K0RR*AE~fwh literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_collapse_first.png b/htdocs/js/phplayersmenu/menuimages/tree_collapse_first.png new file mode 100644 index 0000000000000000000000000000000000000000..5c4387616c2c3514ea9edccef686a72d427ccf2a GIT binary patch literal 194 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDgFST5ZC|z|IeO1yQQV2uC5L! z_ISgNdq9e@B*-tA!Qt7BG!Q4r+uensgH_f8$l)yTh%9Dc;1&d7#`=`_i9kX25>H=O z_RFkHLK;RJ_H(}j3h8*dIEGZrNlsAU)zFrflx&btaB5`qTF|*;hlPaEqwvK%ENlYG ftOh!cf{YAFt}Gkl=B@Vz>SOS9^>bP0l+XkK0535l literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_corner.png b/htdocs/js/phplayersmenu/menuimages/tree_corner.png new file mode 100644 index 0000000000000000000000000000000000000000..541c5b3bafea8a3e2599b173cd5b56d7887ca711 GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp$P6SizMjzpQfvV}A+G=b|DQd3cHo=2ML-e8 zk|4ie28U-i(myGkCiCxvXF#WAE}PI3YR6C+zmL$FKa%@ZdWjxY#v@gy8-WYl`ZAX->h qXprI}=(wWsRS+8!GgFx(1H*|>)`yP{9O?&}z~JfX=d#Wzp$Py%F#WAE}PI3YR6C+zmL$FKa%@ZdWjxY#v@gy8-WYl`ZAX->h qXprI}=(wWsRS+8!GmrNMMuwwPSr4X~T-E`az~JfX=d#Wzp$PyIl{lLK literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_expand_corner_first.png b/htdocs/js/phplayersmenu/menuimages/tree_expand_corner_first.png new file mode 100644 index 0000000000000000000000000000000000000000..5de11a6ba812abd5d1a8b43033263a0567f18899 GIT binary patch literal 197 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDgFST5LZhEhL)C=y1F``!0g$x z+xe!10$GeDL4Lsu4$p3+fjCLt?k)@+tg;?J4rhT!WHAE+w-5+3UbH=O z_RFkHLRws_x-WhL3YmDiIEGZrNlsAU)zFrflx&btaB5`qu`qCOm06&qr^naUqoKrM n8W4NRA%Vd#h~co1h#3p^r=85p>QK$!8; z-MT+OLG}_)Usv|aOl(3T92QIuo&be{JY5_^D&{07I575b1+*DVIhY}&!68^+XqKAb z;jL{_Sjd@>@OqBkn@5jM9hhJ!%(9GGa;icATZ#{RVw&)78&qol`;+0GE79%K!iX literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_folder_open.png b/htdocs/js/phplayersmenu/menuimages/tree_folder_open.png new file mode 100644 index 0000000000000000000000000000000000000000..4190b969845fba00d0ac6ca0c5a889818eebbeea GIT binary patch literal 278 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDa8Pv5ZC`8a0bXTo;j1Dp+QMW zDJ|^`P-y1N{|62nICJLzF{Y2Ffzpg6L4Lsu4$p3+fjCLt?k)@+tg;?J4rhT!WHAE+ zw-5+3Ub*oF%FT1tLu>VJeJQnH(d+g`BG_ z1$>ygHk39sh)pnLW@(xvAz|dGwAPD9;A*CWpqi>dgEc2Zp{e4eYkN}4fi^REy85}S Ib4q9e0B@C3i2wiq literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_leaf.png b/htdocs/js/phplayersmenu/menuimages/tree_leaf.png new file mode 100644 index 0000000000000000000000000000000000000000..6f999fba427b8c3f54b5bb6fea272b44eb821bb3 GIT binary patch literal 207 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp!VDxAh&o3CDgFST5ZC|z|1$tlLjzEtp`pPo z#jzL2Vk`;r3ubV5b|VeMN%D4gVd!9$^#F1>3p^r=85p>QK$!8;-MT+OLG}_)Usv|a zOl(4Oa%Pr$?SVp;o-U3d6?2jk99WqGW(9Jd5(o-v;L^}^WSuf4k%=vZOG4UOb2kHH qz=@MA9@Y$!=MuP17!*1d3Nj=-;}V*1`l>L{5C%_IKbLh*2~7aI8#Iyt literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_space.png b/htdocs/js/phplayersmenu/menuimages/tree_space.png new file mode 100644 index 0000000000000000000000000000000000000000..fbdfa6a8e1e456ea42a1d39969b15e295a06cc75 GIT binary patch literal 150 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp$P6SizMjzpQp^E9A+G=b|6hJY`UH^6SQ6wH z%;50sMjD8d?NMQuI!hYn1v)PS~ujE l0fl%xT^vIy<|HR5umgE!42;`KcIpCI44$rjF6*2UngHK-BHI7} literal 0 HcmV?d00001 diff --git a/htdocs/js/phplayersmenu/menuimages/tree_split.png b/htdocs/js/phplayersmenu/menuimages/tree_split.png new file mode 100644 index 0000000000000000000000000000000000000000..1a49fab4550598ae110fe90c7fb77c4b098a911f GIT binary patch literal 160 zcmeAS@N?(olHy`uVBq!ia0vp^0zfRp$P6SizMjzpQfvV}A+G=b|DQd3cHo=2ML-e8 zk|4ie28U-i(mInstance($server_id); +if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); -if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); +$continuous_mode = isset($_POST['continuous_mode']) ? 1 : 0; -$continuous_mode = isset( $_POST['continuous_mode'] ) ?1:0; -$file = $_FILES['ldif_file']['tmp_name']; -$remote_file = $_FILES['ldif_file']['name']; -$file_len = $_FILES['ldif_file']['size']; +if (isset($_REQUEST['ldif']) && trim($_REQUEST['ldif'])) { + $textarealdif = $_REQUEST['ldif']; + $remote_file = 'STDIN'; + $file_len = strlen($textarealdif); -is_array( $_FILES['ldif_file'] ) or pla_error( $lang['missing_uploaded_file'] ); -file_exists( $file ) or pla_error( $lang['no_ldif_file_specified'] ); -$file_len > 0 or pla_error( $lang['ldif_file_empty'] ); +} elseif (isset($_FILES['ldif_file'])) { + $file = $_FILES['ldif_file']['tmp_name']; + $remote_file = $_FILES['ldif_file']['name']; + $file_len = $_FILES['ldif_file']['size']; -include './header.php'; ?> + is_array($_FILES['ldif_file']) or pla_error(_('Missing uploaded file.')); + file_exists($file) or pla_error(_('No LDIF file specified. Please try again.')); + $file_len > 0 or pla_error(_('Uploaded LDIF file is empty.')); - +} else { + pla_error(_('You must either upload a file or provide an LDIF in the text box.')); +} -

    -

    - : name ); ?> - : - () -

    +include './header.php'; -
    -
    +echo ''; +printf('

    %s

    ',_('Import LDIF File')); +printf('

    %s: %s %s: %s (%s %s)

    ', + _('Server'),htmlspecialchars($ldapserver->name), + _('File'),htmlspecialchars($remote_file),number_format($file_len),_('bytes')); +echo '

    '; -connect()); +# if ldif file has no version number, just display a warning +if (!$ldifReader->hasVersionNumber()) + display_warning($ldifReader->getWarningMessage()); -// if ldif file has no version number, just display a warning -if(!$ldifReader->hasVersionNumber()){ - display_warning($ldifReader->getWarningMessage()); -} $i=0; -// if .. else not mandatory but should be easier to maintain -if( $continuous_mode ){ - while( $ldifReader->readEntry() ){ - $i++; - // get the entry. - $currentEntry = $ldifReader->fetchEntryObject(); - $changeType = $currentEntry->getChangeType(); - echo "".$actionString[$changeType]." ".$currentEntry->dn; +# if .. else not mandatory but should be easier to maintain +if ($continuous_mode) { + while ($ldifReader->readEntry()) { + $i++; - if($ldifReader->hasRaisedException()){ - echo " ".$lang['failed']."
    "; - $exception = $ldifReader->getLdapLdifReaderException(); - echo "".$lang['ldif_line_number'].": ".$exception->lineNumber."
    "; -echo "".$lang['ldif_line'].": ".$exception->currentLine."
    "; -echo "".$lang['desc'].": ".$exception->message."
    "; -} - else{ - if($ldapWriter->ldapModify($currentEntry)) - echo " ".$lang['success']."
    "; - else{ - echo " ".$lang['failed']."
    "; - echo "Error Code: ".$ldapserver->error()."
    "; - echo "".$lang['desc'].": ".$ldapserver->error()."
    "; - } - } - if( 0 == $i % 5 ) - flush(); - }// end while -} -else{ -//while we have a valid entry, -while($entry = $ldifReader->readEntry()){ - $i++; - $changeType = $entry->getChangeType(); + # get the entry. + $currentEntry = $ldifReader->fetchEntryObject(); + $edit_href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id, + rawurlencode($currentEntry->dn)); + $changeType = $currentEntry->getChangeType(); + printf('%s %s',$actionString[$changeType],$edit_href,$entry->dn); - echo "".$actionString[$changeType]." ".$entry->dn; - if($ldapWriter->ldapModify($entry)){ - echo " ".$lang['success']."
    "; - if( 0 == $i % 5 ) - flush(); - } - else{ - echo " ".$lang['failed']."


    "; - reload_left_frame(); - pla_error( $actionErrorMsg[$changeType]. " " . htmlspecialchars( $entry->dn ), $ldapserver->error(), $ldapserver->errno() ); - } + if ($ldifReader->hasRaisedException()) { + printf(' %s
    ',_('Failed')); + $exception = $ldifReader->getLdapLdifReaderException(); + printf(' %s: %s
    ', + _('Line Number'),$exception->lineNumber); + printf(' %s: %s
    ', + _('Line'),$exception->currentLine); + printf(' %s: %s
    ', + _('Description'),$exception->message); + + } else { + if ($ldapWriter->ldapModify($currentEntry)) + printf(' %s
    ',_('Success')); + else { + printf('%s
    ',_('Failed')); + printf('%s: %s
    ', + _('Error code'),$ldapserver->errno()); + printf('%s: %s
    ', + _('Description'),$ldapserver->error()); + } + } + + if ($i % 5 == 0) + flush(); + } # end while + +} else { + # while we have a valid entry, + while ($entry = $ldifReader->readEntry()) { + $i++; + + $edit_href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id, + rawurlencode($entry->dn)); + $changeType = $entry->getChangeType(); + printf('%s %s',$actionString[$changeType],$edit_href,$entry->dn); + + if ($ldapWriter->ldapModify($entry)) { + printf(' %s
    ',_('Success')); + + if ($i % 5 == 0) + flush(); + + } else { + printf(' %s

    ',_('Failed')); + reload_left_frame(); + pla_error($actionErrorMsg[$changeType].' '.htmlspecialchars($entry->dn), + $ldapserver->error(),$ldapserver->errno()); + } + } + + # if any errors occurs during reading file ,"catch" the exception and display it here. + if ($ldifReader->hasRaisedException()) { + # get the entry which raise the exception,quick hack here + $currentEntry = $ldifReader->fetchEntryObject(); + + if ($currentEntry->dn != '') { + printf('%s %s %s
    ', + $actionString[$currentEntry->getChangeType()],$currentEntry->dn,_('Failed')); + } + + # get the exception wich was raised + $exception = $ldifReader->getLdapLdifReaderException(); + echo '

    '; + display_pla_parse_error($exception,$currentEntry); + } } -// if any errors occurs during reading file ,"catch" the exception and display it here. - if($ldifReader->hasRaisedException()){ - //get the entry which raise the exception,quick hack here - $currentEntry = $ldifReader->fetchEntryObject(); - - if($currentEntry->dn !=""){ - echo "".$actionString[$currentEntry->getChangeType()]." ".$currentEntry->dn." ".$lang['failed']."
    "; - } - //get the exception wich was raised - $exception = $ldifReader->getLdapLdifReaderException(); -echo "
    "; -echo "
    "; -display_pla_parse_error($exception,$currentEntry); - } -} -// close the file +# close the file $ldifReader->done(); - -//close the ldap connection -$ldapWriter->ldapClose(); - reload_left_frame(); - function reload_left_frame(){ - global $server_id; - - echo "\r\n"; + echo ''; } function display_error_message($error_message){ - echo "
    ".$error_message."
    "; + printf('
    %s
    ',$error_message); } + function display_warning($warning){ - echo "
    ".$warning."
    "; + printf('
    %s
    ',$warning); } function display_pla_parse_error($exception,$faultyEntry){ - global $lang; - global $actionErrorMsg; - $errorMessage = $actionErrorMsg[$faultyEntry->getChangeType()]; + global $actionErrorMsg; - print("
    "); - print(""); - print(""); - print("
    "); + echo '
    '; + echo '

    ".$lang['ldif_parse_error']."

    "); - print("
    "); - print($errorMessage." ". $faultyEntry->dn); - print("

    "); - print("".$lang['desc'].": ".$exception->message); - print("

    "); - print("

    "); - print("".$lang['ldif_line'].": ".$exception->currentLine); - print("

    "); - print("

    "); - print("".$lang['ldif_line_number'].": ".$exception->lineNumber); - print("

    "); - print("
    "); - print("

    \r\n"); - print("

    "); - print(""); - print(sprintf($lang['ferror_submit_bug'] , get_href( 'add_bug' ))); + $errorMessage = $actionErrorMsg[$faultyEntry->getChangeType()]; - print("

    "); - print("
    "); - print("
    '; + echo ''; + echo ''; + echo '
    '; } +echo ''; ?> - - - - diff --git a/htdocs/ldif_import_form.php b/htdocs/ldif_import_form.php index b052b6d..50be5cf 100644 --- a/htdocs/ldif_import_form.php +++ b/htdocs/ldif_import_form.php @@ -1,5 +1,5 @@ Instance($server_id); +if ($ldapserver->isReadOnly()) + pla_error(_('You cannot perform updates while server is in read-only mode')); +if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); -if( $ldapserver->isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); -if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); +include './header.php'; -include './header.php'; ?> +echo ''; - +printf('

    %s

    ',_('Import LDIF File')); +printf('

    %s: %s

    ',_('Server'),htmlspecialchars($ldapserver->name)); -

    -

    : name ); ?>

    +echo '

    '; +echo _('Select an LDIF file'); +echo '

    '; -
    -
    -
    -
    +echo '
    '; +printf('',$ldapserver->server_id); +echo '
    '; +printf('
    %s
    ',_("Don't stop on errors")); +printf('
    ',_('Proceed >>')); +printf('
    %s %s
    ',_('Maximum file size'),ini_get('upload_max_filesize')); +echo ''; -
    - - - -
    -
    -
    - -
    -" . $lang['warning_file_uploads_disabled'] . "
    "; - else - echo "
    " . sprintf( $lang['max_file_size'], ini_get( 'upload_max_filesize' ) ) . "
    "; +echo '

    '; +echo _('Paste your LDIF here'); +echo ''; +echo ''; +printf('',$ldapserver->server_id); +printf('
    %s
    ',_("Don't stop on errors")); +printf('
    ',_('Proceed >>')); +echo ''; +echo ''; ?> - - - - - - diff --git a/htdocs/login.php b/htdocs/login.php index fd5a1a3..c969155 100644 --- a/htdocs/login.php +++ b/htdocs/login.php @@ -1,13 +1,10 @@ isAnonBindAllowed()) - $anon_bind = isset( $_POST['anonymous_bind'] ) && $_POST['anonymous_bind'] == 'on' ? true : false; + $anon_bind = isset($_POST['anonymous_bind']) && $_POST['anonymous_bind'] == 'on' ? true : false; else $anon_bind = false; -if( ! $anon_bind ) - strlen($pass) or pla_error( $lang['password_blank'] ); +if (! $anon_bind) + strlen($pass) or pla_error(_('You left the password blank.')); $save_auth_type = $ldapserver->auth_type; if ($anon_bind) { if (DEBUG_ENABLED) - debug_log('Anonymous Login was posted [%s].',4,$anon_bind); + debug_log('Anonymous Login was posted [%s].',64,$anon_bind); $dn = null; $pass = null; @@ -52,11 +50,11 @@ if ($anon_bind) { } elseif ($ldapserver->isLoginAttrEnabled()) { # Is this a login string (printf-style) - if( $ldapserver->isLoginStringEnabled() ) { - $dn = str_replace( '', $uid, $ldapserver->getLoginString() ); + if ($ldapserver->isLoginStringEnabled()) { + $dn = str_replace('',$uid,$ldapserver->getLoginString()); if (DEBUG_ENABLED) - debug_log('LoginStringDN: [%s]',3,$dn); + debug_log('LoginStringDN: [%s]',64,$dn); } else { # This is a standard login_attr @@ -65,11 +63,12 @@ if ($anon_bind) { the DN to use when searching for the login_attr user. */ $ldapserver->auth_type = 'config'; - set_error_handler( 'temp_login_error_handler' ); + set_error_handler('temp_login_error_handler'); if ($ldapserver->login_dn) - $ldapserver->connect(true,false); + $ldapserver->connect(true,'user'); else - $ldapserver->connect(true,true); + $ldapserver->connect(true,'anonymous'); + restore_error_handler(); if (! empty($ldapserver->login_class)) @@ -80,15 +79,14 @@ if ($anon_bind) { # Got through each of the BASE DNs and test the login. foreach ($ldapserver->getBaseDN() as $base_dn) { if (DEBUG_ENABLED) - debug_log('Searching LDAP with base [%s]',9,$base_dn); + debug_log('Searching LDAP with base [%s]',64,$base_dn); - $sr = @ldap_search($ldapserver->connect(false), $base_dn, $filter, array('dn'), 0, 1); - $result = @ldap_get_entries($ldapserver->connect(false), $sr); - $dn = isset( $result[0]['dn'] ) ? $result[0]['dn'] : false; + $result = array_pop($ldapserver->search(null,$base_dn,$filter,array('dn'))); + $dn = $result['dn']; if ($dn) { if (DEBUG_ENABLED) - debug_log('Got DN [%s] for user ID [%s]',5,$dn,$uid); + debug_log('Got DN [%s] for user ID [%s]',64,$dn,$uid); break; } } @@ -96,7 +94,7 @@ if ($anon_bind) { # If we got here then we werent able to find a DN for the login filter. if (! $dn) - pla_error($lang['bad_user_name_or_password']); + pla_error(_('Bad username or password. Please try again.')); # restore the original auth_type $ldapserver->auth_type = $save_auth_type; @@ -105,7 +103,7 @@ if ($anon_bind) { # We fake a 'config' server auth_type to omit duplicated code if (DEBUG_ENABLED) - debug_log('Setting login type to CONFIG with DN [%s]',9,$dn); + debug_log('Setting login type to CONFIG with DN [%s]',64,$dn); $save_auth_type = $ldapserver->auth_type; $ldapserver->auth_type = 'config'; @@ -113,80 +111,66 @@ $ldapserver->login_dn = $dn; $ldapserver->login_pass = $pass; # Verify that dn is allowed to login -if (! userIsAllowedLogin($ldapserver,$dn)) - pla_error( $lang['login_not_allowed'] ); +if (! $ldapserver->userIsAllowedLogin($dn)) + pla_error(_('Sorry, you are not allowed to use phpLDAPadmin with this LDAP server.')); if (DEBUG_ENABLED) - debug_log('User is not prohibited from logging in - now bind with DN [%s]',9,$dn); + debug_log('User is not prohibited from logging in - now bind with DN [%s]',64,$dn); # verify that the login is good -if( is_null($dn) && is_null($pass)) - $ds = $ldapserver->connect(true,true,true); +if (is_null($dn) && is_null($pass)) + $ds = $ldapserver->connect(true,'anonymous',true); else - $ds = $ldapserver->connect(true,false,true); + $ds = $ldapserver->connect(true,'user',true); if (DEBUG_ENABLED) - debug_log('Connection returned [%s]',9,$ds); + debug_log('Connection returned [%s]',64,$ds); if (! is_resource($ds)) { if ($anon_bind) - pla_error($lang['could_not_bind_anon']); + pla_error(_('Could not bind anonymously to server.'),null,null,true); else - pla_error($lang['bad_user_name_or_password']); + pla_error(_('Bad username or password. Please try again.'),null,null,true); syslog_notice("Authentification FAILED for $dn"); } $ldapserver->auth_type = $save_auth_type; -set_login_dn($ldapserver,$dn,$pass,$anon_bind) or pla_error( $lang['could_not_set_cookie'] ); +$ldapserver->setLoginDN($dn,$pass,$anon_bind) or pla_error(_('Could not set cookie.')); set_lastactivity($ldapserver); -initialize_session_tree(); -$_SESSION['tree'][$ldapserver->server_id] = array(); -$_SESSION['tree_icons'][$ldapserver->server_id] = array(); - -if(! $anon_bind) { +if (! $anon_bind) { syslog_notice("Authentification successful for $dn"); } -session_write_close(); +pla_session_close(); include './header.php'; -?> +echo ''; - +echo ''; - +echo '



    '; +printf(_('Successfully logged into server %s').'
    ',htmlspecialchars($ldapserver->name)); -
    -
    -
    -
    -name)); ?>
    - - () - -
    -
    +if ($anon_bind) + printf('(%s)',_('Anonymous Bind')); - - +echo '
    '; +echo ''; -
    ".htmlspecialchars($errstr)); + pla_error(_('Could not connect to LDAP server.').'

    '.htmlspecialchars($errstr)); } ?> diff --git a/htdocs/login_form.php b/htdocs/login_form.php index cfd6ba9..bc4a280 100644 --- a/htdocs/login_form.php +++ b/htdocs/login_form.php @@ -1,5 +1,5 @@ auth_type) - pla_error($lang['error_auth_type_config']); + pla_error(_('Error: You have an error in your config file. The only three allowed values + for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', + which is not allowed. ')); if (! in_array($ldapserver->auth_type, array('cookie','session'))) - pla_error(sprintf($lang['unknown_auth_type'],htmlspecialchars($ldapserver->auth_type))); + pla_error(sprintf(_('Unknown auth_type: %s'),htmlspecialchars($ldapserver->auth_type))); include './header.php'; ?> isAnonBindAllowed() ) { ?> - -

    name); ?>

    +

    name); ?>


    - - + +
    @@ -69,7 +71,7 @@ include './header.php'; ?> isAnonBindAllowed() ) { ?>
    - + @@ -77,9 +79,9 @@ include './header.php'; ?> @@ -87,12 +89,12 @@ else - + - +
    '; + printf('

    %s

    ',_('LDIF Parse Error')); + echo '
    '; + printf('%s %s',$errorMessage,$faultyEntry->dn); + printf('

    %s: %s

    ',_('Description'),$exception->message); + printf('

    %s: %s

    ',_('Line'),$exception->currentLine); + printf('

    %s: %s

    ',_('Line Number'),$exception->lineNumber); + echo '
    '; + printf('

    %s %s

    ', + _('Is this a phpLDAPadmin bug?'),sprintf(_('If so, please report it.'),get_href('add_bug'))); + echo '
    isLoginAttrEnabled()) - echo $lang['user_name']; + echo _('User name'); else - echo $lang['login_dn']; + echo _('Login DN'); ?>
    diff --git a/htdocs/logout.php b/htdocs/logout.php index e456835..02f982d 100644 --- a/htdocs/logout.php +++ b/htdocs/logout.php @@ -1,5 +1,5 @@ haveAuthInfo()) - pla_error($lang['no_one_logged_in']); + pla_error(_('No one is logged in to that server.')); if (in_array($ldapserver->auth_type, array('cookie','session'))) { - syslog_notice (sprintf("Logout for %s",get_logged_in_dn($ldapserver))); - unset_login_dn($ldapserver) or pla_error($lang['could_not_logout']); + syslog_notice (sprintf('Logout for %s',$ldapserver->getLoggedInDN())); + $ldapserver->unsetLoginDN() or pla_error(_('Could not logout.')); unset_lastactivity($ldapserver); + if (isset($_SESSION['cache'][$ldapserver->server_id]['tree'])) { + unset($_SESSION['cache'][$ldapserver->server_id]['tree']); + } + pla_session_close(); + } else - pla_error(sprintf($lang['unknown_auth_type'], htmlspecialchars($ldapserver->auth_type))); + pla_error(sprintf(_('Unknown auth_type: %s'), htmlspecialchars($ldapserver->auth_type))); include './header.php'; ?> -


    - name)); ?>
    + %s'),htmlspecialchars($ldapserver->name)); ?>
    diff --git a/htdocs/mass_delete.php b/htdocs/mass_delete.php index ea00815..00e2fc7 100644 --- a/htdocs/mass_delete.php +++ b/htdocs/mass_delete.php @@ -1,5 +1,5 @@ isReadOnly() ) - pla_error( $lang['no_deletes_in_read_only_mode'] ); + pla_error(_('Unable to delete, server is in READY-ONLY mode.')); if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error(_('Not enough information to login to server. Please check your configuration.')); + +$confirmed = isset($_POST['confirmed']) ? true : false; +isset($_POST['mass_delete']) or + pla_error(_('Error calling mass_delete.php. Missing mass_delete in POST vars.')); -$confirmed = isset( $_POST['confirmed'] ) ? true : false; -isset( $_POST['mass_delete'] ) or - pla_error( $lang['error_calling_mass_delete'] ); $mass_delete = $_POST['mass_delete']; -is_array( $mass_delete ) or - pla_error( $lang['mass_delete_not_array'] ); +is_array($mass_delete) or + pla_error(_('mass_delete POST var is not an array.')); $ldapserver->isMassDeleteEnabled() or - pla_error( $lang['mass_delete_not_enabled'] ); + pla_error(_('Mass deletion is not enabled. Please enable it in config.php before proceeding.')); require './header.php'; -echo "\n"; -echo "

    " . $lang['mass_deleting'] . "

    \n"; +echo ''; +printf('

    %s

    ',_('Mass Deleting')); -if( $confirmed == true ) { - echo "

    " . sprintf( $lang['mass_delete_progress'], $ldapserver->name ) . "

    \n"; - echo "
    "; - echo "\n"; +if ($confirmed == true) { + printf('

    '._('Deletion progress on server "%s"').'

    ',$ldapserver->name); + echo '
    '; + echo ''; $successfully_delete_dns = array(); $failed_dns = array(); - if( ! is_array( $mass_delete ) ) - pla_error( $lang['malformed_mass_delete_array'] ); + if (! is_array($mass_delete)) + pla_error(_('Malformed mass_delete array.')); - if( count( $mass_delete ) == 0 ) { - echo "
    "; - echo "
    " . $lang['no_entries_to_delete'] . "
    "; + if (count($mass_delete) == 0) { + echo '
    '; + printf('
    %s
    ',_('You did not select any entries to delete.')); die(); } - foreach( $mass_delete as $dn => $junk ) { - echo sprintf( $lang['deleting_dn'], htmlspecialchars($dn) ); + // @todo: Should sort these entries, so that they are deleted in order, if a user selects children. + foreach ($mass_delete as $dn => $junk) { + printf(_('Deleting %s'),htmlspecialchars($dn)); flush(); - if( true === run_hook ( 'pre_entry_delete', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) ) ) { - $success = @ldap_delete( $ldapserver->connect(), $dn ); + if(run_hook('pre_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn))) { + $success = $ldapserver->delete($dn); - if( $success ) { - run_hook ( 'post_entry_delete', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn ) ); + if ($success) { + run_hook('post_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn)); - echo " " . $lang['success'] . ".
    \n"; + printf(' %s.
    ',_('Success')); $successfully_delete_dns[] = $dn; } else { - echo " " . $lang['failed'] . ".\n"; - echo "(" . $ldapserver->error() . ")
    \n"; + printf(' %s.
    (%s)
    ',_('Failed'),$ldapserver->error()); $failed_dns[] = $dn; } } @@ -81,73 +82,37 @@ if( $confirmed == true ) { flush(); } - echo "
    "; - echo "\n"; + echo '
    '; + echo ''; - $failed_count = count( $failed_dns ); - $total_count = count( $mass_delete ); + $failed_count = count($failed_dns); + $total_count = count($mass_delete); - if( $failed_count > 0 ) { - echo "\n"; - echo sprintf( $lang['total_entries_failed'], $failed_count, $total_count ) . "\n"; + if ($failed_count > 0) + printf(''._('%s of %s entries failed to be deleted.').'',$failed_count,$total_count); + else + printf('%s',_('All entries deleted successfully.')); - } else { - echo "\n"; - echo $lang['all_entries_successful'] . "\n"; - } - - // kill the deleted DNs from the tree browser session variable and - // refresh the tree viewer frame (left_frame) - if( array_key_exists( 'tree', $_SESSION ) ) { - - $tree = $_SESSION['tree']; - - foreach( $successfully_delete_dns as $dn ) { - // does it have children? (it shouldn't, but hey, you never know) - if( isset( $tree[$ldapserver->server_id][$dn] ) ) - unset( $tree[$ldapserver->server_id][$dn] ); - - // search and destroy - foreach( $tree[$ldapserver->server_id] as $tree_dn => $subtree ) - foreach( $subtree as $key => $sub_tree_dn ) - if( 0 == strcasecmp( $sub_tree_dn, $dn ) ) - unset( $tree[$ldapserver->server_id][$tree_dn][$key] ); - } - - $_SESSION['tree'] = $tree; - session_write_close(); ?> - - - - parent.left_frame.location.reload();'; } else { - $n = count( $mass_delete ); - echo "

    " . sprintf( $lang['confirm_mass_delete'], $n, $ldapserver->name ) . "

    \n"; ?> + $n = count($mass_delete); + printf('

    '._('Confirm mass delete of %s entries on server %s').'

    ',$n,$ldapserver->name); -
    + echo'
    '; + printf(_('Do you really want to delete %s %s %s'), + ($n == 1? _('this') : _('these')),$n,($n == 1 ? _('entry') : _('entries'))); - Do you really want to delete - ? + echo '
    '; + echo ''; + printf('',$ldapserver->server_id); - - - + echo '
      '; + foreach ($mass_delete as $dn => $junk) + printf('
    1. %s
    2. ',htmlspecialchars($dn),htmlspecialchars($dn)); + echo '
    '; -
    -
      - $foo ) { - echo "\n"; - echo "
    1. " . htmlspecialchars( $dn ) . "
    2. \n"; - } ?> -
    -
    - -
    - - - -
    ',_('Yes, delete!')); + echo ''; +} ?> diff --git a/htdocs/password_checker.php b/htdocs/password_checker.php index 1a1644e..7e77ba4 100644 --- a/htdocs/password_checker.php +++ b/htdocs/password_checker.php @@ -1,5 +1,5 @@ -

    +

    - + - + @@ -42,9 +42,9 @@ $enc_type = get_enc_type( $hash ); "; if( password_check( $hash, $check_password) ) - echo "" . $lang['passwords_match'] . ""; + echo "" . _('Passwords match!') . ""; else - echo "" . $lang['passwords_do_not_match'] . ""; + echo "" . _('Passwords do not match!') . ""; echo ""; } ?> diff --git a/htdocs/purge_cache.php b/htdocs/purge_cache.php index f0ac395..5a41c76 100644 --- a/htdocs/purge_cache.php +++ b/htdocs/purge_cache.php @@ -1,5 +1,5 @@ +$purge_session_keys = array('cache'); - -

    Purging Caches

    -
    -
    -
    -
    +echo ''; +echo '

    Purging Caches




    '; -'; if (! $size) - echo $lang['no_cache_to_purge']; - + echo _('No cache to purge.'); else - echo sprintf($lang['done_purging_caches'],number_format($size)); -?> + printf(_('Purged %s bytes of cache.'),number_format($size)); -
    - - +echo ''; + +echo ''; +echo ''; +echo ''; +?> diff --git a/htdocs/rdelete.php b/htdocs/rdelete.php index 822318f..8a37677 100644 --- a/htdocs/rdelete.php +++ b/htdocs/rdelete.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_POST['dn']; -$encoded_dn = rawurlencode($dn); -$rdn = get_rdn($dn); - if (! $dn) - pla_error($lang['you_must_specify_a_dn']); + pla_error(_('You must specify a DN')); -dn_exists($ldapserver,$dn) or pla_error(sprintf($lang['no_such_entry'],htmlspecialchars($dn))); +if (! $ldapserver->dnExists($dn)) + pla_error(sprintf(_('No such entry: %s'),htmlspecialchars($dn))); include './header.php'; -echo "\n"; -echo "

    ".sprintf($lang['deleting_dn'],htmlspecialchars($rdn))."

    \n"; -echo "

    ".$lang['recursive_delete_progress']."

    "; -echo "

    "; -echo "\n"; +echo ''; +printf('

    '._('Deleting %s').'

    ',htmlspecialchars(get_rdn($dn))); +printf('

    %s

    ',_('Recursive delete progress')); +echo '

    '; +echo ''; flush(); -// prevent script from bailing early on a long delete +# prevent script from bailing early on a long delete @set_time_limit(0); $del_result = pla_rdelete($ldapserver,$dn); -echo "
    \n"; +echo '

    '; if ($del_result) { - # kill the DN from the tree browser session variable and - # refresh the tree viewer frame (left_frame) - - if (array_key_exists('tree',$_SESSION)) { - $tree = $_SESSION['tree']; - - # does it have children? (it shouldn't, but hey, you never know) - if (isset($tree[$ldapserver->server_id][$dn])) - unset($tree[$ldapserver->server_id][$dn]); - - # Get a tree in the session if not already gotten - initialize_session_tree(); - - # search and destroy from the tree sesssion - foreach ($tree[$ldapserver->server_id] as $tree_dn => $subtree) - foreach ($subtree as $key => $sub_tree_dn) - if (0 == strcasecmp($sub_tree_dn,$dn)) - unset($tree[$ldapserver->server_id][$tree_dn][$key]); - } - - $_SESSION['tree'] = $tree; - session_write_close(); - -?> - - - -'.htmlspecialchars($dn).''); + echo ''; + printf(_('Entry %s and sub-tree deleted successfully.'),''.htmlspecialchars($dn).''); } else { - pla_error(sprintf($lang['could_not_delete_entry'],htmlspecialchars($dn)), + pla_error(sprintf(_('Could not delete the entry: %s'),htmlspecialchars($dn)), $ldapserver->error(),$ldapserver->errno()); } -exit; - function pla_rdelete($ldapserver,$dn) { - global $lang; - $children = get_container_contents($ldapserver,$dn); + $children = $ldapserver->getContainerContents($dn); if (! is_array($children) || count($children) == 0) { - echo "".sprintf($lang['deleting_dn'],htmlspecialchars($dn))."..."; + printf(''._('Deleting %s').'...',htmlspecialchars($dn)); flush(); - if (run_hook('pre_entry_delete',array('server_id' => $ldapserver->server_id,'dn' => $dn))) - - if (@ldap_delete($ldapserver->connect(),$dn)) { - run_hook ('post_entry_delete', - array('server_id' => $ldapserver->server_id,'dn' => $dn)); - echo " ".$lang['success']."
    \n"; + if (run_hook('pre_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn))) + if ($ldapserver->delete($dn)) { + run_hook('post_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn)); + printf(' %s
    ',_('Success')); return true; } else { - pla_error(sprintf($lang['failed_to_delete_entry'],htmlspecialchars($dn)), + pla_error(sprintf(_('Failed to delete entry %s'),htmlspecialchars($dn)), $ldapserver->error(),$ldapserver->errno()); } } else { - foreach ($children as $child_dn) { + foreach ($children as $child_dn) pla_rdelete($ldapserver,$child_dn); - } - echo "".sprintf($lang['deleting_dn'],htmlspecialchars($dn))."..."; + printf(''._('Deleting %s').'...',htmlspecialchars($dn)); flush(); - if (true === run_hook ('pre_entry_delete',array('server_id' => $ldapserver->server_id,'dn' => $dn))) - if (@ldap_delete($ldapserver->connect(),$dn)) { - run_hook ('post_entry_delete', - array('server_id' => $ldapserver->server_id,'dn' => $dn)); - - echo " ".$lang['success']."
    \n"; + if (run_hook('pre_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn))) + if ($ldapserver->delete($dn)) { + run_hook('post_entry_delete',array('server_id'=>$ldapserver->server_id,'dn'=>$dn)); + printf(' %s
    ',_('Success')); return true; } else { - pla_error(sprintf($lang['failed_to_delete_entry'],htmlspecialchars($dn)), + pla_error(sprintf(_('Failed to delete entry %s'),htmlspecialchars($dn)), $ldapserver->error(),$ldapserver->errno()); } } diff --git a/htdocs/refresh.php b/htdocs/refresh.php index 1b8ee11..720bcca 100644 --- a/htdocs/refresh.php +++ b/htdocs/refresh.php @@ -1,6 +1,6 @@ getBaseDN() as $base_dn) - $tree_icons[$ldapserver->server_id][$base_dn] = get_icon($ldapserver,$base_dn); - -# get all the icons and container contents for all expanded entries -if (isset($tree[$ldapserver->server_id]) && is_array($tree[$ldapserver->server_id])) { - foreach ($tree[$ldapserver->server_id] as $dn => $children) { - $tree[$ldapserver->server_id][$dn] = get_container_contents($ldapserver,$dn,0,'(objectClass=*)', - $config->GetValue('deref','tree')); - - if (is_array($tree[$ldapserver->server_id][$dn])) { - foreach ($tree[$ldapserver->server_id][$dn] as $child_dn) - $tree_icons[$ldapserver->server_id][$child_dn] = get_icon($ldapserver,$child_dn); - - sort($tree[$ldapserver->server_id][$dn]); - } - } - -} else { - header(sprintf('Location: tree.php#%s',$ldapserver->server_id)); -} - -$_SESSION['tree'] = $tree; -$_SESSION['tree_icons'] = $tree_icons; -session_write_close(); +unset($_SESSION['cache'][$ldapserver->server_id]['tree']); +pla_session_close(); header(sprintf('Location: tree.php#%s',$ldapserver->server_id)); ?> diff --git a/htdocs/rename.php b/htdocs/rename.php index b64912f..37f3f7f 100644 --- a/htdocs/rename.php +++ b/htdocs/rename.php @@ -1,5 +1,5 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = ($_POST['dn']); -$new_rdn = ($_POST['new_rdn']); - if (! $ldapserver->isBranchRenameEnabled()) { - $children = get_container_contents($ldapserver,$dn); + $children = $ldapserver->getContainerContents($dn); if (count($children) > 0) - pla_error($lang['non_leaf_nodes_cannot_be_renamed']); + pla_error(_('You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)')); } +$new_rdn = ($_POST['new_rdn']); $container = get_container($dn); $new_dn = sprintf('%s,%s',$new_rdn,$container); if ($new_dn == $dn) - pla_error($lang['no_rdn_change']); + pla_error(_('You did not change the RDN')); $old_dn_attr = explode('=',$dn); $old_dn_attr = $old_dn_attr[0]; -$old_dn_value = pla_explode_dn($dn); -$old_dn_value = explode('=',$old_dn_value[0],2); -$old_dn_value = $old_dn_value[1]; - $new_dn_value = explode('=',$new_rdn,2); if (count($new_dn_value) != 2 || ! isset($new_dn_value[1])) - pla_error($lang['invalid_rdn']); + pla_error(_('Invalid RDN value')); $new_dn_attr = $new_dn_value[0]; $new_dn_value = $new_dn_value[1]; -$success = run_hook ('pre_rename_entry', array ('server_id' => $ldapserver->server_id, - 'old_dn' => $dn, 'new_dn' => $new_dn_value ) ); +$success = run_hook('pre_rename_entry',array('server_id'=>$ldapserver->server_id,'old_dn'=>$dn,'new_dn'=>$new_dn_value)); if ($success) { $success = false; $deleteoldrdn = $old_dn_attr == $new_dn_attr; - - if (! @ldap_rename($ldapserver->connect(), $dn, $new_rdn, $container, $deleteoldrdn ) ) { - pla_error($lang['could_not_rename'], - $ldapserver->error(), - $ldapserver->errno(), false ); - - } else - $success = true; + $success = $ldapserver->rename($dn,$new_rdn,$container,$deleteoldrdn); } else { - pla_error($lang['could_not_rename'] ); + pla_error(_('Could not rename the entry') ); } -if ($success ) { - run_hook ('post_rename_entry', array ('server_id' => $ldapserver->server_id, 'old_dn' => $dn, - 'new_dn' => $new_dn_value ) ); +if ($success) { + run_hook('post_rename_entry',array('server_id'=>$ldapserver->server_id,'old_dn'=>$dn,'new_dn'=>$new_dn_value)); - if (array_key_exists('tree', $_SESSION ) ) { - $tree = $_SESSION['tree']; - $tree_icons = $_SESSION['tree_icons']; - $old_dn = $dn; + $edit_url = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($new_dn)); - // gotta search the whole tree for the entry (must be a leaf node since RDN changes - // cannot occur on parents) - foreach ($tree[$ldapserver->server_id] as $parent_dn => $children ) { - foreach ($children as $i => $child_dn ) { - if (0 == strcasecmp($child_dn, $old_dn ) ) - $tree[$ldapserver->server_id][$parent_dn][$i] = $new_dn; - } - } + echo ''; + echo ''; + printf('',$edit_url); + echo ""; + printf('',$edit_url); + echo ''; - // Update the icon tree to reflect the change (remove the old DN and add the new one) - $tree_icons[ $ldapserver->server_id ][ $new_dn ] = $tree_icons[ $ldapserver->server_id ][ $old_dn ]; - unset($tree_icons[ $ldapserver->server_id ][ $old_dn ] ); - - $_SESSION['tree'] = $tree; - $_SESSION['tree_icons'] = $tree_icons; - session_write_close(); - - $edit_url = sprintf('edit.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode("$new_rdn,$container")); -?> - - - - - - - - - - - - - - - %s',_('Redirecting...'),$edit_url,_('here')); + echo ''; } ?> diff --git a/htdocs/rename_form.php b/htdocs/rename_form.php index 13d9fd4..cb43b8f 100644 --- a/htdocs/rename_form.php +++ b/htdocs/rename_form.php @@ -1,6 +1,6 @@ isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); + pla_error(_('You cannot perform updates while server is in read-only mode')); if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); + pla_error(_('Not enough information to login to server. Please check your configuration.')); $dn = $_GET['dn']; -$encoded_dn = rawurlencode( $dn ); -$rdn = get_rdn( $dn ); +$rdn = get_rdn($dn); -include './header.php'; ?> +include './header.php'; - +echo ''; +printf('

    %s %s

    ',_('Rename Entry'),htmlspecialchars($rdn)); +printf('

    %s: %s     %s: %s

    ', + _('Server'),$ldapserver->name,_('Distinguished Name'),htmlspecialchars($dn)); -

    -

    : name; ?>     :

    - -
    -
    - - - - - - -
    - - +echo '
    '; +printf('',$ldapserver->server_id); +printf('',$dn); +printf('',htmlspecialchars($rdn)); +printf('',_('Rename')); +echo '
    '; +echo ''; +?> diff --git a/htdocs/schema.php b/htdocs/schema.php index 0eff756..837e8ff 100644 --- a/htdocs/schema.php +++ b/htdocs/schema.php @@ -1,5 +1,5 @@ haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); $view = isset($_GET['view']) ? $_GET['view'] : 'objectClasses'; $viewvalue = isset($_GET['viewvalue']) ? $_GET['viewvalue'] : null; @@ -32,39 +32,39 @@ if (! is_null($viewvalue)) include './header.php'; $schema_error_str = sprintf('%s %s.

    %s
    • %s
    • %s
    • %s
    • %s
    ', - $lang['could_not_retrieve_schema_from'],htmlspecialchars($ldapserver->name), - $lang['reasons_for_error'],$lang['schema_retrieve_error_1'], - $lang['schema_retrieve_error_2'],$lang['schema_retrieve_error_3'], - $lang['schema_retrieve_error_4']); + _('Could not retrieve schema from'),htmlspecialchars($ldapserver->name), + _('This could happen for several reasons, the most probable of which are:'),_('The server does not fully support the LDAP protocol.'), + _('Your version of PHP does not correctly perform the query.'),_('phpLDAPadmin doesn\'t know how to fetch the schema for your server.'), + _('Or lastly, your LDAP server doesnt provide this information.')); ?> -

    +

    name); ?>


    %s', - $ldapserver->server_id,'objectClasses',$lang['objectclasses'])); ?> + $ldapserver->server_id,'objectClasses',_('ObjectClasses'))); ?> | %s', - $ldapserver->server_id,'attributes',$lang['attribute_types'])); ?> + $ldapserver->server_id,'attributes',_('Attribute Types'))); ?> | %s', - $ldapserver->server_id,'syntaxes',$lang['syntaxes'])); ?> + $ldapserver->server_id,'syntaxes',_('Syntaxes'))); ?> | %s', - $ldapserver->server_id,'matching_rules',$lang['matchingrules'])); ?> + $ldapserver->server_id,'matching_rules',_('Matching Rules'))); ?>

    @@ -76,7 +76,7 @@ switch($view) { $highlight_oid = isset($_GET['highlight_oid']) ? $_GET['highlight_oid'] : false; print '
    '; - printf('',$lang['syntax_oid'],$lang['desc']); + printf('',_('Syntax OID'),_('Description')); $counter = 1; @@ -95,42 +95,38 @@ switch($view) { else printf('',$counter%2==0?'even':'odd'); - printf('',$oid,$oid,$desc); + printf('',$oid,$desc); } print '
    %s%s
    %s%s
    %s%s
    %s%s
    '; break; case 'attributes': - $schema_attrs = $ldapserver->SchemaAttributes(null,true); - $schema_object_classes = $ldapserver->SchemaObjectClasses(null,true); + $schema_attrs = $ldapserver->SchemaAttributes(); + $schema_object_classes = $ldapserver->SchemaObjectClasses(); if (! $schema_attrs || ! $schema_object_classes) pla_error($schema_error_str); -?> - : -
    - - - ',$view); + printf('',$ldapserver->server_id); -'; + echo ''; + + foreach ($schema_attrs as $name => $attr) printf('', - $attr->getName(), - (! strcasecmp($attr->getName(),$viewvalue) ? 'selected' : ''),$attr->getName()); - } -?> + $name,$name == $viewvalue ? 'selected ': '',$attr->getName()); - -
    + echo ''; -
    - + printf('',_('Go')); + + echo '
    '; + echo '
    '; -getName())) { if (! is_null($viewvalue)) @@ -145,34 +141,35 @@ switch($view) { array('desc','obsolete','inherits','equality','ordering','substring_rule','syntax', 'single_valued','collective','user_modification','usage','maximum_length', 'aliases','used_by_objectclasses' - ) - as $item) { + ) as $item) { printf('',++$counter%2 ? 'odd' : 'even'); - printf('',$lang[$item]); switch ($item) { case 'desc': + printf('',_('Description')); printf('', is_null($attr->getDescription()) ? - '('.$lang['no_description'].')' : $attr->getDescription()); + '('._('no description').')' : $attr->getDescription()); print ''; printf('',++$counter%2 ? 'odd' : 'even'); - printf('',$lang['oid']); + echo ''; printf('',$attr->getOID()); break; case 'obsolete': - printf('',$attr->getIsObsolete() ? ''.$lang['yes'].'' : $lang['no']); + printf('',_('Obsolete')); + printf('',$attr->getIsObsolete() ? ''._('Yes').'' : _('No')); break; case 'inherits': + printf('',_('Inherits from')); print '',_('Equality')); printf('', - is_null($attr->getEquality()) ? '('.$lang['not_specified'].')' : + is_null($attr->getEquality()) ? '('._('not specified').')' : sprintf('%s', $ldapserver->server_id,$attr->getEquality(),$attr->getEquality())); break; case 'ordering': + printf('',_('Ordering')); printf('', - is_null($attr->getOrdering()) ? '('.$lang['not_specified'].')' : $attr->getOrdering()); + is_null($attr->getOrdering()) ? '('._('not specified').')' : $attr->getOrdering()); break; case 'substring_rule': + printf('',_('Substring Rule')); printf('', - is_null($attr->getSubstr()) ? '('.$lang['not_specified'].')' : $attr->getSubstr()); + is_null($attr->getSubstr()) ? '('._('not specified').')' : $attr->getSubstr()); break; case 'syntax': + printf('',_('Syntax')); print '',$attr->getIsSingleValue() ? $lang['yes'] : $lang['no']); + printf('',_('Single Valued')); + printf('',$attr->getIsSingleValue() ? _('Yes') : _('No')); break; case 'collective': - printf('',$attr->getIsCollective() ? $lang['yes'] : $lang['no']); + printf('',_('Collective')); + printf('',$attr->getIsCollective() ? _('Yes') : _('No')); break; case 'user_modification': - printf('',$attr->getIsNoUserModification() ? $lang['no'] : $lang['yes']); + printf('',_('User Modification')); + printf('',$attr->getIsNoUserModification() ? _('No') : _('Yes')); break; case 'usage': - printf('',$attr->getUsage() ? $attr->getUsage() : '('.$lang['not_specified'].')'); + printf('',_('Usage')); + printf('',$attr->getUsage() ? $attr->getUsage() : '('._('not specified').')'); break; case 'maximum_length': + printf('',_('Maximum Length')); print ''; break; case 'aliases': + printf('',_('Aliases')); print ''; break; case 'used_by_objectclasses': + printf('',_('Used by objectClasses')); print ''; break; @@ -288,14 +296,14 @@ switch($view) { if (! $schema_matching_rules) pla_error($schema_error_str); - printf('%s
    ',$lang['jump_to_matching_rule']); + printf('%s
    ',_('Jump to a matching rule')); - print ''; - printf('',$ldapserver->server_id); - print ''; + print ''; + printf('',$ldapserver->server_id); + print ''; - print ''; + print ''; foreach ($schema_matching_rules as $rule) printf('', @@ -303,14 +311,14 @@ switch($view) { ($rule->getName() == $viewvalue ? 'selected': ''), $rule->getName()); - print ''; + print ''; - printf('',$lang['go']); + printf('',_('Go')); print ''; print '
    %s%s%s
    %sOID%s%s%s%s%s'; if (is_null($attr->getSupAttribute())) - printf('(%s)',$lang['none']); + printf('(%s)',_('none')); else printf('%s', @@ -183,23 +180,27 @@ switch($view) { break; case 'equality': + printf('%s%s%s%s%s%s%s'; if (is_null($attr->getType())) { @@ -216,58 +217,65 @@ switch($view) { break; case 'single_valued': - printf('%s%s%s%s%s%s%s%s%s%s%s%s%s'; if ( is_null($attr->getMaxLength())) - echo '('.$lang['not_applicable'].')'; + echo '('._('not applicable').')'; else printf('%s %s',number_format($attr->getMaxLength()), - $attr->getMaxLength()>1 ? $lang['characters'] : $lang['character']); + $attr->getMaxLength()>1 ? _('characters') : _('character')); print '%s'; if (count($attr->getAliases()) == 0) - echo '('.$lang['none'].')'; + echo '('._('none').')'; else foreach ($attr->getAliases() as $alias_attr_name) printf('%s', - $ldapserver->server_id,$alias_attr_name,$alias_attr_name); + $ldapserver->server_id,strtolower($alias_attr_name),$alias_attr_name); print '%s'; if (count($attr->getUsedInObjectClasses()) == 0) - echo '('.$lang['none'].')'; + echo '('._('none').')'; else foreach ($attr->getUsedInObjectClasses() as $used_in_oclass) printf('%s ', - $ldapserver->server_id,$used_in_oclass,$used_in_oclass); + $ldapserver->server_id,strtolower($used_in_oclass),$used_in_oclass); print '
    '; printf('', - $lang['matching_rule_oid'],$lang['name'],$lang['used_by_attributes']); + _('Matching Rule OID'),_('Name'),_('Used by Attributes')); $counter = 1; @@ -328,7 +336,7 @@ switch($view) { $desc .= sprintf(' (%s)',$rule->getDescription()); if ( $rule->getIsObsolete()) - $desc .= sprintf(' %s',$lang['obsolete']); + $desc .= sprintf(' %s',_('Obsolete')); printf('',$counter%2 ? 'odd' : 'even'); printf('',$oid); @@ -337,11 +345,11 @@ switch($view) { print ''; + echo '
    %s%s%s
    %s'; if (count($rule->getUsedByAttrs()) == 0) { - printf('
    (%s)


    ',$lang['none']); + printf('
    (%s)


    ',_('none')); } else { print '
    '; - print '
    '; + print ''; printf('',$ldapserver->server_id); print ''; @@ -350,7 +358,7 @@ switch($view) { printf('',$attr); print '
    '; - printf('',$lang['go']); + printf('',_('Go')); print '
    '; print '
    '; } @@ -363,181 +371,148 @@ switch($view) { break; case 'objectClasses': - $schema_oclasses = $ldapserver->SchemaObjectClasses(null,true); + $schema_oclasses = $ldapserver->SchemaObjectClasses(); if (! $schema_oclasses) pla_error($schema_error_str); -?> - : -
    - - - ',$view); + printf('',$ldapserver->server_id); + + echo ''; - - -
    + printf('',_('Go')); + echo ''; -
    + echo '
    '; - $oclass) { - foreach ($oclass->getSupClasses() as $parent_name) { - if (isset($schema_oclasses[$parent_name])) - $schema_oclasses[$parent_name]->addChildObjectClass($oclass->getName()); - } - - if ( is_null($viewvalue) || ! strcasecmp($viewvalue,$oclass->getName())) { - if ( ! is_null($viewvalue)) + if (is_null($viewvalue) || ($viewvalue == $name)) { + if (! is_null($viewvalue)) $viewed = true; -?> -

    getName(); ?>

    -

    : getOID(); ?>

    + printf('

    %s

    ',$name,$oclass->getName()); + printf('

    %s: %s

    ',_('OID'),$oclass->getOID()); - getDescription()) { ?> -

    : getDescription(); ?>

    - + if ($oclass->getDescription()) + printf('

    %s: %s

    ',_('Description'),$oclass->getDescription()); -

    : getType(); ?>

    + printf('

    %s: %s

    ',_('Type'),$oclass->getType()); - getIsObsolete()) { ?> -

    - - -

    : - -getIsObsolete()) + printf('

    %s

    ',_('This objectClass is obsolete.')); + printf('

    %s: ',_('Inherits from')); if (count($oclass->getSupClasses()) == 0) - printf('(%s)',$lang['none']); + printf('(%s)',_('none')); else foreach ($oclass->getSupClasses() as $i => $object_class) { printf('%s', - $lang['jump_to_this_oclass'],$ldapserver->server_id,$view,htmlspecialchars($object_class), + _('Jump to this objectClass definition'), + $ldapserver->server_id,$view,strtolower(htmlspecialchars($object_class)), htmlspecialchars($object_class)); if ($i < count($oclass->getSupClasses()) - 1) - print ', '; + echo ', '; } -?> - -

    - -

    : - -

    '; + printf('

    %s: ',_('Parent to')); if (strcasecmp($oclass->getName(),'top') == 0) printf('(all)',$ldapserver->server_id); elseif (count($oclass->getChildObjectClasses()) == 0) - printf('(%s)',$lang['none']); + printf('(%s)',_('none')); else foreach ($oclass->getChildObjectClasses() as $i => $object_class) { - printf('%s', - $lang['jump_to_this_oclass'],$ldapserver->server_id,$view,htmlspecialchars($object_class), + printf('%s', + _('Jump to this objectClass definition'), + $ldapserver->server_id,$view,strtolower(htmlspecialchars($object_class)), htmlspecialchars($object_class)); if ( $i < count($oclass->getChildObjectClasses()) - 1) - print ', '; + echo ', '; } -?> + echo '

    '; -

    + echo ''; + echo ''; + printf('',_('Required Attributes')); + printf('',_('Optional Attributes')); + echo ''; -
    %s%s
    - - - - - - - - '; + + echo ' - -
    -'; + echo ''; if (count($oclass->getMustAttrs($schema_oclasses)) > 0) { - print '
      '; + echo '
        '; foreach ($oclass->getMustAttrs($schema_oclasses) as $attr) { - print '
      • '; + echo '
      • '; printf('%s', - $ldapserver->server_id,rawurlencode($attr->getName()),htmlspecialchars($attr->getName())); + $ldapserver->server_id,rawurlencode(strtolower($attr->getName())),htmlspecialchars($attr->getName())); if ($attr->getSource() != $oclass->getName()) { - printf('
          (%s ',$lang['inherited_from']); - printf('%s', - $ldapserver->server_id,$attr->getSource(),$attr->getSource()); - print ')'; + echo '
        '; + printf('  (%s %s)', + _('Inherited from'),$ldapserver->server_id,strtolower($attr->getSource()),$attr->getSource()); } - - print '
      • '; + echo ''; } - print '
      '; + echo '
    '; } else - printf('
    (%s)
    ',$lang['none']); + printf('
    (%s)
    ',_('none')); -?> -
    + echo ''; -getMayAttrs($schema_oclasses)) > 0) { - print '
      '; + echo '
        '; foreach ($oclass->getMayAttrs($schema_oclasses) as $attr) { - print '
      • '; + echo '
      • '; printf('%s', - $ldapserver->server_id,rawurlencode($attr->getName()),htmlspecialchars($attr->getName())); + $ldapserver->server_id,rawurlencode(strtolower($attr->getName())),htmlspecialchars($attr->getName())); if ($attr->getSource() != $oclass->getName()) { - printf('
           (%s ',$lang['inherited_from']); - printf('%s', - $ldapserver->server_id,$attr->getSource(),$attr->getSource()); - print ')'; + echo '
        '; + printf('   (%s %s)', + _('Inherited from'),$ldapserver->server_id,strtolower($attr->getSource()),$attr->getSource()); } - - print '
      • '; + echo ''; } - print '
      '; + echo '
    '; } else - printf('
    (%s)
    ',$lang['none']); -?> + printf('
    (%s)
    ',_('none')); - -
    - -'; + echo '
    '; } } /* End foreach objectClass */ break; } -if (! is_null( $viewvalue ) && ! $viewed) - pla_error(sprintf($lang['no_such_schema_item'],htmlspecialchars($viewvalue))); +if (! is_null($viewvalue) && ! $viewed) + pla_error(sprintf(_('No such schema item: "%s"'),htmlspecialchars($viewvalue))); -?> - - - +echo ''; +echo ''; diff --git a/htdocs/search.php b/htdocs/search.php index 35e0345..2bc143c 100644 --- a/htdocs/search.php +++ b/htdocs/search.php @@ -1,5 +1,5 @@ haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); +if (isset($ldapserver) && ! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); -// Output format, table or list? -$result_formats = array( 'list', 'table' ); -$format = isset( $_GET['format'] ) ? $_GET['format'] : $config->GetValue('search','display'); +# Output format, table or list? +$result_formats = array('list','table'); +$format = isset($_GET['format']) ? $_GET['format'] : $config->GetValue('search','display'); -if( ! in_array( $format, $result_formats ) ) +if (! in_array($format,$result_formats)) $format = 'list'; -// build the server drop-down html and JavaScript array (for base_dns) +# build the server drop-down html and JavaScript array (for base_dns) $js_on_change_string = ''; -if( isset( $_GET['form'] ) && $_GET['form'] == 'advanced' ) +if (isset($_GET['form']) && $_GET['form'] == 'advanced') $js_on_change_string = 'onChange="document.forms[0].base_dn.value=servers[document.forms[0].server_id.value].base_dn"'; if (isset($ldapserver)) { -$server_menu_html = server_select_list($ldapserver->server_id,true,'server_id',$js_on_change_string); -$server_info_list = server_info_list(); + $server_menu_html = server_select_list($ldapserver->server_id,true,'server_id',$js_on_change_string); + $server_info_list = server_info_list(); } -$filter = isset( $_GET['filter'] ) ? clean_search_vals($_GET['filter']) : null; -$attr = isset( $_GET['attribute'] ) ? $_GET['attribute'] : null; +$filter = isset($_GET['filter']) ? clean_search_vals($_GET['filter']) : null; +$attr = isset($_GET['attribute']) ? $_GET['attribute'] : null; -// grab the base dn for the search -if( isset( $_GET['base_dn'] ) && $_GET['base_dn'] ) { +# grab the base dn for the search +if (isset($_GET['base_dn']) && $_GET['base_dn']) { $base_dn = $_GET['base_dn']; $base_dn_is_invalid = false; $base_dn_does_not_exist = false; - if( trim( $base_dn ) ) - if( ! is_dn_string( $base_dn ) ) + if (trim($base_dn)) + if (! is_dn_string($base_dn)) $base_dn_is_invalid = true; - elseif( ! dn_exists( $ldapserver, $base_dn ) ) + elseif (! $ldapserver->dnExists($base_dn)) $base_dn_does_not_exist = true; $base_dns = array($base_dn); + } else if (isset($ldapserver)) $base_dns = $ldapserver->getBaseDN(); -$criterion = isset( $_GET['criterion'] ) ? $_GET['criterion'] : null; +$criterion = isset($_GET['criterion']) ? $_GET['criterion'] : null; + if (isset($_GET['form'])) $_SESSION['form'] = $_GET['form']; -$form = isset( $_SESSION['form'] ) ? $_SESSION['form'] : null; -$scope = isset( $_GET['scope'] ) ? $_GET['scope'] : 'sub'; +$form = isset($_SESSION['form']) ? $_SESSION['form'] : null; +$scope = isset($_GET['scope']) ? $_GET['scope'] : 'sub'; include './header.php'; -?> - -
    +echo '
    '; - -
    - -'; flush(); -if( isset( $_GET['search'] ) ) { - if( $form == 'advanced' ) { - if (isset( $_GET['display_attrs'])) { +if (isset($_GET['search'])) { + if ($form == 'advanced') { + if (isset($_GET['display_attrs'])) $search_result_attributes = explode(',',rawurldecode(preg_replace('/\s+/','',rawurldecode($_GET['display_attrs'])))); - } else { + else $search_result_attributes = $config->GetValue('search','result_attributes'); - } -// $search_result_attributes = isset( $_GET['display_attrs'] ) ? -// rawurldecode( $_GET['display_attrs'] ) : ( isset( $search_result_attributes ) ? -// $search_result_attributes : "dn, cn" ); - //process_config(); } else { $search_result_attributes = $config->GetValue('search','result_attributes'); } - // do we have enough authentication information for the specified server_id - if( ! $ldapserver->haveAuthInfo() ) { + # do we have enough authentication information for the specified server_id + if (! $ldapserver->haveAuthInfo()) { $login_url = sprintf('login_form.php?server_id=%s&redirect=%s', - $ldapserver->server_id,rawurlencode($_SERVER['REQUEST_URI'])); ?> -
    -
    -
    - . -
    + $ldapserver->server_id,rawurlencode($_SERVER['REQUEST_URI'])); -
    %s
    %s.
    ', + _('You have not logged into the selected server yet, so you cannot perform searches on it.'),$login_url,_('Click here to go to the login form')); exit; } - if( isset( $_GET['predefined'] ) ) { + if (isset($_GET['predefined'])) { $predefined = $_GET['predefined']; - if( is_numeric( $predefined ) ) { - $query = get_cleaned_up_predefined_search( $predefined ); + if (is_numeric($predefined)) { + $query = get_cleaned_up_predefined_search($predefined); $search_result_attributes = explode(', ',$query['attributes']); $search_attributes_display = $search_result_attributes; $search_attributes = $search_result_attributes; - //process_config(); - $filter = $query['filter']; $scope = $query['scope']; - if (is_array($query['base'])) + + if (! trim($query['base'])) + $query['base'] = $ldapserver->getBaseDN(); + + elseif (is_array($query['base'])) $base_dns = $query['base']; + else $base_dns = array($query['base']); - - $ldapserver = $ldapservers->Instance($query['server']); } } else { $predefined = ''; } - if( $filter ) { - // if they are using the simple search form, build an LDAP search filter from their input - if( $form == 'simple' & ! is_numeric( $predefined ) ) { + if ($filter) { + # if they are using the simple search form, build an LDAP search filter from their input + if ($form == 'simple' & ! is_numeric($predefined)) { - switch( $criterion ) { + switch ($criterion) { case 'starts with': - // to fix bug 789113 - if( $filter == "*" ) - $filter = ""; + if ($filter == '*') + $filter = ''; $filter = "($attr=$filter*)"; break; case 'contains': - // to fix bug 789113 - if( $filter == "*" ) + if ($filter == '*') $filter = "($attr=*)"; - else $filter = "($attr=*$filter*)"; break; case 'ends with': - // to fix bug 789113 - if( $filter == "*" ) - $filter = ""; + if ($filter == '*') + $filter = ''; $filter = "($attr=*$filter)"; break; @@ -191,201 +173,190 @@ if( isset( $_GET['search'] ) ) { break; default: - pla_error( $lang['unrecognized_criteria_option'] . - htmlspecialchars( $criterion ) . - $lang['if_you_want_to_add_criteria'] ); + pla_error(_('Unrecognized criteria option: ').htmlspecialchars($criterion)._('If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.')); } } - echo "
    " . $lang['searching'] . "
    \n"; + printf('
    %s
    ',_('Searching...')); flush(); - // prevent script from bailing early on a long delete - @set_time_limit( 0 ); + # prevent script from bailing early on a long delete + @set_time_limit(0); $size_limit = $config->GetValue('search','size_limit'); - // Sanity check - if( $size_limit < 1 ) + + # Sanity check + if ($size_limit < 1) $size_limit = 1; - $page = isset( $_GET['page'] ) ? $_GET['page'] : 0; + $page = isset($_GET['page']) ? $_GET['page'] : 0; $time_start = utime(); $time_elapsed = 0; foreach ($base_dns as $base_dn) { - if (! dn_exists( $ldapserver, $base_dn ) ) { - if (DEBUG_ENABLED) - debug_log('BaseDN [%s] skipped as it doesnt exist in [%s].',1, + if (! $ldapserver->dnExists($base_dn)) { + if (DEBUG_ENABLED) + debug_log('BaseDN [%s] skipped as it doesnt exist in [%s].',64, $base_dn,$ldapserver->server_id); continue; + } else { - if (DEBUG_ENABLED) - debug_log('Search with base DN [%s]',9,$base_dn); + if (DEBUG_ENABLED) + debug_log('Search with base DN [%s]',64,$base_dn); } - if( $scope == 'base' ) - $results = @ldap_read( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes, - 0, 0, 0, $config->GetValue('deref','search') ); + $results = $ldapserver->search(null,dn_escape($base_dn),$filter,$search_result_attributes,$scope,true,$config->GetValue('deref','search')); - elseif( $scope == 'one' ) - $results = @ldap_list( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes, - 0, 0, 0, $config->GetValue('deref','search') ); + if ((! $results) && $ldapserver->errno()) + pla_error(_('Encountered an error while performing search.'),$ldapserver->error(),$ldapserver->errno()); - else // scope == 'sub' - $results = @ldap_search( $ldapserver->connect(false), $base_dn, $filter, $search_result_attributes, - 0, 0, 0, $config->GetValue('deref','search') ); + $errno = $ldapserver->errno(); - $errno = @ldap_errno( $ldapserver->connect(false) ); + $time_end = utime(); + $time_elapsed += round($time_end-$time_start,2); + $count = count($results); - if( ! $results ) { - pla_error( $lang['error_performing_search'], - $ldapserver->error(), $ldapserver->errno() ); - } - - $time_end = utime(); - $time_elapsed += round( $time_end - $time_start, 2 ); - $count = @ldap_count_entries( $ldapserver->connect(), $results ); - - $start_entry = $page * $size_limit; - $end_entry = min( $start_entry + $size_limit + 1, $count+1 ); - ?> + $start_entry = $page * $size_limit; + $end_entry = min($start_entry+$size_limit+1,$count+1); +?>
    - ' . number_format( $count ) ?>  - ( ) + ' . number_format($count) ?>  + ( ) - + %s ]', - $ldapserver->server_id,$scope,urlencode($base_dn),urlencode($filter),urlencode(join(', ',$search_result_attributes)),$lang['export_results']); + printf('[ %s ]', + $ldapserver->server_id,$scope,urlencode($base_dn),urlencode($filter), + urlencode(join(', ',$search_result_attributes)),_('export results')); - printf('[ %s:',$lang['format']); + printf('[ %s:',_('Format')); - foreach( $result_formats as $f ) { - echo ' '; + foreach ($result_formats as $f) { + echo ' '; - if( $format == $f ) { - echo '' . $lang[$f] . ''; + if ($format == $f) { + printf('%s',_($f)); - } else { - $php_self = $_SERVER['PHP_SELF']; - $query_string = array_to_query_string( $_GET, array( 'format' ) ); - $query_string .= "&format=$f"; - echo "" . $lang[$f] . ""; + } else { + $query_string = array_to_query_string($_GET,array('format')); + $query_string .= "&format=$f"; + printf('%s',$query_string,_($f)); + } } - } ?> +?> ] - -
    - - + +
    + +
    + + +
    " . $lang['size_limit_exceeded'] . "

    \n"; - } + # The LDAP error code for the size limit exceeded error. + if ($errno && $errno == SIZE_LIMIT_EXCEEDED) + printf('
    %s

    ',_('Notice, search size limit exceeded.')); - // Draw the paging links - $pager_html = ''; - $total_pages = $count / $size_limit; - $results_per_page = $size_limit; + # Draw the paging links + $pager_html = ''; + $total_pages = $count / $size_limit; + $results_per_page = $size_limit; - if( $count > $size_limit ) { - echo sprintf( $lang['showing_results_x_through_y'], "" . number_format($start_entry+1) . "", "" . number_format($end_entry-1) . "" ) . "
    \n"; + if ($count > $size_limit) { + printf(_('Showing results %s through %s.').'
    ', + ''.number_format($start_entry+1).'',''.number_format($end_entry-1).''); - $php_self = $_SERVER['PHP_SELF']; - if( $page != 0 ) { - $query_string = array_to_query_string( $_GET, array( 'page' ) ); - $query_string .= '&page=' . ($page-1); - $pager_html .= "‹‹"; - - } else { - $pager_html .= "‹‹"; - } - - $pager_html .= '  '; - - // for large search results where we page beyone the first 20 pages, - // print elipsis instead of making the pager be super wide. - $elipsis_printed = false; - for( $i=0; $i<$count; $i+=$size_limit ) { - $page_num = $i/$size_limit; - - if( $count > $size_limit * 20 && abs( $page_num - $page ) > 10 ) { - - if( ! $elipsis_printed ) { - $pager_html .= '...  '; - $elipsis_printed = true; - } - - } else if( $page == $page_num ) { - $pager_html .= '' . ($page_num + 1) . ''; - $pager_html .= '  '; - $elipsis_printed = false; + if ($page != 0) { + $query_string = array_to_query_string($_GET,array('page')); + $query_string .= '&page=' . ($page-1); + $pager_html .= sprintf('‹‹',$page,$query_string); } else { - $query_string = array_to_query_string( $_GET, array( 'page' ) ); - $query_string .= '&page=' . $page_num; - $pager_html .= "" . ($page_num+1) . ""; - $pager_html .= '  '; - $elipsis_printed = false; + $pager_html .= "‹‹"; } + + $pager_html .= '  '; + + // for large search results where we page beyone the first 20 pages, + // print elipsis instead of making the pager be super wide. + $elipsis_printed = false; + for ($i=0;$i<$count;$i+=$size_limit) { + $page_num = $i/$size_limit; + + if ($count > $size_limit * 20 && abs($page_num-$page) > 10) { + + if (! $elipsis_printed) { + $pager_html .= '...  '; + $elipsis_printed = true; + } + + } elseif ($page == $page_num) { + $pager_html .= '' . ($page_num + 1) . ''; + $pager_html .= '  '; + $elipsis_printed = false; + + } else { + $query_string = array_to_query_string($_GET,array('page')); + $query_string .= '&page=' . $page_num; + $pager_html .= "" . ($page_num+1) . ""; + $pager_html .= '  '; + $elipsis_printed = false; + } + } + + if ($page+1 < $total_pages) { + $query_string = array_to_query_string($_GET,array('page')); + $query_string .= '&page=' . ($page+1); + $pager_html .= "››"; + + } else { + $pager_html .= "››"; + } + } - if( $page+1 < $total_pages ) { - $query_string = array_to_query_string( $_GET, array( 'page' ) ); - $query_string .= '&page=' . ($page+1); - $pager_html .= "››"; + if (0 == $count) + printf('

    %s

    ',_('The search found no results.')); - } else { - $pager_html .= "››"; + else { + if (trim($pager_html)) + printf('
    %s
    ',$pager_html); + echo '
    '; + flush(); + + if ($format == 'list') + require LIBDIR.'search_results_list.php'; + elseif ($format == 'table') + require LIBDIR.'search_results_table.php'; + else + pla_error(sprintf(_('Unrecognized search result format: %s'),htmlspecialchars($format))); + + echo '
    '; + if (trim($pager_html)) + printf('
    %s
    ',$pager_html); } - } - if( 0 == $count ) - echo '

    ' . $lang['no_results'] . '

    '; + printf('

    %s %s %s.
    ', + _('Search performed by phpLDAPadmin in'),$time_elapsed,_('seconds')); - else { - echo '
    ' . $pager_html . '

    '; - flush(); - - if( $format == 'list' ) - // $lang['list'] - this is here so check_lang_files doesnt prompt us to remove this $lang variable. - require LIBDIR.'search_results_list.php'; - - elseif( $format == 'table' ) - // $lang['table'] - this is here so check_lang_files doesnt prompt us to remove this $lang variable. - require LIBDIR.'search_results_table.php'; - - else - pla_error( sprintf( $lang['unrecoginzed_search_result_format'], htmlspecialchars( $format ) ) ); - echo '
    ' . $pager_html . '
    '; - } - } ?> - -

    -
    - - .
    - - - - + } +} +echo ''; +?> diff --git a/htdocs/server_info.php b/htdocs/server_info.php index 65bc5c8..d4e1ec0 100644 --- a/htdocs/server_info.php +++ b/htdocs/server_info.php @@ -1,5 +1,5 @@ haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + pla_error( _('Not enough information to login to server. Please check your configuration.') ); # Fetch basic RootDSE attributes using the + and *. -$r = @ldap_read($ldapserver->connect(),'','objectClass=*',array('+','*')); -if (! $r) - pla_error($lang['could_not_fetch_server_info'], - $ldapserver->error(),$ldapserver->errno()); - -$entry = @ldap_first_entry($ldapserver->connect(),$r); -if (! $entry) - pla_error($lang['could_not_fetch_server_info'], - $ldapserver->error(),$ldapserver->errno()); - -$attrs = @ldap_get_attributes($ldapserver->connect(),$entry); -$count = @ldap_count_entries($ldapserver->connect(),$r); +$attrs = array_pop($ldapserver->search(null,'','objectClass=*',array('+','*'),'base')); /* After fetching the "basic" attributes from the RootDSE, try fetching the more advanced ones (from ths list). Add them to the list of attrs to display if they weren't already fetched. (this was added as a work-around for OpenLDAP on RHEL 3. */ -$r2 = @ldap_read($ldapserver->connect(),'','objectClass=*',$root_dse_attributes); -if ($r2) { - $entry2 = @ldap_first_entry($ldapserver->connect(),$r); - $attrs2 = @ldap_get_attributes($ldapserver->connect(),$entry); +$attrs2 = array_pop($ldapserver->search(null,'','objectClass=*',$root_dse_attributes,'base')); - for ($i = 0; $i < $attrs2['count']; $i++) { - $attr = $attrs2[$i]; - - if (! isset($attrs[$attr])) { - $attrs[$attr] = $attrs2[$attr]; - $attrs['count']++; - $attrs[] = $attr; - } - } -} -unset($attrs2,$entry,$entry2); +foreach ($attrs2 as $attr => $values) + if (! isset($attrs[$attr])) + $attrs[$attr] = $attrs2[$attr]; include './header.php'; -?> - -

    name); ?>

    -

    +echo ''; +printf('

    %s%s

    ',_('Server info for: '),htmlspecialchars($ldapserver->name)); +printf('

    %s

    ',_('Server reports the following information about itself')); - -
    -
    -
    - -
    '; + printf('
    %s
    ',_('This server has nothing to report.')); exit; } -?> - +echo '
    '; +foreach ($attrs as $attr => $values) { + if ($attr == 'dn') + continue; -server_id,$attr); -?> - - - + echo ''; - -
    - - - -
    '; + printf('%s', + $attr,$schema_href,htmlspecialchars($attr)); + echo '
    - + echo ''; +} +echo '
    '; + echo ''; -'; - if (preg_match('/^[0-9]+\.[0-9]+/',$attrs[$attr][$j])) { - printf('', - htmlspecialchars($attrs[$attr][$j])); + if (preg_match('/^[0-9]+\.[0-9]+/',$value)) { + printf('', + htmlspecialchars($value)); - if ($oidtext = support_oid_to_text($attrs[$attr][$j])) + if ($oidtext = support_oid_to_text($value)) if (isset($oidtext['ref'])) printf('',$oidtext['ref'],$oidtext['title']); - else printf('',$oidtext['title']); else - printf('',$attrs[$attr][$j]); + if ($value) + printf('',$value); } else { - printf('',htmlspecialchars($attrs[$attr][$j])); + printf('',htmlspecialchars($value)); } print ''; - if (isset($oidtext['desc'])) + if (isset($oidtext['desc']) && trim($oidtext['desc'])) printf('',$oidtext['desc']); - } + } + + else + printf('',htmlspecialchars($values)); + + echo '
    %s%s%s%s%s%s
    %s
    %s
    '; + echo '
    '; ?> - -
    -
    - - diff --git a/htdocs/template_engine.php b/htdocs/template_engine.php index d979925..5eeabcb 100644 --- a/htdocs/template_engine.php +++ b/htdocs/template_engine.php @@ -1,5 +1,5 @@ haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); $friendly_attrs = process_friendly_attr_table(); // @todo might not need this. +$pjs = array(); # REMOVE THSE @todo $today = date('U'); $shadow_before_today_attrs = arrayLower(array('shadowLastChange','shadowMin')); $shadow_after_today_attrs = arrayLower(array('shadowMax','shadowExpire','shadowWarning','shadowInactive')); -$shadow_format_attrs = array_merge($shadow_before_today_attrs, $shadow_after_today_attrs); +$shadow_format_attrs = array_merge($shadow_before_today_attrs,$shadow_after_today_attrs); # END REMOVE # If we have a DN, then this is to edit the entry. if (isset($_REQUEST['dn'])) { - if( ! $ldapserver->haveAuthInfo()) - pla_error( $lang['not_enough_login_info'] ); + $dn = $_GET['dn']; + $decoded_dn = rawurldecode($dn); + $encoded_dn = rawurlencode($decoded_dn); - dn_exists( $ldapserver, $dn ) - or pla_error( sprintf( $lang['no_such_entry'], pretty_print_dn( $dn ) ) ); + if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); + + $ldapserver->dnExists($dn) + or pla_error(sprintf(_('No such entry: %s'),pretty_print_dn($dn))); $rdn = get_rdn($dn); - $attrs = get_object_attrs( $ldapserver, $dn, false, $config->GetValue('deref','view')); + $attrs = $ldapserver->getDNAttrs($dn,false,$config->GetValue('deref','view')); - $modified_attrs = isset( $_REQUEST['modified_attrs'] ) ? $_REQUEST['modified_attrs'] : false; - $show_internal_attrs = isset( $_REQUEST['show_internal_attrs'] ) ? true : false; + $modified_attrs = isset($_REQUEST['modified_attrs']) ? $_REQUEST['modified_attrs'] : false; + $show_internal_attrs = isset($_REQUEST['show_internal_attrs']) ? true : false; # If an entry has more children than this, stop searching and display this amount with a '+' $max_children = 100; @@ -48,10 +56,7 @@ if (isset($_REQUEST['dn'])) { $rdn = ''; $encoded_dn = ''; - isset($_REQUEST['template']) or die(); // pla_error( $lang['must_choose_template'] ); - if ($_REQUEST['template'] == 'custom') { - include TMPLDIR.'template_header.php'; require TMPLDIR.'creation/custom.php'; die(); @@ -64,370 +69,390 @@ if (isset($_REQUEST['dn'])) { include TMPLDIR.'template_header.php'; - /* - * When we get here, (either a new entry, or modifying an existing entry), if the - * empty_attrs array has content, then we need to ask the user for this information. - */ +/* + * When we get here, (either a new entry, or modifying an existing entry), if the + * empty_attrs array has content, then we need to ask the user for this information. + */ - if (isset($template['empty_attrs'])) { - masort($template['empty_attrs'],'page,order',1); +if (isset($template['empty_attrs'])) { + masort($template['empty_attrs'],'page,order',1); - # What page are we working on. - $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1; -?> + # What page are we working on. + $page = isset($_REQUEST['page']) ? $_REQUEST['page'] : 1; -

    -
    - + printf('

    %s

    ',$template['description']); + echo "\n\n"; - + if (isset($_REQUEST['nextpage']) && ! $_REQUEST['nextpage']) { + $new_dn = sprintf('%s=%s,%s',$template['rdn'],$_REQUEST['form'][$template['rdn']],$_REQUEST['container']); - - + echo ''; + printf('',$new_dn); - - - + } else { + echo ''; + } - $value) { + if (isset($_REQUEST['form'])) + foreach ($_REQUEST['form'] as $attr => $value) { - # Check for any with post actions. - if (isset($template['attribute'][$attr]['post']) && $_REQUEST['page'] == $template['attribute'][$attr]['page']+1) { - if (preg_match('/^=php\.(\w+)\((.*)\)$/',$template['attribute'][$attr]['post'],$matches)) { - switch ($matches[1]) { - case 'Password' : - preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',$matches[2],$matchall); + # Check for any with post actions. + if (isset($template['attribute'][$attr]['post']) && $_REQUEST['page'] == $template['attribute'][$attr]['page']+1) { + if (preg_match('/^=php\.(\w+)\((.*)\)$/',$template['attribute'][$attr]['post'],$matches)) { + switch ($matches[1]) { + case 'Password' : + preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',$matches[2],$matchall); - $value = password_hash( $_REQUEST['form'][$matchall[1][1]], $_REQUEST[$matchall[1][0]] ); - $_REQUEST['form'][$attr] = $value; - break; + $enc = $_REQUEST[$matchall[1][0]]; + $password = $_REQUEST['form'][$matchall[1][1]]; + if (trim($password)) { + $value = password_hash($password,$enc); + $_REQUEST['form'][$attr] = $value; + } + break; - case 'SambaPassword' : - $matchall = explode(',',$matches[2]); - $attr = preg_replace('/%/','',$matchall[1]); - $sambapassword = new smbHash; + case 'SambaPassword' : + $matchall = explode(',',$matches[2]); + $attr = preg_replace('/%/','',$matchall[1]); - switch ($matchall[0]) { - case 'LM' : $value = $sambapassword->lmhash($_REQUEST['form'][$attr]); + # If we have no password, then dont hash nothing! + if (! trim($_REQUEST['form'][$attr])) break; - case 'NT' : $value = $sambapassword->nthash($_REQUEST['form'][$attr]); - break; - default : - $value = null; - } - $_REQUEST['form'][$attr] = $value; - break; + $sambapassword = new smbHash; - case 'Join' : - preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',$matches[2],$matchall); - $matchattrs = explode(',',$matches[2]); - $char = $matchattrs[0]; + switch ($matchall[0]) { + case 'LM' : $value = $sambapassword->lmhash($_REQUEST['form'][$attr]); + break; + case 'NT' : $value = $sambapassword->nthash($_REQUEST['form'][$attr]); + break; + default : + $value = null; + } - $values = array(); - foreach ($matchall[1] as $joinattr) { - if (isset($_REQUEST['form'][$joinattr])) - $values[] = $_REQUEST['form'][$joinattr]; + $_REQUEST['form'][$attr] = $value; + break; - else if (isset($_REQUEST[$joinattr])) - $values[] = $_REQUEST[$joinattr]; + case 'Join' : + preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',$matches[2],$matchall); + $matchattrs = explode(',',$matches[2]); + $char = $matchattrs[0]; - else - pla_error($lang['template_post_join']); - - } - $value = implode($char,$values); - $_REQUEST['form'][$attr] = $value; - break; + $values = array(); + foreach ($matchall[1] as $joinattr) { + if (isset($_REQUEST['form'][$joinattr])) + $values[] = $_REQUEST['form'][$joinattr]; - default: - #@todo: Error, unknown post funciton. + else if (isset($_REQUEST[$joinattr])) + $values[] = $_REQUEST[$joinattr]; + + else + pla_error(sprintf(_('Your template is missing variable (%s)'),$joinattr)); + } + + $value = implode($char,$values); + $_REQUEST['form'][$attr] = $value; + break; + + default: + pla_error(sprintf(_('Your template has an unknown post function (%s).'),$matches[1])); + } } } + + if (is_array($value)) + foreach ($value as $item) + printf('',$attr,$item); + else + printf('',$attr,$value); } - if (is_array($value)) - foreach ($value as $item) - printf('',$attr,$item); - else - printf('',$attr,$value); - } -?> - - + printf('',$ldapserver->server_id); + printf('',$_REQUEST['template']); + printf('',rawurlencode(serialize(array_values($template['objectclass'])))); + printf('',$page+1); - + echo "\n\n"; + echo '
    '; + echo '
    '; - + echo ''; + echo "\n\n"; + echo ''; - - - - - - - - - - - - - - - + echo ''; + echo ''; + printf(''; - - - '; - $count = 0; - $nextpage = 0; - $mustitems = 0; - foreach ($template['empty_attrs'] as $attr => $detail) { + } else { + echo ''; + echo ''; + printf('', + htmlspecialchars($_REQUEST['container'])); + printf('',$_REQUEST['container']); + echo ''; + } - $mustitem = false; - $verifyitem = false; - $onChange = ''; - $onBlur = ''; - $type = isset($detail['type']) ? $detail['type'] : 'text'; + } else { + printf('',$_REQUEST['container']); + } - if (! isset($detail['page'])) $detail['page'] = 1; - $size = isset($detail['size']) ? $detail['size'] : 20; - $maxlength = isset($detail['maxlength']) ? $detail['maxlength'] : null; + $count = 0; + $nextpage = 0; + $mustitems = 0; - # Check that the page number is correct. - if ($detail['page'] < $page && ! isset($attr[$attr])) { - # ERROR: This attribute should be set by now. - print "We should have set [$attr] by now.
    "; + foreach ($template['empty_attrs'] as $attr => $detail) { - } elseif ($detail['page'] == $page) { + $mustitem = false; + $verifyitem = false; + $type = isset($detail['type']) ? $detail['type'] : 'text'; - $count++; - print ''; + if (! isset($detail['page'])) + $detail['page'] = 1; - # Some conditional checking. - # $detail['must'] & $detail['disable'] cannot be set at the same time. - if (isset($detail['must']) && $detail['must'] && isset($detail['disable']) && $detail['disable']) { - pla_error(printf($lang['template_mustattr'],$attr)); + $size = isset($detail['size']) ? $detail['size'] : 20; + $maxlength = isset($detail['maxlength']) ? $detail['maxlength'] : null; + $rows = isset($detail['rows']) ? $detail['rows'] : null; + $cols = isset($detail['cols']) ? $detail['cols'] : null; + + # Check that the page number is correct. + if ($detail['page'] < $page && ! isset($attr[$attr])) { + # ERROR: This attribute should be set by now. + print "We should have set [$attr] by now.
    "; + + } elseif ($detail['page'] == $page) { + + $count++; + echo ''; + + # Some conditional checking. + # $detail['must'] & $detail['disable'] cannot be set at the same time. + if (isset($detail['must']) && $detail['must'] && isset($detail['disable']) && $detail['disable']) + pla_error(printf(_('Attribute [%s] is a MUST attribute, so it cannot be disabled.'),$attr)); + + # If this attribute is disabled, go to the next one. + if (isset($detail['disable']) && $detail['disable']) + continue; + + # Evaluate our Default Value, if its a function call result. + if (isset($detail['value'])) { + + if (is_array($detail['value'])) { + + # If value is an array, then it must a select list. + $type = 'select'; + $defaultresult = sprintf(''; + $detail['value'] = $defaultresult; - # Evaluate our Default Value, if its a function call result. - if (isset($detail['value'])) { + } else { + $detail['value'] = $templates->EvaluateDefault($ldapserver,$detail['value'],$_REQUEST['container'],null, + (isset($detail['default']) ? $detail['default'] : null)); + } - if (is_array($detail['value'])) { + #if the default has a select list, then change the type to select + if (preg_match('/',$attr); - foreach ($detail['value'] as $key => $value) { - if (preg_match('/^_KEY:/',$key)) - $key = preg_replace('/^_KEY:/','',$key); - else - $key = $value; + # @todo: $detail['must'] && $detail['hidden'] must have $detail['value'] (with a value). + # @todo: if value is a select list, then it cannot be hidden. - $defaultresult .= sprintf('', - $value,$key, - ((isset($detail['default']) && $detail['default'] == $key) ? 'selected' : ''), - $value); - } - $defaultresult .= ''; - $detail['value'] = $defaultresult; + # If this is a hidden attribute, then set its value. + if (isset($detail['hidden']) && $detail['hidden']) { + printf('','hidden',$attr,$attr,$detail['value']); + continue; + } - } else { - $detail['value'] = $templates->EvaluateDefault($ldapserver,$detail['value'],$_REQUEST['container'],null,(isset($detail['default']) ? $detail['default'] : null)); - } + # This is a displayed attribute. + # Flag it as a must attribute so that we do get a value. + if (isset($detail['must']) && $detail['must'] && + ! isset($detail['presubmit']) && + $type != 'select') { - #if the default has a select list, then change the type to select - if (preg_match('/',$detail['icon']); + else + printf(''); - # If this is a hidden attribute, then set its value. - if (isset($detail['hidden']) && $detail['hidden']) { - printf('','hidden',$attr,$attr,$detail['value']); - continue; - } + echo '',$detail['icon']); - else - printf(''); + echo ''; - print ''; + if (in_array($type,array('text','password'))) { + printf('', + $type,$size,$attr,(isset($detail['array']) && ($detail['array'] > 1) ? '[]' : ''),$attr, + (isset($detail['value']) ? $detail['value'] : ''), + "onBlur=\"fill('$attr', this.value);\"", + (isset($detail['disable']) ? 'disabled' : ''), + ($maxlength ? sprintf(' maxlength="%s" ',$maxlength) : '')); - # Calculate the events. - # @todo: Need to change js so that if a must attr is auto populated, it decrements the total and enables the submit. - if (isset($detail['onchange'])) { - if (is_array($detail['onchange'])) { - foreach ($detail['onchange'] as $value) { - $onChange .= sprintf('%s;',$templates->OnChangeAdd($value)); - } - } else { - $onChange .= sprintf('%s;',$templates->OnChangeAdd($detail['onchange'])); - } - } + } elseif ($type == 'textarea') { + printf('', + $size,$attr,(isset($detail['array']) && ($detail['array'] > 1) ? '[]' : ''),$attr, + (isset($detail['value']) ? $detail['value'] : ''), + ($cols ? $cols : 35), + ($rows ? $rows : 4), + "onBlur=\"fill('$attr', this.value);\"", + (isset($detail['disable']) ? 'disabled' : '')); - # Display the input box. - print '',$detail['hint']); + else + echo ''; + + echo ''."\n"; + + # Do we have a verify attribute? + if (isset($detail['verify']) && ($detail['verify'])) { + + $verifyitems = true; + + echo ''."\n"; + } + + # Is this a multiarray input? + if (isset($detail['array']) && ($detail['array'])) { + for ($i=2; $i <= $detail['array']; $i++) { + echo ''; + + printf('',$detail['hint']); - else - print ''; - - print ''; - - # Do we have a verify attribute? - if (isset($detail['verify']) && ($detail['verify'])) { - - $verifyitems = true; - - print ''; - } - - # Is this a multiarray input? - if (isset($detail['array']) && ($detail['array'])) { - for ($i=2; $i <= $detail['array']; $i++) { - print ''; - - printf(''; - } - } - - # Do we have a helper. - # Side helpers are handled above. - # @todo: Helpers must have an onchange or onsubmit. - # @todo: Helpers must have an id field. - # @todo: Helpers must have an post field. - - if (isset($detail['helper']) && (! isset($detail['helper']['location']) || $detail['helper']['location'] != 'side')) { - - print ''; - print ''; - - printf('',$templates->HelperValue($detail['helper']['value'],$detail['helper']['id'])); - } - - if (isset($detail['spacer']) && $detail['spacer']) - print ''; - - # See if there are any future ones - if there are and we dont ask any this round, then thats an error. - } elseif ($detail['page'] > $page) { - $nextpage++; + echo ''."\n"; } + } + + # Do we have a helper. + # Side helpers are handled above. + # @todo: Helpers must have an onchange or onsubmit. + # @todo: Helpers must have an id field. + # @todo: Helpers must have an post field. + + if (isset($detail['helper']) && (! isset($detail['helper']['location']) || $detail['helper']['location'] != 'side')) { + + echo ''; + echo ''; + + printf('',$templates->HelperValue($detail['helper']['value'],$detail['helper']['id'])); + } + + if (isset($detail['spacer']) && $detail['spacer']) + echo ''; + + # See if there are any future ones - if there are and we dont ask any this round, then thats an error. + } elseif ($detail['page'] > $page) { + $nextpage++; } + } - # @todo: Proper error message required. - if ($nextpage && ! $count) - pla_error(sprintf($lang['template_nextpage'],$nextpage)); + # @todo: Proper error message required. + if ($nextpage && ! $count) + pla_error(sprintf(_('We are missing a page for [%s] attributes.'),$nextpage)); - # If there is no count, display the summary - if (! $count) { - printf('', - $template['icon'],$lang['createf_create_object'],htmlspecialchars($new_dn)); + # If there is no count, display the summary + if (! $count) { + printf('', + $template['icon'],_('Create Object'),htmlspecialchars($new_dn)); - print ''; + echo ''; $counter = 0; foreach ($_REQUEST['form'] as $attr => $value) { @@ -463,224 +488,246 @@ if (isset($_REQUEST['form'])) } - } ?> + } - + echo ''; - - + if (! $nextpage && isset($_REQUEST['nextpage']) && ! $_REQUEST['nextpage']) { - $detail) { + if (isset($template['attribute'][$attr]['presubmit']) && ! isset($_REQUEST['form'][$attr])) { + printf('', + ($counter++%2==0?'even':'odd'),$attr,htmlspecialchars(_('(Auto evaluated on submission.)'))); + printf('',$attr); + } + } - # Look for any presubmit functions. - foreach ($template['empty_attrs'] as $attr => $detail) { - if (isset($template['attribute'][$attr]['presubmit']) && ! isset($_REQUEST['form'][$attr])) { - printf('', - ($counter++%2==0?'even':'odd'),$attr,htmlspecialchars($lang['t_auto_submit'])); - printf('',$attr); + printf('', + _('Create Object'),$mustitems ? 'disabled' : ''); + + } elseif ($nextpage) { + printf('', + _('Next Page'),$mustitems ? 'disabled' : ''); + + } else { + printf('', + _('Proceed >>'),$mustitems ? 'disabled' : ''); + } + + echo '
     
    Container DN: - -
    Container DN: -
     Container DN: ', + htmlspecialchars($_REQUEST['container'])); + draw_chooser_link('template_form.container'); + echo '
     Container DN:
     '; - # This is a displayed attribute. - # Flag it as a must attribute so that we do get a value. - if (isset($detail['must']) && $detail['must'] && ! isset($detail['presubmit'])) { - $mustitems++; - $mustitem = true; - $onBlur .= sprintf("reduceMust(this.form,%s,'%s');",$attr,$attr); - } + # Display the label. + if (isset($detail['description']) && (trim($detail['description']))) + printf('%s:',$detail['description'],$detail['display']); + else + printf('%s:',$detail['display']); - # Display the icon if one is required. - if (isset($detail['icon']) && trim($detail['icon'])) - printf(''; + # Calculate the events. + # @todo: Need to change js so that if a must attr is auto populated, it decrements the total and enables the submit. + if (isset($detail['onchange'])) { + if (is_array($detail['onchange'])) { + foreach ($detail['onchange'] as $value) + $templates->OnChangeAdd($ldapserver,$attr,$value); + } else { + $templates->OnChangeAdd($ldapserver,$attr,$detail['onchange']); + } + } - # Display the label. - if (isset($detail['description']) && (trim($detail['description']))) - printf('%s:',$detail['description'],$detail['display']); - else - printf('%s:',$detail['display']); + # Display the input box. + echo ''; - print ''; + } elseif ($type == 'select') { + printf($detail['value'],$attr, + "onBlur=\"fill('$attr', this.value);\"", + (isset($detail['disable']) ? 'disabled' : ' ')); + } - if (in_array($type,array('text','password'))) { - printf('', - $type,$size,$attr,(isset($detail['array']) && ($detail['array'] > 1) ? '[]' : ''),$attr, - (isset($detail['value']) ? $detail['value'] : ''), - ($onChange ? sprintf('onChange="%s"',$onChange) : '').($onBlur ? sprintf(' onBlur="%s"',$onBlur) : ''), - (isset($detail['disable']) ? 'disabled' : ''), - (isset($detail['maxlength']) ? sprintf(' maxlength="%s" ',$maxlength) : '')); + # Disabled items dont get submitted. + # @todo need to add some js to enable them on submit, or add them as hidden items. - } else if ($type == 'select') { - printf($detail['value'],$attr, - ($onChange ? sprintf('onChange="%s"',$onChange) : '').($onBlur ? sprintf(' onBlur="%s"',$onBlur) : ''), - (isset($detail['disable']) ? 'disabled' : '')); - } + if ($mustitem) + echo ' *'; - # Disabled items dont get submitted. - # @todo need to add some js to enable them on submit, or add them as hidden items. + # Do we have a helper, and is it configured for the side. + if (isset($detail['helper']) && isset($detail['helper']['location']) + && $detail['helper']['location'] == 'side' && isset($detail['helper']['value'])) { - if ($mustitem) { - print ' *'; - } + printf(' %s',$templates->HelperValue($detail['helper']['value'], + (isset($detail['helper']['id']) ? $detail['helper']['id'] : ''),$_REQUEST['container'],$ldapserver,null, + isset($detail['helper']['default']) ? $detail['helper']['default'] : '')); + } + + if (isset($detail['hint']) && (trim($detail['hint']))) + printf(' (hint: %s)
     '; + + # Display the label. + if (isset($detail['description']) && (trim($detail['description']))) + printf('%s %s:',_('Verify'),$detail['description'],$detail['display']); + else + printf('%s %s:',_('Verify'),$detail['display']); + + echo ''; + + if (in_array($type,array('text','password'))) { + printf('', + $type,$attr."V",$attr."V",(isset($detail['value']) ? $detail['value'] : ''), + sprintf('onBlur="check(form.%s,form.%sV)"',$attr,$attr)); + } + + echo '
      ', + $type,$attr,$attr.$i,(isset($detail['value']) ? $detail['value'] : ''), + "onBlur=\"fill('$attr', this.value);\"", + isset($detail['disable']) ? 'disabled' : ''); - # Do we have a helper, and is it configured for the side. if (isset($detail['helper']) && isset($detail['helper']['location']) && $detail['helper']['location'] == 'side' && isset($detail['helper']['value'])) { printf(' %s',$templates->HelperValue($detail['helper']['value'], - (isset($detail['helper']['id']) ? $detail['helper']['id'] : ''), - $_REQUEST['container'],$ldapserver,null, - isset($detail['helper']['default']) ? $detail['helper']['default'] : '')); + (isset($detail['helper']['id']) ? $detail['helper']['id'] : ''),$_REQUEST['container'],$ldapserver,$i)); } - - if (isset($detail['hint']) && (trim($detail['hint']))) - printf(' (hint: %s)
     '; - - # Display the label. - if (isset($detail['description']) && (trim($detail['description']))) - printf('%s %s:',$lang['t_verify'],$detail['description'],$detail['display']); - else - printf('%s %s:',$lang['t_verify'],$detail['display']); - - print ''; - - if (in_array($type,array('text','password'))) { - printf('', - $type,$attr."V",$attr."V",(isset($detail['value']) ? $detail['value'] : ''), - sprintf('onBlur="check(form.%s,form.%sV)"',$attr,$attr)); - } - - print '
      ', - $type,$attr,$attr.$i, - (isset($detail['value']) ? $detail['value'] : ''), - ($onChange ? sprintf('onChange="%s"',$onChange) : '').($onBlur ? sprintf(' onBlur="%s"',$onBlur) : ''), - isset($detail['disable']) ? 'disabled' : ''); - - if (isset($detail['helper']) && isset($detail['helper']['location']) - && $detail['helper']['location'] == 'side' && isset($detail['helper']['value'])) { - - printf(' %s',$templates->HelperValue($detail['helper']['value'], - (isset($detail['helper']['id']) ? $detail['helper']['id'] : ''),$_REQUEST['container'],$ldapserver,$i)); - } - print '
     '; - - # Display the label. - if (isset($detail['helper']['description']) && (trim($detail['helper']['description']))) - printf('%s:',$detail['helper']['description'],$detail['helper']['display']); - else - printf('%s:',$detail['helper']['display']); - - print '%s
     '; + + # Display the label. + if (isset($detail['helper']['description']) && (trim($detail['helper']['description']))) + printf('%s:',$detail['helper']['description'],$detail['helper']['display']); + else + printf('%s:',$detail['helper']['display']); + + echo '%s
    %s :%s
    %s :%s
    %s%s
    %s%s



    '; + echo '
    '; + + if ($mustitems) + printf('',$mustitems); + + printf('',$nextpage); + echo ''."\n\n"; + printf(''._('Page %d').'',$page); + echo "\n\n"; + + if ($mustitems) { + $jstext = ' +'; - } - - if (isset($verifyitems) && $verifyitems) { - //@todo: Return focus to the first item. - print ''; - } - - if ($templates->OnChangeDisplay()) { - print ''; - } - - # User needs to submit form to continue. - die(); + function fill(id, value) { + attrTrace = new Array(); + fillRec(id, value); } + function fillRec(id, value) { + if (attrTrace[id] == 1) + return; + else { + attrTrace[id] = 1; + document.getElementById(id).value = value; + // here comes template-specific implementation, generated by php + if (false) {}'; + + foreach ($template['empty_attrs'] as $attr => $detail) { + $jstext .= "\t\t\telse if (id == '$attr') {\n"; + if (isset($detail['must'])) + $jstext .= "\t\t\t\treduceMust('$attr');\n"; + $hash =& $templates->getJsHash(); + if (isset($hash['autoFill'.$attr])) { + $jstext .= $hash['autoFill'.$attr]; + } + $jstext .= "\t\t\t}\n"; + } + $jstext .= '}}'; + $pjs[] = $jstext; + } + + if (isset($verifyitems) && $verifyitems) { + //@todo: Return focus to the first item. + $pjs[] = ' +'; + } + + # User needs to submit form to continue. + foreach ($pjs as $script) + echo $script; + + die(); +} + if (! isset($template)) $template['attrs'] = $attrs; # If we get here - we are displaying/editing the entry. # Sort these entries. -uksort( $template['attrs'], 'sortAttrs' ); +uksort($template['attrs'],'sortAttrs'); $js_date_attrs = $config->GetValue('appearance','date_attrs'); -printf('',$config->GetValue('appearance','date')); +$js[] = sprintf('',$config->GetValue('appearance','date')); -foreach( $template['attrs'] as $attr => $vals ) { +foreach ($template['attrs'] as $attr => $vals) { + if (! is_array($vals)) + $vals = array($vals); flush(); $schema_attr = $ldapserver->getSchemaAttribute($attr,$dn); - if( $schema_attr ) + if ($schema_attr) $attr_syntax = $schema_attr->getSyntaxOID(); else $attr_syntax = null; - if( ! strcasecmp( $attr, 'dn' ) ) + if (! strcasecmp($attr,'dn')) continue; - // has the config.php specified that this attribute is to be hidden or shown? - if( is_attr_hidden( $ldapserver, $attr)) + # has the config.php specified that this attribute is to be hidden or shown? + if ($ldapserver->isAttrHidden($attr)) continue; - // Setup the $attr_note, which will be displayed to the right of the attr name (if any) + # Setup the $attr_note, which will be displayed to the right of the attr name (if any) $attr_note = ''; - // is there a user-friendly translation available for this attribute? - if( isset( $friendly_attrs[ strtolower( $attr ) ] ) ) { - $attr_display = $friendly_attrs[ strtolower( $attr ) ]; - $attr_note = "alias"; + # is there a user-friendly translation available for this attribute? + if (isset($friendly_attrs[ strtolower($attr) ])) { + $attr_display = $friendly_attrs[ strtolower($attr) ]; + $attr_note = "alias"; } else { $attr_display = $attr; } - // is this attribute required by an objectClass? + # is this attribute required by an objectClass? $required_by = ''; - if( $schema_attr ) - foreach( $schema_attr->getRequiredByObjectClasses() as $required ) - if( isset($attrs['objectClass']) && in_array( strtolower( $required ), arrayLower( $attrs['objectClass'] ) ) ) + if ($schema_attr) + foreach ($schema_attr->getRequiredByObjectClasses() as $required) { + if (isset($attrs['objectClass']) && ! is_array($attrs['objectClass'])) + $attrs['objectClass'] = array($attrs['objectClass']); + + if (isset($attrs['objectClass']) && in_array(strtolower($required),arrayLower($attrs['objectClass']))) $required_by .= $required . ' '; - // It seems that some LDAP servers (Domino) returns attributes in lower case? - elseif( isset($attrs['objectclass']) && in_array( strtolower( $required ), arrayLower( $attrs['objectclass'] ) ) ) + # It seems that some LDAP servers (Domino) returns attributes in lower case? + elseif (isset($attrs['objectclass']) && in_array(strtolower($required),arrayLower($attrs['objectclass']))) $required_by .= $required . ' '; + } - if( $required_by ) { - if( trim( $attr_note ) ) + if ($required_by) { + if (trim($attr_note)) $attr_note .= ', '; - $attr_note .= "" . $lang['required'] . " "; + $attr_note .= "" . _('required') . " "; } - // is this attribute required because its the RDN + # is this attribute required because its the RDN if (preg_match("/^${attr}=/",$rdn)) { - if( trim( $attr_note ) ) + if (trim($attr_note)) $attr_note .= ', '; - $attr_note .= " " . 'rdn' . " "; + $attr_note .= " " . 'rdn' . " "; } - if( is_array( $modified_attrs ) && in_array( strtolower($attr), $modified_attrs ) ) + if (is_array($modified_attrs) && in_array($attr,$modified_attrs)) $is_modified_attr = true; else $is_modified_attr = false; - if( $is_modified_attr ) { ?> - + if ($is_modified_attr) + echo ''; + else + echo ''; - + echo ''; - + $schema_href = sprintf('schema.php?server_id=%s&view=attributes&viewvalue=%s', + $ldapserver->server_id,real_attr_name($attr)); - + printf('%s',$attr,$schema_href,$attr_display); + echo ''; - + echo ''; + if ($attr_note) + printf('%s',$attr_note); - server_id,real_attr_name($attr)); ?> + if ($ldapserver->isAttrReadOnly($attr)) + printf('(%s)',_('This attribute has been flagged as read only by the phpLDAPadmin administrator'),_('read only')); - - + echo ''; + echo ''; - - + if ($is_modified_attr) + echo ''; + else + echo ''; - - - () - - - - - - - - - - - - - - - - - '; /* * Is this attribute a jpegPhoto? */ - if( is_jpeg_photo( $ldapserver, $attr ) ) { + if ($ldapserver->isJpegPhoto($attr)) { - // Don't draw the delete buttons if there is more than one jpegPhoto - // (phpLDAPadmin can't handle this case yet) - if( $ldapserver->isReadOnly() || is_attr_read_only( $ldapserver, $attr ) ) - draw_jpeg_photos( $ldapserver, $dn, $attr, false ); + /* Don't draw the delete buttons if there is more than one jpegPhoto + (phpLDAPadmin can't handle this case yet) */ + if ($ldapserver->isReadOnly() || $ldapserver->isAttrReadOnly($attr)) + draw_jpeg_photos($ldapserver,$dn,$attr,false); else - draw_jpeg_photos( $ldapserver, $dn, $attr, true ); + draw_jpeg_photos($ldapserver,$dn,$attr,true); - // proceed to the next attribute - echo "\n"; + # proceed to the next attribute + echo ''; - if( $is_modified_attr ) + if ($is_modified_attr) echo ''; continue; @@ -689,127 +736,111 @@ foreach( $template['attrs'] as $attr => $vals ) { /* * Is this attribute binary? */ - if( is_attr_binary( $ldapserver, $attr ) ) { - + if ($ldapserver->isAttrBinary($attr)) { $href = sprintf('download_binary_attr.php?server_id=%s&dn=%s&attr=%s', $ldapserver->server_id,$encoded_dn,$attr); -?> - + echo ''; + echo _('Binary value'); - -
    + echo '
    '; - 1 ) { - for( $i=1; $i<=count($vals); $i++ ) { ?> + if (count($vals) > 1) { + for ($i=1; $i<=count($vals); $i++) + printf(' %s(%s)
    ', + $href,$i,_('download value'),$i); - "> ()
    + } else { + printf(' %s
    ',$href,_('download value')); + } - isReadOnly() && ! $ldapserver->isAttrReadOnly($attr)) + printf(' %s', + $attr,_('delete attribute')); - } else { ?> - -
    - - - - isReadOnly() && ! is_attr_read_only( $ldapserver, $attr ) ) { ?> - - - - - -
    - - - - '; + echo ''; + echo ''; + if ($is_modified_attr) echo ''; continue; } /* - * Note: at this point, the attribute must be text-based (not binary or jpeg) + * Note: at this point,the attribute must be text-based (not binary or jpeg) */ - // If this is the userPassword attribute, add the javascript so we can call check password later. - if (! strcasecmp( $attr, 'userPassword' ) ) { - $user_password = $vals[0]; ?> - - + '; - isReadOnly() || is_attr_read_only( $ldapserver, $attr ) || (preg_match("/^${attr}=/",$rdn)) ) { - if( is_array( $vals ) ) { - foreach( $vals as $i => $val ) { - if( trim( $val ) == "" ) - echo "[" . $lang['empty'] . "]
    \n"; + if ($ldapserver->isReadOnly() || $ldapserver->isAttrReadOnly($attr) || (preg_match("/^${attr}=/",$rdn))) { + if (is_array($vals)) { + foreach ($vals as $i => $val) { + if (trim($val) == '') + printf('[%s]
    ',_('empty')); - elseif( ! strcasecmp( $attr, 'userPassword' ) && $config->GetValue('appearance','obfuscate_password_display')) - echo preg_replace( '/./', '*', $val ) . "
    "; + elseif (! strcasecmp($attr,'userPassword') && $config->GetValue('appearance','obfuscate_password_display')) + echo preg_replace('/./','*',$val).'
    '; - elseif( in_array(strtolower($attr), $shadow_format_attrs) ) { - $shadow_date = shadow_date( $attrs, $attr); - echo htmlspecialchars($val)." "; - echo ""; + elseif (in_array(strtolower($attr),$shadow_format_attrs)) { + $shadow_date = shadow_date($attrs,$attr); + echo htmlspecialchars($val).' '; + echo ''; - if( ($today < $shadow_date) && in_array(strtolower($attr), $shadow_before_today_attrs) ) + if (($today < $shadow_date) && in_array(strtolower($attr),$shadow_before_today_attrs)) echo ''.htmlspecialchars("(".strftime($config->GetValue('appearance','date'),$shadow_date).")").''; - elseif( $today > $shadow_date && in_array(strtolower($attr), $shadow_after_today_attrs) ) + elseif ($today > $shadow_date && in_array(strtolower($attr),$shadow_after_today_attrs)) echo ''.htmlspecialchars("(".strftime($config->GetValue('appearance','date'),$shadow_date).")").''; else - echo htmlspecialchars("(".strftime($config->GetValue('appearance','date'),shadow_date( $attrs, $attr)).")"); + echo htmlspecialchars("(".strftime($config->GetValue('appearance','date'),shadow_date($attrs,$attr)).")"); - echo ""; + echo ''; } else - echo htmlspecialchars( $val ) . "
    "; + echo htmlspecialchars($val).'
    '; } +//@todo: redundant? } else { - if( ! strcasecmp( $attr, 'userPassword' ) && obfuscate_password_display()) - echo preg_replace( '/./', '*', $vals ) . "
    "; + if (! strcasecmp($attr,'userPassword') && obfuscate_password_display()) + echo preg_replace('/./','*',$vals).'
    '; else - echo $vals . "
    "; + echo $vals.'
    '; } - if (! strcasecmp( $attr, 'userPassword' ) ) {?> + if (! strcasecmp($attr,'userPassword')) + printf('%s',base64_encode($user_password),_('Check password...')); - + if (preg_match("/^${attr}=/",$rdn)) + printf('(%s)',$rename_href,_('rename')); - '; + echo ''; - if( preg_match("/^${attr}=/",$rdn) ) {?> - () - - - - - - - '; continue; @@ -818,46 +849,50 @@ foreach( $template['attrs'] as $attr => $vals ) { /* * Is this a userPassword attribute? */ - if( 0 == strcasecmp( $attr, 'userpassword' ) ) { - $user_password = $vals[0]; + if (0 == strcasecmp($attr,'userpassword')) { + foreach ($vals as $user_password) { + $enc_type = get_enc_type($user_password); - $enc_type = get_enc_type( $user_password ); + # Set the default hashing type if the password is blank (must be newly created) + if ($user_password == '') + $enc_type = get_default_hash($ldapserver->server_id); - // Set the default hashing type if the password is blank (must be newly created) - if( $user_password == '' ) - $enc_type = get_default_hash( $ldapserver->server_id ); ?> + printf('',htmlspecialchars($user_password)); + echo ''; + printf('',($enc_type == '' ? 'clear' : $enc_type)); - + if (obfuscate_password_display($enc_type)) + echo htmlspecialchars(preg_replace('/./','*',$user_password)); + else + echo htmlspecialchars($user_password); - - + echo '
    '; + printf('', + (obfuscate_password_display($enc_type) ? 'password' : 'text')); - + echo '
    '; + printf('%s',base64_encode($user_password),_('Check password...')); + echo '
    '; + } -
    - " name="new_values[userpassword]" value="" /> + /* Draw the "add value" link under the list of values for this attributes */ + if (! $ldapserver->isReadOnly() && ($schema_attr = $ldapserver->getSchemaAttribute($attr,$dn)) && + ! $schema_attr->getIsSingleValue()) { - + $add_href = sprintf('add_value_form.php?server_id=%s&dn=%s&attr=%s', + $ldapserver->server_id,$encoded_dn,rawurlencode($attr)); -
    + printf('
    (%s)
    ', + $add_href,sprintf(_('Add an additional value to attribute \'%s\''),$attr),_('add value')); + } - + echo ''; + echo ''; - - - - '; + if ($is_modified_attr) + echo ''; continue; } @@ -865,46 +900,40 @@ foreach( $template['attrs'] as $attr => $vals ) { /* * Is this a boolean attribute? */ - if( is_attr_boolean( $ldapserver, $attr) ) { - $val = $vals[0]; ?> + if ($ldapserver->isAttrBoolean($attr)) { + $val = $vals[0]; - + printf('',htmlspecialchars($attr),htmlspecialchars($val)); - - - + printf(''; + echo ''; + echo ''; - '; continue; } - + /* * Is this a date type attribute? */ - if (in_array_ignore_case($attr, array_keys($js_date_attrs))) { - $val = $vals[0]; ?> + if (in_array_ignore_case($attr,array_keys($js_date_attrs))) { + $val = $vals[0]; - - - - - - + printf('',htmlspecialchars($attr),htmlspecialchars($val)); + printf(' ', + $attr,htmlspecialchars($attr),htmlspecialchars($val)); + draw_date_selector_link($attr); + echo ''; + echo ''; + $js[] = sprintf('',$attr,$js_date_attrs[$attr]); - '; continue; @@ -914,161 +943,143 @@ foreach( $template['attrs'] as $attr => $vals ) { * End of special case attributes (non plain text). */ - /* * This is a plain text attribute, to be displayed and edited in plain text. */ - foreach( $vals as $i => $val ) { + foreach ($vals as $i => $val) { - $input_name = "new_values[" . htmlspecialchars( $attr ) . "][$i]"; - // We smack an id="..." tag in here that doesn't have [][] in it to allow the - // draw_chooser_link() to identify it after the user clicks. - $input_id = "new_values_" . htmlspecialchars($attr) . "_" . $i; ?> + $input_name = sprintf('new_values[%s][%s]',htmlspecialchars($attr),$i); + /* We smack an id="..." tag in here that doesn't have [][] in it to allow the + draw_chooser_link() to identify it after the user clicks. */ + $input_id = sprintf('new_values_%s_%s',htmlspecialchars($attr),$i); - - + /* The old_values array will let update.php know if the entry contents changed + between the time the user loaded this page and saved their changes. */ - + printf('', + htmlspecialchars($attr),$i,htmlspecialchars($val)); - + # Is this value is a structural objectClass, make it read-only + if (! strcasecmp($attr,'objectClass')) { - getSchemaObjectClass($val); + printf(' ', + _('View the schema description for this objectClass'),$ldapserver->server_id,htmlspecialchars($val)); - if ($schema_object->getType() == 'structural') { - echo "$val (" . - $lang['structural'] . ")
    "; ?> + $schema_object = $ldapserver->getSchemaObjectClass($val); - + if ($schema_object->getType() == 'structural') { + printf(' %s (%s)
    ', + $val,_('This is a structural ObjectClass and cannot be removed.'),_('structural')); + printf('',$input_name,$input_id,htmlspecialchars($val)); - + if (is_dn_string($val) || $ldapserver->isDNAttr($attr)) - + if ($ldapserver->dnExists($val)) { + printf(' ', + htmlspecialchars($val),$ldapserver->server_id,rawurlencode($val)); + } else { + printf(' ', + htmlspecialchars($val),$ldapserver->server_id,rawurlencode($val)); + } - + elseif (is_mail_string($val)) + printf(' ',htmlspecialchars($val)); - + elseif (is_url_string($val)) + printf(' ',htmlspecialchars($val)); - + if ($ldapserver->isMultiLineAttr($attr,$val)) + printf('',$input_name,$input_id,htmlspecialchars($val)); + else + printf(' ',$input_name,$input_id,htmlspecialchars($val)); - - - server_id)) { ?> - - - - - - - - isDNAttr($attr)) + draw_chooser_link("edit_form.$input_id",false); echo '
    '; - // If this is a gidNumber on a non-PosixGroup entry, lookup its name and description for convenience - if( ! strcasecmp( $attr, 'gidNumber' ) && - ! in_array_ignore_case( 'posixGroup', get_object_attr( $ldapserver, $dn, 'objectClass' ) ) ) { + # If this is a gidNumber on a non-PosixGroup entry, lookup its name and description for convenience + if (! strcasecmp($attr,'gidNumber') && + ! in_array_ignore_case('posixGroup',$ldapserver->getDNAttr($dn,'objectClass'))) { $gid_number = $val; $search_group_filter = "(&(objectClass=posixGroup)(gidNumber=$val))"; - $group = pla_ldap_search( $ldapserver, $search_group_filter, null, array( 'dn', 'description' ) ); + $group = $ldapserver->search(null,null,$search_group_filter,array('dn','description')); - if( count( $group ) > 0 ) { - echo "
    "; - $group = array_pop( $group ); + if (count($group) > 0) { + echo '
    '; + + $group = array_pop($group); $group_dn = $group['dn']; - $group_name = explode( '=', get_rdn( $group_dn ) ); + $group_name = explode('=',get_rdn($group_dn)); $group_name = $group_name[1]; - $href = sprintf('edit.php?server_id=%s&dn=%s',$ldapserver->server_id,urlencode($group_dn)); - echo ""; - echo "" . htmlspecialchars($group_name) . ""; - $description = isset( $group['description'] ) ? $group['description'] : null; + $href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,urlencode($group_dn)); - if( $description ) echo " (" . htmlspecialchars( $description ) . ")"; - echo ""; + echo ''; + printf('%s',$href,htmlspecialchars($group_name)); + + $description = isset($group['description']) ? $group['description'] : null; + + if ($description) + printf(' (%s)',htmlspecialchars($description)); + + echo ''; } } - // Show the dates for all the shadow attributes. - if( in_array(strtolower($attr), $shadow_format_attrs) ) { - if( ( $shadow_date = shadow_date( $attrs, $attr) ) !== false ) { - echo "
    "; - echo ""; + # Show the dates for all the shadow attributes. + if (in_array(strtolower($attr),$shadow_format_attrs)) { + if (($shadow_date = shadow_date($attrs,$attr)) !== false) { + echo '
    '; + echo ''; - if( ($today < $shadow_date) && in_array(strtolower($attr), $shadow_before_today_attrs) ) + if (($today < $shadow_date) && in_array(strtolower($attr),$shadow_before_today_attrs)) echo ''.htmlspecialchars(strftime($config->GetValue('appearance','date'),$shadow_date)).''; - elseif( $today > $shadow_date && in_array(strtolower($attr), $shadow_after_today_attrs) ) + elseif ($today > $shadow_date && in_array(strtolower($attr),$shadow_after_today_attrs)) echo ''.htmlspecialchars(strftime($config->GetValue('appearance','date'),$shadow_date)).''; else echo htmlspecialchars(strftime($config->GetValue('appearance','date'),$shadow_date)); - echo ""; + echo '
    '; } } } /* end foreach value */ /* Draw the "add value" link under the list of values for this attributes */ - - if( ! $ldapserver->isReadOnly() && - ( $schema_attr = $ldapserver->getSchemaAttribute($attr,$dn)) && - ! $schema_attr->getIsSingleValue() ) { + if (! $ldapserver->isReadOnly() && ($schema_attr = $ldapserver->getSchemaAttribute($attr,$dn)) && + ! $schema_attr->getIsSingleValue()) { $add_href = sprintf('add_value_form.php?server_id=%s&dn=%s&attr=%s', $ldapserver->server_id,$encoded_dn,rawurlencode($attr)); printf('
    (%s)
    ', - $add_href,sprintf( $lang['add_value_tooltip'], $attr ),$lang['add_value']); - } ?> + $add_href,sprintf(_('Add an additional value to attribute \'%s\''),$attr),_('add value')); + } - - + echo ''; + echo ''; - - - - - '; + echo "\n"; flush(); -} /* End foreach( $attrs as $attr => $vals ) */ +} /* End foreach ($attrs as $attr => $vals) */ -if (! $ldapserver->isReadOnly()) { ?> - -
    - - - - - - - - +if (! $ldapserver->isReadOnly()) + printf('
    ', + _('Save Changes')); +else + printf(''); +?>
    @@ -1077,6 +1088,23 @@ function deleteAttribute( attrName )
    + \n"; + foreach ($js as $script) + echo $script; ?> + + + + + diff --git a/htdocs/timeout.php b/htdocs/timeout.php index e588362..5b9e440 100644 --- a/htdocs/timeout.php +++ b/htdocs/timeout.php @@ -18,8 +18,6 @@ if (! isset($ldapserver)) include './header.php'; -global $lang; - # If $session_timeout not defined, use ( session_cache_expire() - 1 ) $session_timeout = $ldapserver->session_timeout ? $ldapserver->session_timeout : session_cache_expire()-1; ?> @@ -28,11 +26,11 @@ $session_timeout = $ldapserver->session_timeout ? $ldapserver->session_timeout :

    - +

    -
    - +
    +
    diff --git a/htdocs/tree.php b/htdocs/tree.php index cc32f75..0e738d8 100644 --- a/htdocs/tree.php +++ b/htdocs/tree.php @@ -1,5 +1,5 @@ GetServerList() as $server_id ) { +foreach ($ldapservers->GetServerList() as $server_id) { $ldapserver = $ldapservers->Instance($server_id); # Test to see if we should log out the user due to the timeout. - if ($ldapserver->haveAuthInfo()) { - + if ($ldapserver->haveAuthInfo() && $ldapserver->auth_type != 'config') { /* If time out value has been reached: - - log out user - - put $server_id in array of recently timed out servers */ - if (session_timed_out($ldapserver)) + - log out user + - put $server_id in array of recently timed out servers */ + if (session_timed_out($ldapserver)) { array_push($recently_timed_out_servers, $server_id); - /* if the timeout value is less than the previous $meta_refresh_variable value - set $meta_refresh_variable to $ldapserver->session_timeout */ - if (($ldapserver->session_timeout*60) < $meta_refresh_variable ) + # If $ldapserver->server_id equal $rightframe_server_id load timeout page on right frame + if ($ldapserver->server_id == $rightframe_server_id) + $rightframerefresh = true; + + /* Otherwise calculate a new refresh value. If the timeout value is less than the previous + $meta_refresh_variable value set $meta_refresh_variable to $ldapserver->session_timeout */ + } else $meta_refresh_variable = $ldapserver->session_timeout*60; } } -/* Close the session for faster page loading (we're done with session data anyway). - Unfortunately, now that we dont show a plus '+' for leafs in a tree, we need to keep - the session open, so that if we create an entry, it'll cause the refresh of the tree view. - Hope this doesnt affect performance...? */ -// pla_session_close(); - include './header.php'; + +echo ''; + +if ($rightframerefresh) { +?> + + - + + + +printf('

    phpLDAPadmin - %s

    ',pla_version()); -

    phpLDAPadmin -

    +echo "\n\n"; +echo ''; +echo ''; +printf('',_('Home')); +printf('',_('Home')); +printf('',_('Purge caches')); +printf('',_('Purge all cached data in phpLDAPadmin, including server schemas.'),_('Purge caches')); +echo ''; - -
    %s%s%s%s
    - - - - - - - +if (! $config->GetValue('appearance','hide_configuration_management')) { + printf('',_('light')); + printf('',get_href('add_rfe'),_('Request feature')); + printf('',_('bug')); + printf('',get_href('add_bug'),_('Report a bug')); + echo ''; -GetValue('appearance','hide_configuration_management') ) { ?> - - - - - - - - - - - - -
    <?php echo $lang['home']; ?><?php echo $lang['purge_cache']; ?>
    %s%s%s%s
    <?php echo $lang['light']; ?><?php echo $lang['bug']; ?>
    <?php echo $lang['donate']; ?><?php echo $lang['help']; ?>
    + printf('%s',_('Donate')); + printf('%s',get_href('donate'),_('Donate')); +} - +printf('',_('Help')); +printf('',_('Help')); +echo '
    %s%s
    '; -GetValue('appearance','tree_plm')) { + require JSDIR.'phplayersmenu/lib/PHPLIB.php'; + require JSDIR.'phplayersmenu/lib/layersmenu-common.inc.php'; + require JSDIR.'phplayersmenu/lib/treemenu.inc.php'; +} + # For each of the configured servers foreach( $ldapservers->GetServerList() as $server_id ) { $ldapserver = $ldapservers->Instance($server_id); @@ -126,169 +121,5 @@ foreach( $ldapservers->GetServerList() as $server_id ) { } } -# Case where user not logged into any server -if ($meta_refresh_variable == 0) - $meta_refresh_variable = (session_cache_expire()-1)*60; - -?> - - - - - - - -server_id,$encoded_dn); - $collapse_href = sprintf("collapse.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); - $edit_href = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); - - // should never happen, but just in case - if( ! isset( $tree_icons[ $ldapserver->server_id ][ $dn ] ) ) - $tree_icons[ $ldapserver->server_id ][ $dn ] = get_icon( $ldapserver, $dn ); - $img_src = 'images/' . $tree_icons[ $ldapserver->server_id ][ $dn ]; - - $rdn = get_rdn( $dn ); - - echo ''; - - for( $i=0; $i<=$level; $i++ ) { - echo '' . "\n"; - } - - // Shall we draw the "mass-delete" checkbox? - if( $ldapserver->isMassDeleteEnabled() ) { - printf('',htmlspecialchars($dn)); - } - - // is this node expanded? (deciding whether to draw "+" or "-") - if( isset( $tree[$ldapserver->server_id][$dn] ) ) { ?> - server_id][$dn] ) ); - if ((! $child_count) && (! $ldapserver->isShowCreateEnabled())) { ?> - - - - - - - - - - - - - - - GetValue('search','size_limit'); - - if( $ldapserver->isLowBandwidth() ) { - $child_count = null; - } else { - $child_count = count( get_container_contents( $ldapserver, $dn, $size_limit+1, - '(objectClass=*)', $config->GetValue('deref','tree'))); - - if( $child_count > $size_limit ) - $child_count = $size_limit . '+'; - } - - if (($child_count === 0) && (! $ldapserver->isShowCreateEnabled())) { - // Since we know the tree is empty, we'll create a $tree object anyway, just incase we - // create something later (otherwise it doesnt cause the tree to get refreshed). - - $_SESSION['tree'][$ldapserver->server_id][$dn] = array(); - $_SESSION['tree_icons'][$ldapserver->server_id][$dn] = get_icon( $ldapserver, $dn ); ?> - - - - - - - - - - - - + - - - - - - img - - - - - - () - - - - - - server_id][$dn] ) && is_array( $tree[$ldapserver->server_id][$dn] ) ) { - // Draw the "create new" link at the top of the tree list if there are more than 10 - // entries in the listing for this node. - - if(( count( $tree[$ldapserver->server_id][$dn] ) > 10 ) && ( $ldapserver->isShowCreateEnabled() )) - draw_create_link( $ldapserver->server_id, $rdn, $level, $encoded_dn ); - - foreach( $tree[$ldapserver->server_id][$dn] as $dn ) - draw_tree_html( $dn, $ldapserver, $level+1 ); - - // Always draw the "create new" link at the bottom of the listing - if( $ldapserver->isShowCreateEnabled() ) - draw_create_link( $ldapserver->server_id, $rdn, $level, $encoded_dn ); - } -} - -/** - * Print the HTML to show the "create new entry here". - * - * @param int $server_id - * @param dn $rdn - * @param int $level - * @param dn $encoded_dn - */ -function draw_create_link( $server_id, $rdn, $level, $encoded_dn ) -{ - global $lang; - - // print the "Create New object" link. - $create_href = sprintf("create_form.php?server_id=%s&container=%s",$server_id,$encoded_dn); - - $create_html = ''; - for( $i=0; $i<=$level; $i++ ) { - $create_html .= ''; - } - - $create_html .= ''; - $create_html .= '' . $lang['new'] . ''; - $create_html .= '' . - $lang['create_new'] . ''; - $create_html .= ''; - echo $create_html; -} - +echo ''; ?> diff --git a/htdocs/update.php b/htdocs/update.php index d467bea..4ad8efb 100644 --- a/htdocs/update.php +++ b/htdocs/update.php @@ -1,24 +1,25 @@ ''. For example, to - * delete the 'sn' attribute from an entry, the update array would look like this: - * Array ( + * enter that attribute in the update array like this: attr => ''. For example, to + * delete the 'sn' attribute from an entry, the update array would look like this: + * Array ( * sn => '' * ) * - * On success, redirect to edit.php. On failure, echo an error. + * On success, redirect to template_engine.php. On failure, echo an error. * * @package phpLDAPadmin */ @@ -27,95 +28,120 @@ require './common.php'; -if ($ldapserver->isReadOnly()) - pla_error($lang['no_updates_in_read_only_mode']); -if (! $ldapserver->haveAuthInfo()) - pla_error($lang['not_enough_login_info']); - $dn = $_POST['dn']; $encoded_dn = rawurlencode($dn); -$update_array = isset($_POST['update_array']) ? $_POST['update_array'] : array(); -is_array($update_array) or pla_error($lang['update_array_malformed']); -$failed_attrs = array(); - -run_hook ('pre_update',array ('server_id' => $ldapserver->server_id, - 'dn' => $dn,'update_array' => $update_array)); - -// check for delete attributes (indicated by the attribute entry appearing like this: attr => '' -foreach ($update_array as $attr => $val) - if (! is_array($val)) - if ($val == '') - $update_array[ $attr ] = array(); - else - $update_array[ $attr ] = $val; - else - foreach ($val as $i => $v) - $update_array[ $attr ][ $i ] = $v; - -// Call the custom callback for each attribute modification -// and verify that it should be modified. -foreach ($update_array as $attr_name => $val) { - - // Check to see if this is a unique Attribute - if ($badattr = checkUniqueAttr($ldapserver,$dn,$attr_name,$val)) { - $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s',$ldapserver->server_id,$attr_name,$badattr); - pla_error(sprintf($lang['unique_attr_failed'],$attr_name,$badattr,$dn,$search_href)); - } - - if (true !== run_hook ('pre_attr_modify',array ('server_id' => $ldapserver->server_id, - 'dn' => $dn,'attr_name' => $attr_name,'new_value' => $val))) { - - unset($update_array[ $attr_name ]); - $failed_attrs[$attr_name] = $val; - } - - elseif (is_attr_read_only($ldapserver,$attr)) - pla_error(sprintf($lang['attr_is_read_only'],htmlspecialchars($attr_name))); +# If cancel was submited, got back to the edit display. +if (isset($_REQUEST['cancel'])) { + header(sprintf('Location: template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn)); + die(); } +if ($ldapserver->isReadOnly()) + pla_error(_('You cannot perform updates while server is in read-only mode')); +if (! $ldapserver->haveAuthInfo()) + pla_error(_('Not enough information to login to server. Please check your configuration.')); + +$update_array = isset($_POST['update_array']) ? $_POST['update_array'] : array(); +$skip_array = isset($_POST['skip_array']) ? $_POST['skip_array'] : array(); +$failed_attrs = array(); + +if (! is_array($update_array)) + pla_error(_('update_array is malformed. This might be a phpLDAPadmin bug. Please report it.')); + +run_hook ('pre_update',array('server_id'=>$ldapserver->server_id,'dn'=>$dn,'update_array'=>$update_array)); + +# Check for delete attributes (indicated by the attribute entry appearing like this: attr => '' +foreach ($update_array as $attr => $val) + if (! is_array($val)) + if (array_key_exists($attr,$skip_array)) + unset($update_array[$attr]); + + elseif ($val == '') + $update_array[$attr] = array(); + + # Skip change + else + $update_array[$attr] = $val; + + else + if (array_key_exists($attr,$skip_array)) + unset($update_array[$attr]); + + else + foreach ($val as $i => $v) + $update_array[$attr][$i] = $v; + +/* Call the custom callback for each attribute modification + and verify that it should be modified.*/ +foreach ($update_array as $attr_name => $val) { + # Check to see if this is a unique Attribute + if ($badattr = $ldapserver->checkUniqueAttr($dn,$attr_name,$val)) { + $search_href = sprintf('search.php?search=true&form=advanced&server_id=%s&filter=%s=%s', + $ldapserver->server_id,$attr_name,$badattr); + + pla_error(sprintf(_('Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'), + $attr_name,$badattr,$dn,$search_href)); + } + + if (run_hook('pre_attr_modify', + array('server_id'=>$ldapserver->server_id,'dn'=>$dn,'attr_name'=>$attr_name,'new_value'=>$val)) !== true) { + + unset($update_array[$attr_name]); + $failed_attrs[$attr_name] = $val; + + } elseif ($ldapserver->isAttrReadOnly($attr)) + pla_error(sprintf(_('The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'), + htmlspecialchars($attr_name))); +} + +# Perform the modification $res = $ldapserver->modify($dn,$update_array); if ($res) { - // Fire the post modification event to the user's custom - // callback function. + # Fire the post modification event to the user's custom callback function. + $mustRelogin = false; foreach ($update_array as $attr_name => $val) { - run_hook ('post_attr_modify',array('server_id' => $ldapserver->server_id, - 'dn' => $dn,'attr_name' => $attr_name,'new_value' => $val)); + run_hook('post_attr_modify', + array('server_id'=>$ldapserver->server_id,'dn'=>$dn,'attr_name'=>$attr_name,'new_value'=>$val)); - // Was this a user's password modification who is currently - // logged in? If so, they need to logout and log back in - // with the new password. + /* Was this a user's password modification who is currently + logged in? If so, they need to logout and log back in + with the new password. */ if (0 === strcasecmp($attr_name,'userPassword') && in_array($ldapserver->auth_type,array('cookie','session')) && - 0 === pla_compare_dns(get_logged_in_dn($ldapserver),$dn)) { + pla_compare_dns($ldapserver->getLoggedInDN(),$dn) === 0) - unset_login_dn($ldapserver); - unset_lastactivity($ldapserver); - include './header.php'; - ?> - - -
    -

    -
    -
    -   - -
    - - - - $ldapserver->server_id,'dn' => $dn,'update_array' => $update_array)); - $redirect_url = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); + # If the user password was changed, not tell the to relogin. + if ($mustRelogin) { + $ldapserver->unsetLoginDN(); + unset_lastactivity($ldapserver); + include './header.php'; + + echo ''; + echo ''."\n\n"; + + echo '
    '; + echo '
    '; + printf('%s',_('Modification successful!')); + echo '

    '; + echo _('Since you changed your password, you must now login again with your new password.'); + echo '
    '; + printf('%s...',$ldapserver->server_id, _('Login')); + echo '
    '; + echo ''; + echo ''; + + exit; + } + + $redirect_url = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); foreach ($update_array as $attr => $junk) $redirect_url .= "&modified_attrs[]=$attr"; @@ -126,7 +152,6 @@ if ($res) { header("Location: $redirect_url"); } else { - pla_error($lang['could_not_perform_ldap_modify'], - $ldapserver->error(),$ldapserver->errno()); + pla_error(_('Could not perform ldap_modify operation.'),$ldapserver->error(),$ldapserver->errno()); } ?> diff --git a/htdocs/update_confirm.php b/htdocs/update_confirm.php index 7caafb8..b052312 100644 --- a/htdocs/update_confirm.php +++ b/htdocs/update_confirm.php @@ -1,8 +1,8 @@ isReadOnly() ) - pla_error( $lang['no_updates_in_read_only_mode'] ); +if ($ldapserver->isReadOnly()) + pla_error(_('You cannot perform updates while server is in read-only mode')); $dn = $_POST['dn']; $old_values = $_POST['old_values']; $new_values = $_POST['new_values']; -$encoded_dn = rawurlencode( $dn ); -$rdn = get_rdn( $dn ); +$encoded_dn = rawurlencode($dn); +$rdn = get_rdn($dn); -?> +echo ''; +printf('

    %s

    ',htmlspecialchars($rdn)); +printf('

    %s: %s     %s: %s

    ', + _('Server'),$ldapserver->name,_('Distinguished Name'),htmlspecialchars($dn)); +echo "\n\n"; - -

    -

    Server: name; ?>     :

    - $ldapserver->server_id, - 'dn' => $dn, 'old_values' => $old_values, 'new_values' => $new_values ) ); +run_hook('pre_update_array_processing',array('server_id'=>$ldapserver->server_id, + 'dn'=>$dn,'old_values'=>$old_values,'new_values'=>$new_values)); $update_array = array(); -foreach( $old_values as $attr => $old_val ) { - // Did the user delete the field? - if( ! isset( $new_values[ $attr ] ) ) - $update_array[ $attr ] = ''; +foreach ($old_values as $attr => $old_val) { + # Did the user delete the field? + if (! isset($new_values[$attr])) + $update_array[$attr] = ''; - // did the user change the field? - elseif( $old_val != $new_values[ $attr ] ) { + # Did the user change the field? + elseif ($old_val !== $new_values[$attr]) { + $new_val = $new_values[$attr]; - $new_val = $new_values[ $attr ]; + # Special case for userPassword attributes + if (strcasecmp($attr,'userPassword') == 0) { + foreach ($new_val as $key => $userpassword) { + if (trim($userpassword)) + $new_val[$key] = password_hash($userpassword,$_POST['enc_type'][$key]); + else + unset($new_val[$key]); + } - // special case for userPassword attributes - if( 0 == strcasecmp( $attr, 'userPassword' ) && $new_val != '' ) { - $new_val = password_hash( $new_val, $_POST['enc_type'] ); $password_already_hashed = true; - // special case for samba password - } else if (( 0 == strcasecmp($attr,'sambaNTPassword')) && trim($new_val[0]) != '' ) { - + # Special case for samba password + } elseif (strcasecmp($attr,'sambaNTPassword') == 0 && trim($new_val[0])) { $sambapassword = new smbHash; $new_val[0] = $sambapassword->nthash($new_val[0]); - // special case for samba password - } else if ((0 == strcasecmp($attr,'sambaLMPassword')) && trim($new_val[0]) != '' ) { - + # Special case for samba password + } elseif (strcasecmp($attr,'sambaLMPassword') == 0 && trim($new_val[0])) { $sambapassword = new smbHash; $new_val[0] = $sambapassword->lmhash($new_val[0]); } - if ($new_val == $old_val) + # Retest in case our now encoded password is the same. + if ($new_val === $old_val) continue; - $update_array[ $attr ] = $new_val; + if ($new_val) + $update_array[$attr] = $new_val; } } -// special case check for a new enc_type for userPassword (not otherwise detected) -if( isset( $_POST['enc_type'] ) && - ! isset( $password_already_hashed ) && - $_POST['enc_type'] != $_POST['old_enc_type'] && - $_POST['enc_type'] != 'clear' && - array_key_exists ( 'userpassword', $_POST['new_values'] ) && - $_POST['new_values']['userpassword'] != '' ) { +# Check user password with new encoding. +if (isset($new_values['userpassword']) && is_array($new_values['userpassword'])) + foreach ($new_values['userpassword'] as $key => $userpassword) { + if ($userpassword) { + $new_val[$key] = password_hash($userpassword,$_POST['enc_type'][$key]); - $new_password = password_hash( $_POST['new_values']['userpassword'], $_POST['enc_type'] ); - $update_array[ 'userpassword' ] = $new_password; -} + if ($new_val[$key] != $old_values['userpassword'][$key]) + $update_array['userpassword'][$key] = $new_val[$key]; + } + } -// strip empty vals from update_array and ensure consecutive indices for each attribute -foreach( $update_array as $attr => $val ) { - if( is_array( $val ) ) { - foreach( $val as $i => $v ) - if( null == $v || 0 == strlen( $v ) ) - unset( $update_array[$attr][$i] ); - $update_array[$attr] = array_values( $update_array[$attr] ); +# strip empty vals from update_array and ensure consecutive indices for each attribute +foreach ($update_array as $attr => $val) { + if (is_array($val)) { + foreach($val as $i => $v) + if (null == $v || 0 == strlen($v)) + unset($update_array[$attr][$i]); + + $update_array[$attr] = array_values($update_array[$attr]); } } -// at this point, the update_array should look like this (example): -// Array ( -// cn => Array( -// [0] => 'Dave', -// [1] => 'Bob' ) -// sn => 'Smith', -// telephoneNumber => '555-1234' ) -// This array should be ready to be passed to ldap_modify() +/* At this point, the update_array should look like this (example): + Array( + cn => Array( + [0] => 'Dave', + [1] => 'Bob') + sn => 'Smith', + telephoneNumber => '555-1234') + This array should be ready to be passed to ldap_modify() */ -run_hook ( 'post_update_array_processing', array ( 'server_id' => $ldapserver->server_id, - 'dn' => $dn, 'update_array' => $update_array ) ); +run_hook('post_update_array_processing',array('server_id'=>$ldapserver->server_id, + 'dn'=>$dn,'update_array'=>$update_array)); -if( count( $update_array ) > 0 ) { ?> +if (count($update_array) > 0) { + echo '
    '; + echo '
    '; + echo _('Do you want to make these changes?'); + echo '

    '; -
    -
    - -
    -
    + # + echo "\n\n"; + echo '
    '; + echo "\n"; + echo ''; + echo "\n"; - - + printf('', + _('Attribute'),_('Old Value'),_('New Value'),_('Skip')); -
    %s%s%s%s
    - - - - - + echo "\n\n"; + $counter = 0; - $ldapserver->server_id,'dn'=>$dn, + 'update_array'=>$update_array)); - run_hook ( 'pre_display_update_array', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn, - 'update_array' => $update_array ) ); - - foreach( $update_array as $attr => $new_val ) { + foreach ($update_array as $attr => $new_val) { $counter++; - if ( ! array_key_exists ( $attr, $old_values ) or ! array_key_exists ( $attr, $new_values ) ) + if (! array_key_exists($attr,$old_values) or ! array_key_exists($attr,$new_values)) continue; - ?> - - - ',$counter%2 ? 'even' : 'odd'); + printf('',htmlspecialchars($attr)); + echo ''; + echo ''; - else - echo htmlspecialchars( $new_val ) . "
    "; + printf('',htmlspecialchars($attr)); + echo ''."\n\n"; + } - else - echo '' . $lang['attr_deleted'] . ''; + run_hook('post_display_update_array',array('server_id'=>$ldapserver->server_id,'dn'=>$dn, + 'update_array'=>$update_array,'index'=>$counter)); - echo "\n\n"; - } + echo '
    + printf('
    %s'; + + if (strcasecmp($attr,'userPassword') == 0) { + foreach ($old_values[$attr] as $key => $value) { + if (obfuscate_password_display(get_enc_type($old_values[$attr][$key]))) + echo preg_replace('/./','*',$old_values[$attr][$key]).'
    '; + else + echo nl2br(htmlspecialchars($old_values[$attr][$key])).'
    '; + } + + } elseif (is_array($old_values[$attr])) + foreach ($old_values[$attr] as $v) + echo nl2br(htmlspecialchars($v)).'
    '; - "; else - if( 0 == strcasecmp( $attr, 'userPassword' ) - && obfuscate_password_display( get_enc_type( $old_values[ $attr ] ) ) ) + echo nl2br(htmlspecialchars($old_values[$attr])).'
    '; - echo preg_replace( '/./', '*', $old_values[ $attr ] ) . "
    "; + echo '
    '; - else - echo nl2br( htmlspecialchars( $old_values[ $attr ] ) ) . "
    "; + # Is this a multi-valued attribute? + if (is_array($new_val)) { + if (strcasecmp($attr,'userPassword') == 0) { + foreach ($new_values[$attr] as $key => $value) { + if (isset($new_val[$key])) { + if (obfuscate_password_display(get_enc_type($new_val[$key]))) + echo preg_replace('/./','*',$new_val[$key]).'
    '; + else + echo htmlspecialchars($new_val[$key]).'
    '; + } + } - echo "
    "; + } else { - // is this a multi-valued attribute? - if( is_array( $new_val ) ) { - foreach( $new_val as $i => $v ) { - if( $v == '' ) { - // remove it from the update array if it's empty - unset( $update_array[ $attr ][ $i ] ); - $update_array[ $attr ] = array_values( $update_array[ $attr ] ); + foreach ($new_val as $i => $v) { + if ($v == '') { + # Remove it from the update array if it's empty + unset($update_array[$attr][$i]); + $update_array[$attr] = array_values($update_array[$attr]); - } else { - echo nl2br( htmlspecialchars( $v ) ) . "
    "; + } else { + echo nl2br(htmlspecialchars($v)).'
    '; + } } } - // was this a multi-valued attribute deletion? If so, - // fix the $update_array to reflect that per update_confirm.php's - // expectations - if( $update_array[ $attr ] == array( 0 => '' ) || $update_array[ $attr ] == array() ) { - $update_array[ $attr ] = ''; - echo '' . $lang['attr_deleted'] . ''; + /* was this a multi-valued attribute deletion? If so, + fix the $update_array to reflect that per update_confirm.php's + expectations */ + if ($update_array[$attr] == array(0=>'') || $update_array[$attr] == array()) { + $update_array[$attr] = ''; + printf('%s',_('[attribute deleted]')); } - } - elseif( $new_val != '' ) - if( 0 == strcasecmp( $attr, 'userPassword' ) && - obfuscate_password_display( get_enc_type( $new_values[ $attr ] ) ) ) + } elseif ($new_val != '') + printf('%s',_('[attribute deleted]')); - echo preg_replace( '/./', '*', $new_val ) . "
    "; + echo '
    '; + echo ''; + echo '
    '; + printf('',$ldapserver->server_id); + printf('',$dn); - run_hook ( 'post_display_update_array', array ( 'server_id' => $ldapserver->server_id, 'dn' => $dn, - 'update_array' => $update_array, 'index' => $counter ) ); - ?> + foreach ($update_array as $attr => $val) { + if (is_array($val)) + foreach($val as $i => $v) + printf('', + htmlspecialchars($attr),$i,htmlspecialchars($v)); + else + printf('', + htmlspecialchars($attr),htmlspecialchars($val)); + } -
    -
    + printf('',_('Commit')); + echo ''; + echo ''; + printf('',_('Cancel')); + echo ''; + echo ''; + echo ''; + echo '
    '; + echo '
    '; - - - - - -
    - - +} else { + echo '
    '; + echo _('You made no changes'); + printf(' %s.', + $ldapserver->server_id,$encoded_dn,_('Go back')); + echo '
    '; +} - $val ) { - if( is_array( $val ) ) { - foreach( $val as $i => $v ) { ?> - - - - - - - - - - -
    - -
    - - - -
    -
    -
    - - - - -
    - - . -
    - - - - +echo ''; +?> diff --git a/htdocs/view_jpeg_photo.php b/htdocs/view_jpeg_photo.php index ec3cede..f9ad520 100644 --- a/htdocs/view_jpeg_photo.php +++ b/htdocs/view_jpeg_photo.php @@ -1,5 +1,5 @@ GetValue('jpeg','tmpdir'),$file); -file_exists( $file ) or - pla_error( $lang['no_such_file'] . htmlspecialchars( $_GET['file'] ) ); +if (! file_exists($file)) + pla_error(sprintf('%s %s',_('No such file: '),htmlspecialchars($_GET['file']))); -$f = fopen( $file, 'r' ); -$jpeg = fread( $f, filesize( $file ) ); -fclose( $f ); +$f = fopen($file,'r'); +$jpeg = fread($f,filesize($file)); +fclose($f); -Header( "Content-type: image/jpeg" ); -Header( "Content-disposition: inline; filename=jpeg_photo.jpg" ); +Header('Content-type: image/jpeg'); +Header('Content-disposition: inline; filename=jpeg_photo.jpg'); echo $jpeg; ?> diff --git a/htdocs/welcome.php b/htdocs/welcome.php index c18a857..93e32c6 100644 --- a/htdocs/welcome.php +++ b/htdocs/welcome.php @@ -1,16 +1,15 @@ @@ -19,23 +18,20 @@ pla_session_close();


    -<?php echo $lang['pla_logo']; ?>
    +<?php echo _('phpLDAPadmin logo'); ?>
    - +
    +



    -GetValue('appearance','hide_configuration_management')) { -?> - | - | - | - - + +GetValue('appearance','hide_configuration_management')) { ?> + | + | + +
    diff --git a/lang/Makefile b/lang/Makefile deleted file mode 100644 index 6311af2..0000000 --- a/lang/Makefile +++ /dev/null @@ -1,149 +0,0 @@ -# -# This Makefile (lang/Makefile) converts the source lang files to UTF8 -# coding. You need iconv installed to use it. -# $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/Makefile,v 1.25 2005/02/06 00:21:30 wurley Exp $ -# ToDo: detect the encoding in the "source" -# -# posible detect of the language -# echo `cat de.php | grep "logged_in_as" | sed s/".*="//g | file - | sed s/".*: "//g | sed s/" .*"//g` -# -# or -# -# maybe like this -# cat LANG.php | sed s/"^\/"//g | sed s/".*= "//g | sed s/";.*"//g | grep -v "<"| file - | sed s/".*: "//g | sed s/" .*"//g - -# Where to place the recoded language files -DESTDIR=./recoded -# Path to the iconv binary -ICONV=iconv -# Path to the PHP binary -PHP=php - -TARGETS=${DESTDIR}/auto.php \ - ${DESTDIR}/ca.php \ - ${DESTDIR}/cz.php \ - ${DESTDIR}/de.php \ - ${DESTDIR}/en.php \ - ${DESTDIR}/es.php \ - ${DESTDIR}/fr.php \ - ${DESTDIR}/hu.php \ - ${DESTDIR}/it.php \ - ${DESTDIR}/ja.php \ - ${DESTDIR}/nl.php \ - ${DESTDIR}/pl.php \ - ${DESTDIR}/pt-br.php \ - ${DESTDIR}/ru.php \ - ${DESTDIR}/sv.php \ - ${DESTDIR}/zh-cn.php \ - ${DESTDIR}/zh-tw.php \ - ${DESTDIR}/zz.php \ - ${DESTDIR}/zzz.php - -default: - @echo "usage:" - @echo " make iconvlang - to generate the lang coding" - @echo " make iconvclean - to remove the utf8-converted file in ${DESTDIR}" - -iconvlang: prepare ${TARGETS} syntax - @echo "Setting permissions..." - @chmod 644 ${TARGETS} - @echo "Done!" - -syntax: - @echo "Starting syntax checking..." - @which $(PHP) >/dev/null 2>&1 || ( echo "You must have '$(PHP)' installed to use this Makefile, but I could not find it in your path!" && exit 1 ) - @for i in ${TARGETS}; do ${PHP} -l $$i >/dev/null 2>&1 || ( echo "Syntax errors found in $$i!" && exit 1 ); done - @echo "Done" - -prepare: - @echo "Starting prepare" - @which $(ICONV) >/dev/null 2>&1 || ( echo "You must have GNU '$(ICONV)' installed to use this Makefile, but I could not find it in your path!" && exit 1 ) - @mkdir -p ${DESTDIR} - @chmod 755 ${DESTDIR} - -iconvclean: - @echo "deleting files "${TARGETS} - @rm -vf ${TARGETS} - @echo "now use 'make iconvlang' to encode, otherwise you could not use phpldapadmin" - -${DESTDIR}/auto.php: auto.php - @echo "Fixing encoding auto.php to UTF8 "${DESTDIR}/auto.php - @iconv -f iso8859-1 -t utf8 auto.php > ${DESTDIR}/auto.php - - -${DESTDIR}/ca.php: ca.php - @echo "Fixing encoding ca.php to UTF8 "${DESTDIR}/ca.php - @iconv -f iso8859-1 -t utf8 ca.php > ${DESTDIR}/ca.php - -${DESTDIR}/cz.php: cz.php - @echo "Fixing encoding cz.php to UTF8 "${DESTDIR}/cz.php - @iconv -f iso8859-2 -t utf8 cz.php > ${DESTDIR}/cz.php - - -${DESTDIR}/de.php: de.php - @echo "Fixing encoding de.php to UTF8 "${DESTDIR}/de.php - @iconv -f iso8859-1 -t utf8 de.php > ${DESTDIR}/de.php - -${DESTDIR}/en.php: en.php - @echo "Fixing encoding en.php to UTF8 "${DESTDIR}/en.php - @iconv -f iso8859-1 -t utf8 en.php > ${DESTDIR}/en.php - -${DESTDIR}/es.php: es.php - @echo "Fixing encoding es.php to UTF8 "${DESTDIR}/es.php - @iconv -f iso8859-1 -t utf8 es.php > ${DESTDIR}/es.php - -${DESTDIR}/fr.php: fr.php - @echo "Fixing encoding fr.php to UTF8 "${DESTDIR}/fr.php - @iconv -f iso8859-1 -t utf8 fr.php > ${DESTDIR}/fr.php - -${DESTDIR}/hu.php: hu.php - @echo "Fixing encoding hu.php to UTF8 "${DESTDIR}/hu.php - #@iconv -f iso8859-2 -t utf8 hu.php > ${DESTDIR}/hu.php - cp hu.php ${DESTDIR}/. - -${DESTDIR}/it.php: it.php - @echo "Fixing encoding it.php to UTF8 "${DESTDIR}/it.php - @iconv -f iso8859-1 -t utf8 it.php > ${DESTDIR}/it.php - -${DESTDIR}/ja.php: ja.php - @echo "Copying only the ja.php" - @cp ja.php ${DESTDIR}/. - -${DESTDIR}/nl.php: nl.php - @echo "Fixing encoding nl.php to UTF8 "${DESTDIR}/nl.php - @iconv -f iso8859-1 -t utf8 nl.php > ${DESTDIR}/nl.php - -${DESTDIR}/pl.php: pl.php - @echo "Fixing encoding pl.php to UTF8 "${DESTDIR}/pl.php - @iconv -f iso8859-2 -t utf8 pl.php > ${DESTDIR}/pl.php - -${DESTDIR}/pt-br.php: pt-br.php - @echo "Fixing encoding pt-br.php to UTF8 "${DESTDIR}/pt-br.php - @iconv -f iso8859-1 -t utf8 pt-br.php > ${DESTDIR}/pt-br.php - -${DESTDIR}/sv.php: sv.php - @echo "Fixing encoding sv.php to UTF8 "${DESTDIR}/sv.php - @iconv -f iso8859-1 -t utf8 sv.php > ${DESTDIR}/sv.php - -${DESTDIR}/ru.php: ru.php - @echo "Fixing encoding ru.php to UTF8 "${DESTDIR}/ru.php - @iconv -f utf8 -t utf8 ru.php > ${DESTDIR}/ru.php - -${DESTDIR}/zh-cn.php: zh-cn.php - @echo "Copying only the zh-cn.php" - @cp zh-cn.php ${DESTDIR}/zh-cn.php - -${DESTDIR}/zh-tw.php: zh-tw.php - @echo "Copying only the zh-tw.php" - @cp zh-tw.php ${DESTDIR}/zh-tw.php - # @iconv -f utf8 -t utf8 zh-tw.php ${DESTDIR}/zh-tw.php - # INTERNAL BUG COULDN CONVERT IT, SO WE COPY IT - -${DESTDIR}/zz.php: zz.php - @echo "Copying only the zz.php" - @cp zz.php ${DESTDIR}/. - -${DESTDIR}/zzz.php: zzz.php - @echo "Copying only the zzz.php" - @cp zzz.php ${DESTDIR}/. - diff --git a/lang/auto.php b/lang/auto.php deleted file mode 100644 index b13e1d4..0000000 --- a/lang/auto.php +++ /dev/null @@ -1,54 +0,0 @@ -"ca" // catalan - ," ca-"=>"ca" // - ," de "=>"de" // german - ," de-"=>"de" // for de-at, de-ch... - ," German "=>"de" // the browser Moz (1.5)submit German instead of de - ," en "=>"en" // englisch - ," en-"=>"en" // for en-us,en-gb,en-ca,.. - ," es "=>"es" // spainish - ," es-"=>"es" // es-cr, es-co,.... - ," fr "=>"fr" // french - ," fr-"=>"fr" // fr-lu,fr-ca,... - ," it "=>"it" // italien - ," it-"=>"it" // for it-ch (italien swiss).. - ," ja "=>"ja" // japanese - ," nl "=>"nl" // dutch - ," nl-"=>"nl" // for ne-be, only one? - ," pl "=>"pl" // polish - ," pl-"=>"pl" // maybe exist - ," pt "=>"pt-br" // brazilian portuguese - ," pt-br"=>"pt-br" // brazilian portuguese - ," ru "=>"ru" // russian - ," ru-"=>"ru" // ru- exits? - ," sv "=>"sv" //swedish - ," sv-"=>"sv" // swedisch to - ," zh-cn"=>"zh-cn" // simplified chinese - ," zh-tw"=>"zh-tw" // taiwan? - );// all supported languages in this array -// test - -$aHTTP_ACCEPT_LANGUAGE=" ".$HTTP_ACCEPT_LANGUAGE." "; -$aHTTP_ACCEPT_LANGUAGE=strtr($aHTTP_ACCEPT_LANGUAGE,","," ");// replace , with " " -$aHTTP_ACCEPT_LANGUAGE=strtr($aHTTP_ACCEPT_LANGUAGE,";"," ");// replace , with " " -$acceptMaxPos=strlen($aHTTP_ACCEPT_LANGUAGE);// initial value, no fit -//echo $aHTTP_ACCEPT_LANGUAGE."\n"; -foreach ($langSupport as $key=>$value) { - $acceptAktPos=strpos($aHTTP_ACCEPT_LANGUAGE,$key); - if ($acceptAktPos!==false // the test contained the substring - && ($acceptAktPos < $acceptMaxPos) // and is better than the one before - ) { $useLang=$value ; $acceptMaxPos=$acceptAktPos;} - // echo "$key=>$value:$acceptAktPos,$acceptMaxPos\n"; -} -//echo "used:$useLang\n"; -include realpath ("$useLang".".php");// this should include from recode/ position -$language=$useLang; -//echo "language:".$langugage; -?> diff --git a/lang/ca.php b/lang/ca.php deleted file mode 100644 index ee52247..0000000 --- a/lang/ca.php +++ /dev/null @@ -1,345 +0,0 @@ -Per a borrar un atribut, buida el formulari de texte i fes click a Desar.'; -$lang['attr_schema_hint'] = 'Pista: Per veure l\'esquema d\'un atribut, fes click al nom de l\'atribut.'; -$lang['attrs_modified'] = 'Alguns atributs (%s) foren modificats i estan remarcats ms abaix.'; -$lang['attr_modified'] = 'Un atribut (%s) fore modificat i est remarcat ms abaix.'; -$lang['viewing_read_only'] = 'Mostrant l\'objecte en el mode de no alterar.'; -$lang['change_entry_rdn'] = 'Modificar el RDN d\'aquest objecte'; -$lang['no_new_attrs_available'] = 'No hi han atributs nous disponibles per aquest objecte'; -$lang['binary_value'] = 'Valor binari'; -$lang['add_new_binary_attr'] = 'Afegir valor binari'; -$lang['add_new_binary_attr_tooltip'] = 'Afegir atribut/valor binari d\'un arxiu'; -$lang['alias_for'] = 'Sinnim per a'; -$lang['download_value'] = 'Descarregar valor'; -$lang['delete_attribute'] = 'Esborrar atribut'; -$lang['true'] = 'veritat'; -$lang['false'] = 'fals'; -$lang['none_remove_value'] = 'cap, esborrar valor'; -$lang['really_delete_attribute'] = 'Esborrar realment l\'atribut?'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Les segents ObjectClass sn presents en aquest servidor LDAP.'; -$lang['the_following_attributes'] = 'Les segents attributeTypes sn presents en aquest servidor LDAP.'; -$lang['the_following_matching'] = 'Les segents matching rules sn presents en aquest servidor LDAP.'; -$lang['the_following_syntaxes'] = 'Les segents sintaxis sn presents en aquest servidor LDAP.'; -$lang['jump_to_objectclass'] = 'Saltar a una ObjectClass'; -$lang['jump_to_attr'] = 'Saltar a un atribut'; -$lang['schema_for_server'] = 'Esquema del servidor '; -$lang['required_attrs'] = 'Atributs Requerits (MUST)'; -$lang['optional_attrs'] = 'Atributs Opcionals (MAY)'; -$lang['OID'] = 'OID'; -$lang['desc'] = 'Descripci'; -$lang['name'] = 'Nom'; -$lang['is_obsolete'] = 'Aquesta ObjectClass s obsoleta'; -$lang['inherits'] = 'Hereda'; -$lang['jump_to_this_oclass'] = 'Saltar a aquesta ObjectClass'; -$lang['matching_rule_oid'] = 'OID de Matching Rule'; -$lang['syntax_oid'] = 'OID de Sintaxi'; -$lang['not_applicable'] = 'no es aplicable'; -$lang['not_specified'] = 'no especificada'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Entrada \'%s\' esborrada correctament.'; -$lang['you_must_specify_a_dn'] = 'Has d\'especificar un DN'; -$lang['could_not_delete_entry'] = 'No he pogut esborrar l\'entrada: %s'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nous atributs requerits'; -$lang['requires_to_add'] = 'Aquesta acci exigeix que s\'afegeixin'; -$lang['new_attributes'] = 'nous atributs'; -$lang['new_required_attrs_instructions'] = 'Instruccions: Per afegir aquesta ObjectClass a aquest objecte, s\'ha d\'especificar'; -$lang['that_this_oclass_requires'] = 'que aquest ObjectClass requereix. Es pot fer amb aquest formulari.'; -$lang['add_oclass_and_attrs'] = 'Afegir ObjectClass i Atributs'; - -// General -$lang['chooser_link_tooltip'] = 'Fer click per seleccionar un objecte grficament'; -$lang['no_updates_in_read_only_mode'] = 'No es pot modificar l\'objecte si el servidor est operant en mode inalterable.'; -$lang['bad_server_id'] = 'L\'identificador de servidor est malament'; -$lang['not_enough_login_info'] = 'No tinc suficient informaci per conectar al servidor. Si us plau configurar correctament l\'arxiu config.php'; -$lang['could_not_connect'] = 'No s\'ha pogut conectar al servidor LDAP'; -$lang['could_not_perform_ldap_mod_add'] = 'No s\'ha pogut fer l\'operaci del ldap_mod_add.'; -$lang['bad_server_id_underline'] = 'L\'identificador del servidor est malament: '; -$lang['success'] = 'Exit'; -$lang['server_colon_pare'] = 'Servidor: '; -$lang['look_in'] = 'Buscant a: '; -$lang['missing_server_id_in_query_string'] = 'No est present l\'identificador del servidor a la URL'; -$lang['missing_dn_in_query_string'] = 'No est present el DN a la URL'; -$lang['back_up_p'] = 'Tornar a...'; -$lang['no_entries'] = 'no hi han entrades'; -$lang['not_logged_in'] = 'No ests autenticat'; -$lang['could_not_det_base_dn'] = 'No he pogut determinar la base DN'; - -// Add value form -$lang['add_new'] = 'Afegir'; -$lang['value_to'] = 'valor a'; -$lang['server'] = 'Servidor'; -$lang['distinguished_name'] = 'Nom distinguit'; -$lang['current_list_of'] = 'La llista actual de'; -$lang['values_for_attribute'] = 'valors per a l\'atribut'; -$lang['inappropriate_matching_note'] = 'Nota: Sino has configurat una regla \'EQUALITY\' al servidor LDAP, rebrs un error \'inappropriate matching\''; -$lang['enter_value_to_add'] = 'Prover el valor per afegir: '; -$lang['new_required_attrs_note'] = 'Nota: Es posible que es requereixi afegir nous atributs per satisfer els requisits d\'aquesta ObjectClass'; -$lang['syntax'] = 'Sintaxi'; - -//copy.php -$lang['copy_server_read_only'] = 'No es poden realitzar les modificacions si el servidor est operant en mode inalterable'; -$lang['copy_dest_dn_blank'] = 'No se emplenat el formulari de DN.'; -$lang['copy_dest_already_exists'] = 'L\'entrada de dest (%s) encara existeix.'; -$lang['copy_dest_container_does_not_exist'] = 'El contenidor de dest (%s) no existeix.'; -$lang['copy_source_dest_dn_same'] = 'El DN de la font i el DN de dest son els mateixos.'; -$lang['copy_copying'] = 'Copiant '; -$lang['copy_recursive_copy_progress'] = 'El progrs de la cpia recurrent'; -$lang['copy_building_snapshot'] = 'Construnt la \'foto\' de l\'arbre per a copiar... '; -$lang['copy_successful_like_to'] = 'Exit! Desitges '; -$lang['copy_view_new_entry'] = 'Veure el nou objecte?'; -$lang['copy_failed'] = 'Fallida al copiar DN: '; - -//edit.php -$lang['missing_template_file'] = 'Error: falta la plantilla, '; -$lang['using_default'] = 'Fent anar l\'arxiu per defecte.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar '; -$lang['copyf_to_new_object'] = 'a un objecte nou'; -$lang['copyf_dest_dn'] = 'DN de dest'; -$lang['copyf_dest_dn_tooltip'] = 'El DN sencer de la nova entrada a ser creada quan es copii l\'entrada font'; -$lang['copyf_dest_server'] = 'Servidor de dest'; -$lang['copyf_note'] = 'Nota: Copiar entre dos servidor funciona solsament si no hi han violacions de l\'esquema.'; -$lang['copyf_recursive_copy'] = 'Esborrar tots els fills recurrentment tamb?'; - - -//create.php -$lang['create_required_attribute'] = 'T\'has deixar el valor en blanc de l\'atribut requerit %s.'; -$lang['create_redirecting'] = 'Redirigint'; -$lang['create_here'] = 'aqu'; -$lang['create_could_not_add'] = 'No he pogut afegir l\'objecte al servidor LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Crear Objecte'; -$lang['createf_choose_temp'] = 'Escull una plantilla'; -$lang['createf_select_temp'] = 'Selecciona una plantilla per al procs de creaci'; -$lang['createf_proceed'] = 'Procedir'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Al servidor'; -$lang['ctemplate_no_template'] = 'No s\'ha especificat cap plantilla a les variables del POST.'; -$lang['ctemplate_config_handler'] = 'La teva configuraci especifica un manejador de'; -$lang['ctemplate_handler_does_not_exist'] = 'per aquesta plantilla. Per, aquest manejador no existeix al directori \'plantilla/creaci\'.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Encara no t\'has autenticat al servidor selectionat, no pots fer cap recerca.'; -$lang['click_to_go_to_login_form'] = 'Clica aqu per anar al formulari d\'autenticaci'; -$lang['unrecognized_criteria_option'] = 'Opci de criteri desconeguda: '; -$lang['if_you_want_to_add_criteria'] = 'Si vols afegir el teu propi criteri a la llista. Estigues segur d\'editar search.php per manejar-lo. Sortint.'; -$lang['entries_found'] = 'Entrades trobades: '; -$lang['filter_performed'] = 'Filtre realitzat: '; -$lang['search_duration'] = 'Recerca realitzada per phpLDAPadmin a'; -$lang['seconds'] = 'segons'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'L\'abast en el que buscar'; -$lang['scope_sub'] = 'Sub (tot el sub-arbre)'; -$lang['scope_one'] = 'Un (un nivell per d\'avall de la base)'; -$lang['scope_base'] = 'Base (sols base dn)'; -$lang['standard_ldap_search_filter'] = 'Filtre de recerca estndar de LDAP. Exemple: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Filtre de recerca'; -$lang['list_of_attrs_to_display_in_results'] = 'Una llista d\'atributs per mostrar als resultats (separats per comes)'; -$lang['show_attributes'] = 'Mostrar atributs'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Buscar entrades les quals:'; -$lang['equals'] = 'sigui igual'; -$lang['starts with'] = 'comenci amb'; -$lang['contains'] = 'contingui'; -$lang['ends with'] = 'acabi amb'; -$lang['sounds like'] = 'soni com'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'No s\'ha pogut treure informaci LDAP del servidor'; -$lang['server_info_for'] = 'Informaci del servidor per a: '; -$lang['server_reports_following'] = 'El servidor mostra la segent informaci sobre ell mateix'; -$lang['nothing_to_report'] = 'Aquest servidor no t res a mostrar.'; - -//update.php -$lang['update_array_malformed'] = 'l\'update_array est malformat. Aix podria ser una errada del phpLDAPadmin. Si us plau reportala.'; -$lang['could_not_perform_ldap_modify'] = 'No he pogut executar l\'operaci ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Vols fer aquests canvis?'; -$lang['attribute'] = 'Atribut'; -$lang['old_value'] = 'Valor vell'; -$lang['new_value'] = 'Valor nou'; -$lang['attr_deleted'] = '[atribut esborrat]'; -$lang['commit'] = 'Cometre'; -$lang['cancel'] = 'Cancel.lar'; -$lang['you_made_no_changes'] = 'No has fet cap canvi'; -$lang['go_back'] = 'Tornar enrera'; - -// welcome.php -$lang['welcome_note'] = 'Fes anar el men de l\'esquerra per a navegar'; -$lang['credits'] = "Crdits"; -$lang['changelog'] = "Histric de canvis"; -$lang['documentation'] = "Documentaci"; - - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nom d\'arxiu insegur: '; -$lang['no_such_file'] = 'Arxiu no existent: '; - -//function.php -$lang['auto_update_not_setup'] = 'Has activat els auto_uid_numbers per %s a la teva configuraci, - pero no has especificat l\'auto_uid_number_mechanism. Si us plau soluciona - aquest problema.'; -$lang['uidpool_not_set'] = 'Has especificat l\'auto_uid_number_mechanism com uidpool - a la teva configuraci per al servidor %s, pero no has especificat el - audo_uid_number_uid_pool_dn. Si us plau especifica\'l avans de procedir.'; -$lang['uidpool_not_exist'] = 'Sembla ser que el uidPool que has especificat a la teva configuraci (%s) - no existeix.'; -$lang['specified_uidpool'] = 'Has especificat l\'auto_uid_number_mechanism com search a la teva - configuraci per al servidor %s, pero no has especificat el - auto_uid_number_search_base. Si us plau especifica\'l avans de procedir.'; -$lang['auto_uid_invalid_value'] = 'Has especificat un valor no vlid per a l\'auto_uid_number_mechanism (%s) - a la teva configuraci. Sols uidpool i search son vlids. - Si us plau soluciona aquest problema.'; -$lang['error_auth_type_config'] = 'Error: Tens un error al teu arxiu de configuraci. Els dos nics valors acceptats per - \'auth_type\' a la secci $servers son \'config\' i \'form\'. Tu has ficat \'%s\', - el qual no est acceptat. '; -$lang['php_install_not_supports_tls'] = 'La teva instalaci de PHP no soporta TLS'; -$lang['could_not_start_tls'] = 'No he pogut iniciar el TLS.
    Revisa la teva configuraci del servidor LDAP.'; -$lang['auth_type_not_valid'] = 'Tens un error a l\'arxiu de configuraci. auth_type de %s no es vlid.'; -$lang['ldap_said'] = 'LDAP digu: %s

    '; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'mostrar'; -$lang['delete_photo'] = 'Esborrar foto'; -$lang['install_not_support_blowfish'] = 'La teva instalaci de PHP no soporta el tipus d\'encriptaci blowfish.'; -$lang['install_no_mash'] = 'La teva instalaci de PHP no t la funci mhash(). No puc fer hash SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto cont errors
    '; -$lang['ferror_number'] = 'Error nmero: %s (%s)

    '; -$lang['ferror_discription'] = 'Descripci: %s

    '; -$lang['ferror_number_short'] = 'Error nmero: %s

    '; -$lang['ferror_discription_short'] = 'Descripci: (no hi ha descripci)
    '; -$lang['ferror_submit_bug'] = 'Es una errada del phpLDAPadmin? Si ho s, si us plau diguen\'s-ho.'; -$lang['ferror_unrecognized_num'] = 'Nmero d\'error desconegut: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Has trobat un error fatal del phpLDAPadmin!
    Error:%s (%s)
    Arxiu:%s lnia %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Servidor Web:%s
    - Enva aquesta errada fent click aqu.

    '; -$lang['ferror_congrats_found_bug'] = 'Felicitats! Has trobat una errada al phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Nivell:%s
    Arxiu:%s
    Lnia:%s
    Caller:%s
    Versi PLA:%s
    Versi PHP:%s
    PHP SAPI:%s
    Servidor Web:%s
    -
    - Si us plau enva aquesta errada fent click abaix!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar arxiu LDIF'; -$lang['select_ldif_file'] = 'Selecciona un arxiu LDIF:'; -$lang['select_ldif_file_proceed'] = 'Procedir >>'; - -//ldif_import -$lang['add_action'] = 'Afegint...'; -$lang['delete_action'] = 'Esborrant...'; -$lang['rename_action'] = 'Renombrant...'; -$lang['modify_action'] = 'Modificant...'; - -$lang['failed'] = 'fallat'; -$lang['ldif_parse_error'] = 'Error de parsejat LDIF'; -$lang['ldif_could_not_add_object'] = 'No he pogut afegir l\'objecte:'; -$lang['ldif_could_not_rename_object'] = 'No he pogut renombrar l\'objecte:'; -$lang['ldif_could_not_delete_object'] = 'No he pogut esborrar l\'objecte:'; -$lang['ldif_could_not_modify_object'] = 'No he pogut modificar l\'objecte:'; -$lang['ldif_line_number'] = 'Lnia Nmero:'; -$lang['ldif_line'] = 'Lnia:'; - -?> diff --git a/lang/cz.php b/lang/cz.php deleted file mode 100644 index ae750d9..0000000 --- a/lang/cz.php +++ /dev/null @@ -1,510 +0,0 @@ - - - * --- INSTRUCTIONS FOR TRANSLATORS --- - * - * If you want to write a new language file for your language, - * please submit the file on SourceForge: - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * Use the option "Check to Upload and Attach a File" at the bottom - * - * Thank you! - * - */ - -// Search form -$lang['simple_search_form_str'] = 'Rychl vyhledvn'; -$lang['advanced_search_form_str'] = 'Rozen vyhledvn'; -$lang['server'] = 'Server'; -$lang['search_for_entries_whose'] = 'Vyhledat objekty kde'; -$lang['base_dn'] = 'Vchoz DN'; -$lang['search_scope'] = 'Oblast prohledvn'; -$lang['show_attributes'] = 'Zobrazovat atributy'; -$lang['Search'] = 'Vyhledat'; -$lang['predefined_search_str'] = 'Zvolte peddefinovan vyhledvn'; -$lang['predefined_searches'] = 'Peddefinovan vyhledvn'; -$lang['no_predefined_queries'] = 'V config.php nejsou definovny dn dotazy.'; - -// Tree browser -$lang['request_new_feature'] = 'Napite si o novou funkci'; -$lang['report_bug'] = 'Nahlsit chybu'; -$lang['schema'] = 'schma'; -$lang['search'] = 'vyhledat'; -$lang['create'] = 'vytvoit'; -$lang['info'] = 'info'; -$lang['import'] = 'import'; -$lang['refresh'] = 'obnovit'; -$lang['logout'] = 'odhlsit se'; -$lang['create_new'] = 'Vytvoit nov'; -$lang['view_schema_for'] = 'Zobrazit schma pro'; -$lang['refresh_expanded_containers'] = 'Obnovit vechny oteven sloky'; -$lang['create_new_entry_on'] = 'Vytvoit nov objekt v'; -$lang['new'] = 'nov'; -$lang['view_server_info'] = 'Zobrazit serverem poskytovan informace'; -$lang['import_from_ldif'] = 'Importovat data ze souboru LDIF'; -$lang['logout_of_this_server'] = 'Odhlsit se od tohoto serveru'; -$lang['logged_in_as'] = 'Pihlen jako: '; -$lang['read_only'] = 'jen pro ten'; -$lang['read_only_tooltip'] = 'Tento atribut byl administrtorem phpLDAPadminu oznaen jako "jen pro ten".'; -$lang['could_not_determine_root'] = 'Nepodailo se zjistit koen Vaeho LDAP stromu.'; -$lang['ldap_refuses_to_give_root'] = 'Zd se, e LDAP server je nastaven tak, e nezobrazuje svj koen.'; -$lang['please_specify_in_config'] = 'Nastavte ho prosm v souboru config.php'; -$lang['create_new_entry_in'] = 'Vytvoit nov objekt v'; -$lang['login_link'] = 'Pihlsit se...'; -$lang['login'] = 'pihlsit'; - -// Entry display -$lang['delete_this_entry'] = 'Smazat tento objekt'; -$lang['delete_this_entry_tooltip'] = 'Budete podni o potvrzen tohoto rozhodnut'; -$lang['copy_this_entry'] = 'Koprovat tento objekt'; -$lang['copy_this_entry_tooltip'] = 'Okopruje tento objekt do jinho umstn, novho DN, nebo na jin server'; -$lang['export'] = 'Export'; -$lang['export_tooltip'] = 'Uloit pepis objektu'; -$lang['export_subtree_tooltip'] = 'Ulo pepis tohoto objektu a vech jeho potomk'; -$lang['export_subtree'] = 'Exportovat podstrom'; -$lang['create_a_child_entry'] = 'Vytvoit novho potomka'; -$lang['rename_entry'] = 'Pejmenovat objekt'; -$lang['rename'] = 'Pejmenovat'; -$lang['add'] = 'Pidat'; -$lang['view'] = 'Zobrazit'; -$lang['view_one_child'] = 'Zobrazit potomka'; -$lang['view_children'] = 'Zobrazit potomky (%s)'; -$lang['add_new_attribute'] = 'Pidat nov atribut'; -$lang['add_new_objectclass'] = 'Pidat objectClass'; -$lang['hide_internal_attrs'] = 'Schovat intern atributy'; -$lang['show_internal_attrs'] = 'Zobrazit intern atributy'; -$lang['attr_name_tooltip'] = 'Klepnutm zobrazte definin schma pro atribut typu \'%s\''; -$lang['none'] = 'dn'; -$lang['no_internal_attributes'] = 'dn intern atributy'; -$lang['no_attributes'] = 'Tento objekt nem atributy'; -$lang['save_changes'] = 'Uloit zmny'; -$lang['add_value'] = 'pidat hodnotu'; -$lang['add_value_tooltip'] = 'Pid dal hodnotu k atributu \'%s\''; -$lang['refresh_entry'] = 'Obnovit'; -$lang['refresh_this_entry'] = 'Obnovit tento objekt'; -$lang['delete_hint'] = 'Rada: Pro smazn atributu vyprzdte textov polko a klepnte na Uloit.'; -$lang['attr_schema_hint'] = 'Rada: K zobrazen schmata pro atribut klepnte na nzev atributu.'; -$lang['attrs_modified'] = 'Nkter atributy (%s) byly modifikovn a jsou zvraznny dole.'; -$lang['attr_modified'] = 'Atribut (%s) byl zmnn a je zvraznn dole.'; -$lang['viewing_read_only'] = 'Prohlen objekt v mdu "pouze pro ten".'; -$lang['no_new_attrs_available'] = 'nejsou dostupn dn nov atributy pro tento objekt'; -$lang['no_new_binary_attrs_available'] = 'nejsou dostupn dn nov binrn atributy pro tento objekt'; -$lang['binary_value'] = 'Binarn hodnota'; -$lang['add_new_binary_attr'] = 'Pidat nov binarn atribut'; -$lang['alias_for'] = 'Poznmka: \'%s\' je aliasem pro \'%s\''; -$lang['download_value'] = 'sthnout data'; -$lang['delete_attribute'] = 'smazat atribut'; -$lang['true'] = 'true'; -$lang['false'] = 'false'; -$lang['none_remove_value'] = 'dn, odebrat hodnotu'; -$lang['really_delete_attribute'] = 'Skuten smazat atribut'; -$lang['add_new_value'] = 'Pidat novou hodnotu'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Nsledujc objectClass jsou podporovny tmto LDAP serverem.'; -$lang['the_following_attributes'] = 'Nsledujc attributeType jsou podporovny tmto LDAP serverem.'; -$lang['the_following_matching'] = 'Nsledujc kritria vbru jsou podporovny tmto LDAP serverem.'; -$lang['the_following_syntaxes'] = 'Nsledujc syntaxe jsou podporovny tmto LDAP serverem.'; -$lang['schema_retrieve_error_1']='Server pln nepodporuje LDAP protocol.'; -$lang['schema_retrieve_error_2']='Vae verze PHP korektn neprovede tento dotaz.'; -$lang['schema_retrieve_error_3']='Nebo mon phpLDAPadmin nev jak zskat schma pro V server.'; -$lang['jump_to_objectclass'] = 'Jdi na objectClass'; -$lang['jump_to_attr'] = 'Jdi na typ atributu'; -$lang['jump_to_matching_rule'] = 'Jdi na Matching Rule'; -$lang['schema_for_server'] = 'Schma serveru'; -$lang['required_attrs'] = 'Vyadovan atributy'; -$lang['optional_attrs'] = 'Voliteln atributy'; -$lang['optional_binary_attrs'] = 'Voliteln binrn atributy'; -$lang['OID'] = 'OID'; -$lang['aliases']='Aliasy'; -$lang['desc'] = 'Popis'; -$lang['no_description']='dn popis'; -$lang['name'] = 'Nzev'; -$lang['equality']='Equality'; -$lang['is_obsolete'] = 'Tato objectClass je zastaral'; -$lang['inherits'] = 'Odvozeno od objectClass'; -$lang['inherited_from'] = 'Odvozeno od objectClass'; -$lang['parent_to'] = 'Rodiovsk objectClass'; -$lang['jump_to_this_oclass'] = 'Jdi na definici tto objectClass'; -$lang['matching_rule_oid'] = 'Vbrov kritrium OID'; -$lang['syntax_oid'] = 'Syntaxe OID'; -$lang['not_applicable'] = 'nepouiteln'; -$lang['not_specified'] = 'nespecifikovan'; -$lang['character']='znak'; -$lang['characters']='znak'; -$lang['used_by_objectclasses']='Pouvno tmito objectClass'; -$lang['used_by_attributes']='Pouvaj atributy'; -$lang['maximum_length']='Maximln dlka'; -$lang['attributes']='Typy atribut'; -$lang['syntaxes']='Syntaxe'; -$lang['matchingrules']='Matching Rules'; -$lang['oid']='OID'; -$lang['obsolete']='Zastaral'; -$lang['ordering']='azen'; -$lang['substring_rule']='Substring Rule'; -$lang['single_valued']='Single Valued'; -$lang['collective']='Collective'; -$lang['user_modification']='User Modification'; -$lang['usage']='Pouit'; -$lang['could_not_retrieve_schema_from']='Nelze zskat schma z'; -$lang['type']='Typ'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objekt \'%s\' byl spn odstrann.'; -$lang['you_must_specify_a_dn'] = 'Muste zadat DN'; -$lang['could_not_delete_entry'] = 'Nebylo mon odstranit objekt: %s'; -$lang['no_such_entry'] = 'Objekt neexistuje: %s'; -$lang['delete_dn'] = 'Smazat %s'; -$lang['permanently_delete_children'] = 'Odstranit tak vechny potomky?'; -$lang['entry_is_root_sub_tree'] = 'Tento objekt je koenem podstromu, kter obsahuje %s objekt.'; -$lang['view_entries'] = 'zobrazit objekty'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin rekurzivn odstran tento objekt a vech jeho %s potomk. Pozorn si prohldnte seznam objekt, kter tato operace odstran. Pejete si pokraovat?'; -$lang['confirm_recursive_delete_note'] = 'Poznmka: tato operace me mt fatln nsledky a nelze ji vrtit zpt. Speciln pozornost vnujte aliasm, odkazm a ostatnm vcem, kter mou zpsobit problmy.'; -$lang['delete_all_x_objects'] = 'Smazat vech %s objekt'; -$lang['recursive_delete_progress'] = 'Prbh rekurzivnho odstrann'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objekt %s a jeho podstrom byly spn odstranny.'; -$lang['failed_to_delete_entry'] = 'Nepodailo se odstranit objekt %s'; -$lang['list_of_entries_to_be_deleted'] = 'Seznam objekt k odstrann:'; -$lang['sure_permanent_delete_object']='Jste si skuten jisti, e chcete odstranit tento objekt?'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Atribut "%s" je v konfiguraci phpLDAPadminu oznaen jako "jen pro ten".'; -$lang['no_attr_specified'] = 'Nebylo zadno jmno atributu.'; -$lang['no_dn_specified'] = 'Nebylo zadno DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Nevyplnili jste hodnotu atributu. Vrate se zpt a akci opakujte.'; -$lang['failed_to_add_attr'] = 'Pidn atributu selhalo.'; -$lang['file_empty'] = 'Soubor, kter jste zvolili je bu przdn nebo neexistuje. Vrate se prosm zpt a akci opakujte.'; -$lang['invalid_file'] = 'Bezpenostn chyba: Soubor, kter uploadujete me bt zvadn.'; -$lang['warning_file_uploads_disabled'] = 'V konfiguraci PHP jsou zakzny uploady soubor. Pro pokraovn upravte prosm php.ini.'; -$lang['uploaded_file_too_big'] = 'Soubor, kter se pokoueli uloit je pli velik. Upravte prosm hodnotu upload_max_size v php.ini.'; -$lang['uploaded_file_partial'] = 'Pi uploadu souboru dolo zejm k selhn st, nebo se podailo zskat jen st souboru.'; -$lang['max_file_size'] = 'Maximln velikost souboru: %s'; - -// Updating values -$lang['modification_successful'] = 'prava probhla spn!'; -$lang['change_password_new_login'] = 'Kvli zmn svho hesla se nyn muste pihlsit znova - s novm heslem.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nov vyadovan atribut'; -$lang['requires_to_add'] = 'K proveden tto akce muste pidat'; -$lang['new_attributes'] = 'nov atributy'; -$lang['new_required_attrs_instructions'] = 'Nvod: K piazen tto objectClass k vybranmu objektu muste zadat'; -$lang['that_this_oclass_requires'] = 'atributy, kter jsou touto objectClass vyadovny. Mete tak uinit v tomto formuli.'; -$lang['add_oclass_and_attrs'] = 'Pidat objectClass a atributy'; -$lang['objectclasses'] = 'objectClassy'; - -// General -$lang['chooser_link_tooltip'] = 'Oteve popup okno, ve kterm zvolte DN'; -$lang['no_updates_in_read_only_mode'] = 'Nelze provdt pravy dokud je server v mdu "pouze pro ten"'; -$lang['bad_server_id'] = 'patn ID serveru'; -$lang['not_enough_login_info'] = 'Nedostatek informac pro pihlen k serveru. Ovte prosm nastaven.'; -$lang['could_not_connect'] = 'Nelze se pipojit k LDAP serveru.'; -$lang['could_not_connect_to_host_on_port'] = 'Nelze se pipojit k "%s" na portu "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nelze provst ldap_mod_add operaci.'; -$lang['bad_server_id_underline'] = 'server_id: '; -$lang['success'] = 'Hotovo'; -$lang['server_colon_pare'] = 'Server: '; -$lang['look_in'] = 'Prohlen: '; -$lang['missing_server_id_in_query_string'] = 'V poadavku nebylo uvedeno dn ID serveru!'; -$lang['missing_dn_in_query_string'] = 'V poadavku nebyl uveden dn DN!'; -$lang['back_up_p'] = 'O rove v...'; -$lang['no_entries'] = 'dn objekty'; -$lang['not_logged_in'] = 'Nepihlen'; -$lang['could_not_det_base_dn'] = 'Nelze zjistit vchoz DN'; -$lang['please_report_this_as_a_bug']='Nahlate toto prosm jako chybu.'; -$lang['reasons_for_error']='Toto se me pihodit z nkolika pin. Nejpravdpodobnj jsou:'; -$lang['yes']='Ano'; -$lang['no']='Ne'; -$lang['go']='Jdi'; -$lang['delete']='Odstranit'; -$lang['back']='Zpt'; -$lang['object']='objekt'; -$lang['delete_all']='Odstranit ve'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'rada'; -$lang['bug'] = 'chyba'; -$lang['warning'] = 'upozornn'; -$lang['light'] = 'light'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Prove >>'; - -// Add value form -$lang['add_new'] = 'Pidat nov'; -$lang['value_to'] = 'hodnota pro'; -$lang['distinguished_name'] = 'Distinguished Name'; -$lang['current_list_of'] = 'Souasn vpis'; -$lang['values_for_attribute'] = 'hodnoty pro atribut'; -$lang['inappropriate_matching_note'] = 'Poznmka: Pokud nenastavte na tomto LDAP serveru pravidlo
    EQUALITY pro tento atribut, dojde k chyb pi vbru objekt.'; -$lang['enter_value_to_add'] = 'Zadejte hodnotu, kterou chcete pidat:'; -$lang['new_required_attrs_note'] = 'Poznmka: Nen vylouen, e budete vyzvni k zadn novch atribut vyadovanch touto objectClass'; -$lang['syntax'] = 'Syntaxe'; - -//copy.php -$lang['copy_server_read_only'] = 'Nemete provdt zmny dokud je server v mdu "jen pro ten"'; -$lang['copy_dest_dn_blank'] = 'Ponechali jste kolonku clov DN przdnou.'; -$lang['copy_dest_already_exists'] = 'Objekt (%s) ji v clovm DN existuje.'; -$lang['copy_dest_container_does_not_exist'] = 'Clov sloka (%s) neexistuje.'; -$lang['copy_source_dest_dn_same'] = 'Zdrojov a clov DN se shoduj.'; -$lang['copy_copying'] = 'Kopruji '; -$lang['copy_recursive_copy_progress'] = 'Prbh rekurzivnho koprovn'; -$lang['copy_building_snapshot'] = 'Sestavuji obraz stromu ke koprovn... '; -$lang['copy_successful_like_to'] = 'Kopie spn dokonena! Pejete si '; -$lang['copy_view_new_entry'] = 'zobrazit nov objekt'; -$lang['copy_failed'] = 'Nepodailo se okoprovat DN: '; - -//edit.php -$lang['missing_template_file'] = 'Upozornn: chyb ablona, '; -$lang['using_default'] = 'Pouvm vchoz.'; -$lang['template'] = 'ablona'; -$lang['must_choose_template'] = 'Muste zvolit ablonu'; -$lang['invalid_template'] = '%s je neplatn ablona'; -$lang['using_template'] = 'poutm ablony'; -$lang['go_to_dn'] = 'Jdi na %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Koprovat '; -$lang['copyf_to_new_object'] = 'jako nov objekt'; -$lang['copyf_dest_dn'] = 'Clov DN'; -$lang['copyf_dest_dn_tooltip'] = 'Cel DN novho objektu bude vytvoeno kopi zdrojovho objektu'; -$lang['copyf_dest_server'] = 'Clov server'; -$lang['copyf_note'] = 'Rada: Koprovn mezi servery funguje jedin za pedpokladu, e nedojde k neshod schmat'; -$lang['copyf_recursive_copy'] = 'Pi koprovn zahrnout vechny potomky tohoto objektu.'; -$lang['recursive_copy'] = 'Rekurzivn kopie'; -$lang['filter'] = 'Filtr'; -$lang['filter_tooltip'] = 'Pi rekurzivn kopii pracovat pouze s objekty, kter spluj zvolen filtr'; - -//create.php -$lang['create_required_attribute'] = 'Nevyplnili jste pole pro vyadovan atribut %s.'; -$lang['redirecting'] = 'Pesmrovvm'; -$lang['here'] = 'zde'; -$lang['create_could_not_add'] = 'Nelze objekt do LDAP serveru pidat.'; - -//create_form.php -$lang['createf_create_object'] = 'Vytvoit objekt'; -$lang['createf_choose_temp'] = 'Vyberte ablonu'; -$lang['createf_select_temp'] = 'Zvolte ablonu pro vytvoen objektu'; -$lang['createf_proceed'] = 'Provst'; -$lang['rdn_field_blank'] = 'Ponechali jste pole RDN nevyplnn.'; -$lang['container_does_not_exist'] = 'Sloka (%s) neexistuje. Opakujte prosm akci.'; -$lang['no_objectclasses_selected'] = 'Nepiadili jste dn objectClass k tomuto objektu. Vrate se prosm zpt a akci opakujte.'; -$lang['hint_structural_oclass'] = 'Npovda: Muste zvolit alespo jednu structural objectClass.'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Na serveru'; -$lang['ctemplate_no_template'] = 'V POST poadavku nebyla zaslna dn ablona.'; -$lang['ctemplate_config_handler'] = 'Vae nastaven uvd obsluhova '; -$lang['ctemplate_handler_does_not_exist'] = 'pro tuto ablonu. Ale tento obsluhova nelze v adresi templates/creation nalzt.'; -$lang['create_step1'] = 'Krok 1 ze 2: Jmno a objectClass(y)'; -$lang['create_step2'] = 'Krok 2 ze 2: Atributy a hodnoty'; -$lang['relative_distinguished_name'] = 'Relativn Distinguished Name'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(pklad: cn=MujNovyUzivatel)'; -$lang['container'] = 'Sloka'; -$lang['alias_for'] = 'Alias k %s'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nelze provdt vyhledvn na serveru bez pedchozho pihlen.'; -$lang['click_to_go_to_login_form'] = 'Klepnutm budete pesmrovni na formul k pihlen'; -$lang['unrecognized_criteria_option'] = 'Neznm vyhledvac kritria: '; -$lang['if_you_want_to_add_criteria'] = 'Pokud si pejete pidat svoje vlastn vyhledvac kritria, ujistte se, e jste je pidali do search.php.'; -$lang['entries_found'] = 'Nalezen objekty: '; -$lang['filter_performed'] = 'Uplatnn filtr: '; -$lang['search_duration'] = 'Vyhledvn dokoneno za'; -$lang['seconds'] = 'sekund'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Oblast vyhledvn'; -$lang['scope_sub'] = 'Cel podstrom'; -$lang['scope_one'] = 'O jednu rove n'; -$lang['scope_base'] = 'Pouze vchoz DN'; -$lang['standard_ldap_search_filter'] = 'Standardn LDAP vyhledvac filtr. Piklad: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Vyhledvac filtr'; -$lang['list_of_attrs_to_display_in_results'] = 'Seznam atribut zobrazench ve vsledku hledn (oddlen rkou)'; -$lang['show_attributes'] = 'Zobrazit atributy'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Vyhledat objekty kde'; -$lang['equals'] = 'je'; -$lang['starts with'] = 'zan na'; -$lang['contains'] = 'obsahuje'; -$lang['ends with'] = 'kon na'; -$lang['sounds like'] = 'zn jako'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nelze zskat informace ze serveru LDAP'; -$lang['server_info_for'] = 'Server info pro: '; -$lang['server_reports_following'] = 'Server o sob poskytuje nsledujc informace'; -$lang['nothing_to_report'] = 'Server neposkytuje dn informace.'; - -//update.php -$lang['update_array_malformed'] = 'update_array je pokozen. Me se jednat o chybu v phpLDAPadmin. Prosme Vs, abyste chybu nahlsili.'; -$lang['could_not_perform_ldap_modify'] = 'Nelze provst operaci ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Pejete si provst tyto zmny?'; -$lang['attribute'] = 'Atribut'; -$lang['old_value'] = 'Pvodn hodnota'; -$lang['new_value'] = 'Nov hodnota'; -$lang['attr_deleted'] = '[atribut odstrann]'; -$lang['commit'] = 'Odeslat'; -$lang['cancel'] = 'Storno'; -$lang['you_made_no_changes'] = 'Neprovedli jste dn zmny'; -$lang['go_back'] = 'Zpt'; - -// welcome.php -$lang['welcome_note'] = 'K navigaci pouijte prosm menu v lev sti obrazovky'; -$lang['credits'] = 'Autoi'; -$lang['changelog'] = 'ChangeLog'; -$lang['donate'] = 'Podpoit projekt'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nebezpen nzev souboru: '; -$lang['no_such_file'] = 'Soubor nelze nalzt: '; - -//function.php -$lang['auto_update_not_setup'] = 'V konfiguraci jste zapnuli podporu auto_uid_numbers pro %s, ale nespecifikovali jste auto_uid_number_mechanism. Napravte prosm nejprve tento problm.'; -$lang['uidpool_not_set'] = 'V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako uidpool, ale neuvedli jste audo_uid_number_uid_pool_dn. Napravte prosm nejprve tento problm.'; -$lang['uidpool_not_exist'] = 'Zd se, e uidPool uveden v konfiguraci (%s) neexistuje.'; -$lang['specified_uidpool'] = 'V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako search, ale neuvedli jste auto_uid_number_search_base. Napravte prosm nejprve tento problm.'; -$lang['auto_uid_invalid_credential'] = 'Se zadanmi pstupovmi oprvnnmi se nelze pipojit k %s a zskat auto_uid. Zkontrolujte prosm konfiguraci.'; -$lang['bad_auto_uid_search_base'] = 'V konfiguraci phpLDAPadminu je uveden neplatn parametr auto_uid_search_base pro server %s'; -$lang['auto_uid_invalid_value'] = 'V konfiguraci je uvedena neplatn hodnota auto_uid_number_mechanism (%s). Platn hodnoty jsou pouze uidpool a search. Napravte prosm nejprve tento problm.'; -$lang['error_auth_type_config'] = 'Chyba: Ve svm konfiguranm souboru jste u poloky $servers[\'auth_type\'] uvedli chybnou hodnotu \'%s\'. Platn hodnoty jsou pouze \'config\' a \'form\'.'; -$lang['php_install_not_supports_tls'] = 'Tato instalace PHP neobsahuje podporu pro TLS'; -$lang['could_not_start_tls'] = 'Nelze inicializovat TLS.
    Zkontolujte prosm konfiguraci svho LDAP serveru.'; -$lang['could_not_bind_anon'] = 'K serveru se nelze pipojit anonymn.'; -$lang['could_not_bind'] = 'Nelze se pipojit k serveru LDAP.'; -$lang['anonymous_bind'] = 'Pipojit anonymn'; -$lang['bad_user_name_or_password'] = 'Nesprvn jmno nebo heslo. Opakujte pihlen.'; -$lang['redirecting_click_if_nothing_happens'] = 'Pesmrovvm... Klepnte sem, pokud se nic nestane.'; -$lang['successfully_logged_in_to_server'] = 'spn jste se pihlsili k serveru %s'; -$lang['could_not_set_cookie'] = 'Cookie nemohla bt uloena.'; -$lang['ldap_said'] = 'Odpov LDAP serveru: %s

    '; -$lang['ferror_error'] = 'Chyba'; -$lang['fbrowse'] = 'prochzet'; -$lang['delete_photo'] = 'Odstranit fotografii'; -$lang['install_not_support_blowfish'] = 'Tato instalace PHP neobsahuje podporu pro ifru Blowfish.'; -$lang['install_not_support_md5crypt'] = 'Tato instalace PHP neobsahuje podporu pro ifru md5crypt.'; -$lang['install_no_mash'] = 'Tato instalace PHP nepodporuje funkci mhash(). Nelze aplikovat SHA hash.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto obsahuje chyby
    '; -$lang['ferror_number'] = 'slo chyby: %s (%s)

    '; -$lang['ferror_discription'] = 'Popis: %s

    '; -$lang['ferror_number_short'] = 'slo chyby: %s

    '; -$lang['ferror_discription_short'] = 'Popis: (popis nen k dispozici)
    '; -$lang['ferror_submit_bug'] = 'Pokud je toto chyba v phpLDAPadmin, napite nm o tom.'; -$lang['ferror_unrecognized_num'] = 'Neznm slo chyby: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Narazili jste na nezvanou, droubnou a zanedbatelnou chybu v phpLDAPadmin!
    Chyba:%s (%s)
    Soubor:%s dka %s, volno z %s
    Verze:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Klepnutm prosm ohlte chybu.

    '; -$lang['ferror_congrats_found_bug'] = 'Blahopejeme! Nalezli jste chybu v phpLDAPadmin. :-)

    - - - - - - - - - - -
    Chyba:%s
    Vnost:%s
    Soubor:%s
    dka:%s
    Volno z:%s
    Verze PLA:%s
    Verze PHP:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Klepnutm dole prosm ohlate chybu!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importovat soubor LDIF'; -$lang['select_ldif_file'] = 'Zvolte soubor LDIF:'; -$lang['select_ldif_file_proceed'] = 'Prove >>'; -$lang['dont_stop_on_errors'] = 'Ignorovat chyby'; - -//ldif_import -$lang['add_action'] = 'Pidvn...'; -$lang['delete_action'] = 'Odstraovn...'; -$lang['rename_action'] = 'Pejmenovvn...'; -$lang['modify_action'] = 'Upravovn...'; -$lang['warning_no_ldif_version_found'] = 'Nebyla nalezena verze. Pedpokldm 1.'; -$lang['valid_dn_line_required'] = 'Je vyadovn platn dek s DN.'; -$lang['missing_uploaded_file'] = 'Soubor LDIF nebyl nalezen.'; -$lang['no_ldif_file_specified.'] = 'Neuvedli jste LDIF soubor. Opakujte prosm akci.'; -$lang['ldif_file_empty'] = 'Soubor LDIF je przdn.'; -$lang['empty'] = 'przdn'; -$lang['file'] = 'Soubor'; -$lang['number_bytes'] = '%s bajt'; - -$lang['failed'] = 'selhal'; -$lang['ldif_parse_error'] = 'Chyba v souboru LDIF'; -$lang['ldif_could_not_add_object'] = 'Nelze pidat objekt:'; -$lang['ldif_could_not_rename_object'] = 'Nelze pejmenovat objekt:'; -$lang['ldif_could_not_delete_object'] = 'Nelze odstranit objekt:'; -$lang['ldif_could_not_modify_object'] = 'Nelze upravit objekt:'; -$lang['ldif_line_number'] = 'slo dku:'; -$lang['ldif_line'] = 'dek:'; - -// Exports -$lang['export_format'] = 'Formt exportu'; -$lang['line_ends'] = 'Konce dk'; -$lang['must_choose_export_format'] = 'Muste zvolit exportn formt.'; -$lang['invalid_export_format'] = 'Neplatn exportn formt'; -$lang['no_exporter_found'] = 'Nebyla nalezena dn aplikace pro export.'; -$lang['error_performing_search'] = 'Bhem vyhledvn dolo k chyb.'; -$lang['showing_results_x_through_y'] = 'Vsledky od %s do %s.'; -$lang['searching'] = 'Vyhledvm...'; -$lang['size_limit_exceeded'] = 'Byl pekroen limitn parametr pro vyhledvn.'; -$lang['entry'] = 'Objekt'; -$lang['ldif_export_for_dn'] = 'LDIF Export objektu: %s'; -$lang['generated_on_date'] = 'Generovno phpLDAPadminem dne %s'; -$lang['total_entries'] = 'Celkem objekt'; -$lang['dsml_export_for_dn'] = 'DSLM Export objektu: %s'; - -// logins -$lang['could_not_find_user'] = 'Nelze nalzt uivatele "%s"'; -$lang['password_blank'] = 'Nezadali jste uivatelsk heslo.'; -$lang['login_cancelled'] = 'Pihlaovn zrueno.'; -$lang['no_one_logged_in'] = 'Nikdo nen pihlen k tomuto serveru.'; -$lang['could_not_logout'] = 'Nelze se odhlsit.'; -$lang['unknown_auth_type'] = 'Neznm auth_type: %s'; -$lang['logged_out_successfully'] = 'Odhlen od serveru %s probhlo spn.'; -$lang['authenticate_to_server'] = 'Oven vi serveru %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Upozornn: Toto spojen nen ifrovn.'; -$lang['not_using_https'] = 'Nepipojujete se pomoc \'https\'. Prohle odele Vae pihlen v neifrovan podob.'; -$lang['login_dn'] = 'Pihlaovac DN'; -$lang['user_name'] = 'Uivatel'; -$lang['password'] = 'Heslo'; -$lang['authenticate'] = 'Pihlsit'; - -// Entry browser -$lang['entry_chooser_title'] = 'Zvolit objekt'; - -// Index page -$lang['need_to_configure'] = 'Nejprve je teba phpLDAPadmin nakonfigurovat. Toho doclte upravou souboru \'config.php\'. Ukzkov konfigurace je k nalezen v souboru \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Mazn je v reimu "jen pro ten" zakzno.'; -$lang['error_calling_mass_delete'] = 'Chyba pi voln mass_delete.php. V POSTu chyb promnn mass_delete.'; -$lang['mass_delete_not_array'] = 'mass_delete v POSTu nen pole.'; -$lang['mass_delete_not_enabled'] = 'Hromad vmaz nen umonn. Mete ho povolit v souboru config.php.'; -$lang['mass_deleting'] = 'Hromadn vmaz'; -$lang['mass_delete_progress'] = 'Prbh odstraovn na serveru "%s"'; -$lang['malformed_mass_delete_array'] = 'Zdeformovan pole mass_delete.'; -$lang['no_entries_to_delete'] = 'Nevybrali jste dn objekty k odstrann.'; -$lang['deleting_dn'] = 'Odstrauji %s'; -$lang['total_entries_failed'] = '%s z %s objekt se nepodailo odstranit.'; -$lang['all_entries_successful'] = 'Vechny objekty byly spn odstranny.'; -$lang['confirm_mass_delete'] = 'Potvte hromadn vmaz v potu %s objekt na serveru %s'; -$lang['yes_delete'] = 'Ano, odstranit!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nelze pejmenovat objekt, kter m potomky. Toto se napklad vztahuje na vechny objekty, kter nejsou typu "list".'; -$lang['no_rdn_change'] = 'Nezmnili jste RDN'; -$lang['invalid_rdn'] = 'Neplatn hodnota RDN'; -$lang['could_not_rename'] = 'Objekt nelze pejmenovat'; - -?> diff --git a/lang/de.php b/lang/de.php deleted file mode 100644 index 474794e..0000000 --- a/lang/de.php +++ /dev/null @@ -1,567 +0,0 @@ - - * Uwe Ebel - * Modifikationen von Dieter Kluenter - * - * - * $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/de.php,v 1.25 2004/07/20 19:47:32 i18phpldapadmin Exp $ - * Update auf CVS-Version von en.php 1.79 - * Verwendete CVS-Version von en.php 1.65 - */ - -// Search form -$lang['simple_search_form_str'] = 'Einfache Suche';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Experten Suche';//'Advanced Search Form'; -$lang['server'] = 'Server';//'Server'; -$lang['search_for_entries_whose'] = 'Suche nach Eintrgen die';//'Search for entries whose'; -$lang['base_dn'] = 'Base DN';//'Base DN'; -$lang['search_scope'] = 'Suchbereich';//'Search Scope'; -//$lang['search_ filter'] = 'Suchfilter';//'Search Filter'; -$lang['show_attributes'] = 'Zeige Attribute';//'Show Attributtes'; -$lang['Search'] = 'Suchen';//'Search'; -$lang['equals'] = 'gleich';//'equals'; -//$lang['starts_with'] = 'beginnt mit';//'starts with'; -$lang['contains'] = 'enthlt';//'contains'; -//$lang['ends_with'] = 'endet mit';//'ends with'; -//$lang['sounds_like'] = 'hnlich wie';//'sounds like'; -$lang['predefined_search_str'] = 'oder ein von dieser Liste auswhlen';//'or select a predefined search'; -$lang['predefined_searches'] = 'Vordefinierte Suche';//'Predefined Searches'; -$lang['no_predefined_queries'] = 'Keine Abfragen sind in der config.php definiert';// 'No queries have been defined in config.php.'; -$lang['export_results'] = 'Ergebnisse exportieren';// 'export results'; -$lang['unrecoginzed_search_result_format'] = 'Das Suchergebnisformat ist nicht erkennbar: %s';//'Unrecognized search result format: %s'; -$lang['format'] = 'Format';// 'Format'; -$lang['list'] = 'Liste';// 'list'; -$lang['table'] = 'Tabelle';// 'table'; -$lang['bad_search_display'] = 'Die config.php gibt einen falsche Wert fr $default_search_display: %s vor. Bitte in der Konfiguration korrigieren.';//'Your config.php specifies an invalid value for $default_search_display: %s. Please fix it'; - - - -// Tree browser -$lang['request_new_feature'] = 'Anfragen von neuen Mglichkeiten';//'Request a new feature'; -//$lang['see_open_requests'] = 'Siehe offene Anfragen';//'see open requests'; -$lang['report_bug'] = 'Einen Fehler berichten';//'Report a bug'; -//$lang['see_open_bugs'] = 'Siehe offene Fehler';//'see open bugs'; -$lang['schema'] = 'Schema';//'schema'; -$lang['search'] = 'suche';//'search'; -$lang['refresh'] = 'aktualisieren';//'refresh'; -$lang['create'] = 'Erstellen';//'create'; -$lang['info'] = 'Info';//'info'; -$lang['import'] = 'Import';//'import'; -$lang['logout'] = 'abmelden';//'logout'; -$lang['create_new'] = 'Neuen Eintrag erzeugen';//'Create New'; -$lang['new'] = 'Neu';//'new'; -$lang['view_schema_for'] = 'Zeige Schema fr';//'View schema for'; -$lang['refresh_expanded_containers'] = 'Aktualisiere alle geffneten Container von';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Erzeuge einen neuen Eintrag auf';//'Create a new entry on'; -$lang['view_server_info'] = 'Zeige Server Informationen';//'View server-supplied information'; -$lang['import_from_ldif'] = 'Importiere Eintrge von einer LDIF-Datei';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Von diesem Server abmelden';//'Logout of this server'; -$lang['logged_in_as'] = 'Angemeldet als: ';//'Logged in as: '; -$lang['read_only'] = 'nur lesen';//'read only'; -$lang['read_only_tooltip'] = 'Diese Attribut wurde vom phpLDAPadmin-Adminstrator als nur lesend markiert.';//This attribute has been flagged as read only by the phpLDAPadmin administrator'; -$lang['could_not_determine_root'] = 'Konnte die Basis ihres LDAP Verzeichnises nicht ermitteln';//'Could not determin the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Es scheint das ihr LDAP Server nicht dazu konfiguriert wurde seine Basis bekanntzugeben';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Bitte in config.php angeben';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Neuen Eintrag erzeugen auf';//'Create a new entry in'; -$lang['login_link'] = 'Anmelden...';//'Login...'; -$lang['login'] = 'Anmelden';//'login'; - -// Entry display -$lang['delete_this_entry'] = 'Diesen Eintrag lschen';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Fr diese Entscheidung wird nochmals nachgefragt.';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'Diesen Eintrag kopieren';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Kopiere diese Object an eine anderen Ort: ein neuer DN oder einen anderen Server.';//'Copy this object to another location, a new DN, or another server'; -$lang['export'] = 'Exportieren';//'Export to LDIF'; -$lang['export_lcase'] = 'exportieren';//'export'; -$lang['export_tooltip'] = 'Speichere einen Abzug diese Objektes';//'Save an LDIF dump of this object'; -$lang['export_subtree_tooltip'] = 'Speicher eine Abzug ab diesem Objekt und alle seine Untereintrge';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree'] = 'Export Unterbaum nach LDIF';//'Export subtree to LDIF'; -//$lang['export_mac'] = 'Zeilenende fr Macintosh';//'Macintosh style line ends'; -//$lang['export_win'] = 'Zeilenende fr Windows';//'Windows style line ends'; -//$lang['export_unix'] = 'Zeilenende fr Unix';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'Erzeuge einen Untereintrag';//'Create a child entry'; -//$lang['add_a_jpeg_photo'] = 'Ein JPEG-Foto hinzufgen';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'Eintrag umbenennen';//'Rename Entry'; -$lang['rename'] = 'Umbenennen';//'Rename'; -$lang['add'] = 'Hinzufgen';//'Add'; -$lang['view'] = 'Ansehen';//'View'; -$lang['view_one_child'] = 'Zeige einen Untereintrag';//'View 1 child'; -$lang['view_children'] = 'Zeige %s Untereintrge';//'View %s children'; -$lang['add_new_attribute'] = 'Neues Attribut hinzufgen';//'Add New Attribute'; -// DELETED $lang['add_new_attribute_tooltip'] = 'Fge ein neues Attribut/Wert zu diesem Eintrag hinzu';// 'Add a new attribute/value to this entry'; -$lang['add_new_objectclass'] = 'Neue ObjectClass hinzufgen';//'Add new ObjectClass'; -//$lang['internal_attributes'] = 'Interne Attribute';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'Verdecke interne Attribute';//'Hide internal attributes'; -$lang['show_internal_attrs'] = 'Zeige interne Attribute';//'Show internal attributes'; -//$lang['internal_attrs_tooltip'] = 'Attribute werden automatisch vom System erzeugt.';//'Attributes set automatically by the system'; -//$lang['entry_attributes'] = 'Attribute des Eintrages';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'Klicken sie um die Schemadefinition fr den Attributtyp "%s" anzuzeigen.';//'Click to view the schema defintion for attribute type \'%s\''; -//$lang['click_to_display'] = 'Klicken zum Ansehen';//'click to display'; -//$lang['hidden'] = 'verdeckt';//'hidden'; -$lang['none'] = 'Keine';//'none'; -$lang['no_internal_attributes'] = 'Keine internen Attribute.';//'No internal attributes'; -$lang['no_attributes'] = 'Dieser Eintrag hat keine Attribute.';//'This entry has no attributes'; -$lang['save_changes'] = 'nderungen speichern';//'Save Changes'; -$lang['add_value'] = 'Wert hinzufgen';//'add value'; -$lang['add_value_tooltip'] = 'Fge einen weiteren Wert dem Attribut hinzu';//'Add an additional value to this attribute'; -$lang['refresh_entry'] = 'Auffrischen';// 'Refresh'; -$lang['refresh_this_entry'] = 'Aktualisiere den Entrag';//'Refresh this entry'; -$lang['delete_hint'] = 'Hinweis: Um ein Attribut zu lschen, leeren Sie den Inhalt des Wertes.';//'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tipp:Um das Schema fr ein Attribut anzusehen, gengt ein klick auf den Attributnamen';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Einige Attribute (%s) wurden verndert und sind hervorgehoben.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Ein Attribut (%s) wurde verndert und ist hervorgehoben.';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Zeige Eintrag im Nurlesemodus';//'Viewing entry in read-only mode.'; -//$lang['change_entry_rdn'] = 'ndere den RDN des Eintrages';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'Keine weiteren Attribute verfgbar fr diesen Eintrag';//'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'Keine weiteren Binren Attribute verfgbar fr diesen Eintrag.';//'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Binrwert';//'Binary value'; -$lang['add_new_binary_attr'] = 'Neuen Binrwert hinzufgen';//'Add New Binary Attribute'; -// DELETE $lang['add_new_binary_attr_tooltip'] = 'Fge einen neuen Binwert (Attribut/Wert) aus einer Datei hinzu.';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'Alias fr';//'Alias for'; -$lang['required_for'] = 'Notwendige Attribute fr die Objektklasse(n) %s';//'Required attribute for objectClass(es) %s'; -$lang['download_value'] = 'Wert herunterladen';//'download value'; -$lang['delete_attribute'] = 'Lsche Attribut';//'delete attribute'; -$lang['true'] = 'Wahr';//'true'; -$lang['false'] = 'Falsch';//'false'; -$lang['none_remove_value'] = 'nichts, entferne den Wert';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'Lsche das Attribut wirklich';//'Really delete attribute'; -$lang['add_new_value'] = 'Neuen Wert hinzufgen';//'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Die folgenden Objektklassen werden vom LDAP-Server untersttzt.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Die folgenden Attribute werden vom LDAP-Server untersttzt.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Die folgenden Suchregeln werden vom LDAP-Server untersttzt.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Die folgenden Syntaxe werden vom LDAP-Server untersttzt.';//'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']='Der Server untersttzt nicht vollstndig das LDAP-Protokoll.';//'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']='Die verwendete PHP-Version setzte keine korrekte LDAP-Abfrage ab.';//'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']='Oder phpLDAPadmin konnte nicht das Schema fr den Server abfragen.';//'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Gehe zur objectClass';//'Jump to an objectClass'; -$lang['view_schema_for_oclass'] = 'Zeige die Schemabeschreibung fr diese Objektklasse';//'View the schema description for this objectClass'; -$lang['jump_to_attr'] = 'Gehe zum Attribut';//'Jump to an attribute'; -$lang['jump_to_matching_rule'] = 'Gehe zur Treffer Regel'; // 'Jump to a matching rule'; - -$lang['schema_for_server'] = 'Schema fr Server';//'Schema for server'; -$lang['required_attrs'] = 'Notwendige Attribute';//'Required Attributes'; -$lang['required'] = 'notwendig';//'required'; -$lang['optional_attrs'] = 'Optionale Attribute';//'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Optinales Binrattribut';//'Optional Binary Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['aliases']='Pseudonym(e)';//'Aliases'; -$lang['desc'] = 'Beschreibung';//'Description'; -$lang['no_description']='Keine Beschreibung';//'no description'; -$lang['name'] = 'Name';//'Name'; -$lang['equality']='Gleichheit';// 'Equality'; -$lang['is_obsolete'] = 'Diese objectClass ist veraltet';//'This objectClass is obsolete'; -$lang['inherits'] = 'Abgeleitet von';//'Inherits'; -$lang['inherited_from']='abgeleitet von';//inherited from'; -$lang['parent_to'] = 'Knoten von';//'Parent to'; -$lang['jump_to_this_oclass'] = 'Gehe zur objectClass Definition';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Treffer-Regel OID';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax OID';//'Syntax OID'; -$lang['not_applicable'] = 'nicht anwendbar';//'not applicable'; -$lang['not_specified'] = 'nicht spezifiziert';//not specified'; -$lang['character']='Zeichen';//'character'; -$lang['characters']='Zeichen';//'characters'; -$lang['used_by_objectclasses']='Verwendet von den Objektklassen';//'Used by objectClasses'; -$lang['used_by_attributes']='Verwendet in den Attributen';//'Used by Attributes'; -$lang['oid']='OID'; // 'OID' -$lang['obsolete']='Veraltet';//'Obsolete'; -$lang['ordering']='Ordnung';//'Ordering'; -$lang['substring_rule']='Teilstring Regel';//'Substring Rule'; -$lang['single_valued']='Einzelner Wert';//'Single Valued'; -$lang['collective']='Sammlung';//'Collective'; -$lang['user_modification']='Benutzer nderung';//'User Modification'; -$lang['usage']='Verwendung';//'Usage'; -$lang['maximum_length']='Maximale Grsse';//'Maximum Length'; -$lang['attribute_types']='Attribut Typen';//'Attribute Types'; -$lang['attributes']='Attribut Typen';//'Attributes Types'; -$lang['syntaxes']='Syntaxe';//'Syntaxes'; -$lang['objectclasses']='Objekt Klassen';//'objectClasses'; -$lang['matchingrules']='Treffer Regeln';//'Matching Rules'; -$lang['could_not_retrieve_schema_from']='Das Schema konnte nicht abgefragt werden. Betrifft die Einstellung des Servers:';//'Could not retrieve schema from'; -$lang['type']='Typ';// 'Type'; -$lang['no_such_schema_item'] = 'Kein Schema Eintrag fr Element: %s';//'No such schema item: "%s"'; - - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Der Eintrag \'%s\' wurde erfolgreich gelscht.';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Ein DN muss angegeben werden.';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Konnte den Eintrag nicht lschen: %s';//'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Keinen solchen Eintrag: %s';//'No such entry: %s'; -$lang['delete_dn'] = 'Lschen von %s';//'Delete %s'; -//$lang['permanently_delete_children'] = 'Ebenso dauerhaftes Lschen aller Untereintrge?';//'Permanently delete all children also?'; -$lang['entry_is_root_sub_tree'] = 'Dies ist ein Root-Eintrag und beinhaltet einen Unterbaum mit %s Eintrgen.';//'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'Zeige Eintrge';//'view entries'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin kann diesen Eintrag und die %s Untereintrge rekursiv lschen. Unten ist eine Liste der Eintrge angegeben die von diesem Lschen betroffen wren. Sollen alle Eintrge gelscht werden?';//'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Hinweis: Dies ist sehr gefhrlich und erfolgt auf eines Risiko. Die Ausfhrung kann nicht rckgngig gemacht werden. Dies betrifft ebenso Aliase, Referenzen und andere Dinge die zu Problemen fhren knnen.';//'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Lschen aller "%s" Objekte';//'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'Rekursives Lschen in Arbeit';//'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Erfolgreiches Lschen des Eintrages "%s" und dessen Unterbaums.';// 'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'Fehler beim Lschen des Eintrages %s.';//'Failed to delete entry %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Das Attribut "%s" ist in der phpLDAPadmin Konfiguration als nur lesend deklariert.';//'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Kein Attributname angegeben.';//'No attribute name specified.'; -$lang['no_dn_specified'] = 'Kein DN angegeben.';//'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Der Wert des Attributes wurde leergelassen. Bitte zurck gehen und erneut versuchen.';//'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Fehler beim Hinzufgen des Attributes';//'Failed to add the attribute.'; -$lang['file_empty'] = 'Die ausgewhlte Datei ist entweder nicht vorhanden oder leer. Bitte zurckgehen und nochmals versuchen.';//'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Sicherheitsfehler: Die hochgeladene Datei kann bsartig sein.';//'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'Die PHP-Konfiguration (php.ini) gestattet es nicht Dateien hochzuladen. Bitte die php.ini hierzu berprfen.';//'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'Die hochgeladene Datei ist grer als die maximal erlaubte Datei aus der "php.ini". Bitte in der php.ini den Eintrag "upload_max_size" berprfen.';//'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'Die auswhlte Datei wurde nur unvollstndig hochgeladen.';//'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Maximal Dateigre ist: %s';//'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'nderung war erfolgreich!';//'Modification successful!'; -$lang['change_password_new_login'] = 'Da das Passwort gendert wurde mssen Sie sich erneut einloggen.'; //'Since you changed your password, you must now login again with your new password.'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'Neue bentigte Attribute';//'New Required Attributes'; -$lang['requires_to_add'] = 'Diese Aktion zwingt sie folgendes hinzuzufgen';//'This action requires you to add'; -$lang['new_attributes'] = 'neue Attribute';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Anleitung: Um diese objectClass hinzuzufgen mssen sie ';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'die von dieser objectClass bentigt werden. Sie knnen dies in diesem Formular machen.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'ObjectClass und Attribute hinzufgen';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Klicken um einen Eintrag (DN) grafisch auszuwhlen.';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Sie knnen keine Aktualisierungen durchfhren whrend der Server sich im \'nur lese\'-modus befindet';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Ungltige Server ID';//'Bad server id'; -$lang['not_enough_login_info'] = 'Nicht gengend Angaben zur Anmeldung am Server. Bitte berprfen sie ihre Konfiguration';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Konnte keine Verbindung zum LDAP Server herstellen.';//'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'Konnte keine Verbindung zum Server "%s" am Port "%s" erstellen.';//'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Kann keine \'ldap_mod_add\' Operationen durchfhren.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Ungltige Server ID:';//"Bad server_id: '; -$lang['success'] = 'Erfolgreich';//"Success'; -$lang['server_colon_pare'] = 'Server';//"Server: '; -$lang['look_in'] = 'Sehe nach in:';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Keine Server ID in der Anfrage angegeben';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Kein DN in der Anfrage angegeben';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Eine Ebene hher...';//"Back Up...'; -$lang['no_entries'] = 'Keine Eintrge';//"no entries'; -$lang['not_logged_in'] = 'Nicht eingeloggt';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'Konnten Basis-DN nicht ermitteln.';//"Could not determine base DN'; -$lang['reasons_for_error']='Dies kann mehrere Grnde haben. Die hufigsten sind:';//'This could happen for several reasons, the most probable of which are:'; -$lang['please_report_this_as_a_bug']='Bitte senden Sie dies als einen Fehlerbericht.';//'Please report this as a bug.'; -$lang['yes']='Ja';//'Yes' -$lang['no']='Nein';//'No' -$lang['go']='Weiter';//'go' -$lang['delete']='Lschen';//'Delete'; -$lang['back']='Zurck';//'Back'; -$lang['object']='Objekt';//'object'; -//$lang['objects']='Objekte';//'objects'; -$lang['delete_all']='Lsche alle';//'Delete all'; -$lang['url_bug_report']=''+$lang['url_bug_report'];//'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'Hinweis';//'hint'; -$lang['bug'] = 'Programmfehler';//'bug'; -$lang['warning'] = 'Warnung';//'warning'; -$lang['light'] = 'light'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Weiter';//'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Neu hinzufgen';//'Add new'; -$lang['value_to'] = 'Wert auf';//'value to'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Distinguished Name (eindeutiger Name)';// 'Distinguished Name'; -$lang['current_list_of'] = 'Aktuelle Liste von';//'Current list of'; -$lang['values_for_attribute'] = 'Werte des Attributes';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Info: Sie werden einen "inappropriate matching" Fehler erhalten, falls sie nicht'; //'Note: You will get an "inappropriate matching" error if you have not
    ' . - ' eine "EQUALITY" Regel fr dieses Attribut auf ihren LDAP Server eingerichtet haben.';//'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Geben sie den Wert ein den sie hinzufgen mchten:';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Info: Sie werden gegebenenfalles gezwungen sein neue Attribute hinzuzufgen.';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'Syntax';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'Sie knnen keine Aktualisierungen durchfhren whrend der Server sich im \'nur lese\'-modus befindet';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Sie haben kein Ziel DN angegeben';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'Der Zieleintrag (%s) existiert bereits.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'Der Zielcontainer (%s) existiert nicht.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'Ursprung DN und Ziel DN sind identisch';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'Kopieren';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekursives Kopieren im Gange';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Erzeuge Speicherauszug des zu kopierenden Verzeichnisses';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieren erfolgreich! Wollen sie den';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'neuen Eintrag ansehen';//"view the new entry'; -$lang['copy_failed'] = 'Kopieren des DN fehlgeschlagen: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Warnung: Template Datei nicht gefunden';//'Warning: missing template file, '; -$lang['using_default'] = 'Standardeinstellung verwenden';//'Using default.'; -$lang['template'] = 'Vorlage';//'Template'; -$lang['must_choose_template'] = 'Eine Vorlage muss ausgewhlt sein';//'You must choose a template'; -$lang['invalid_template'] = 'Die Vorlage "%s" ist ungltig';// '%s is an invalid template'; -$lang['using_template'] = 'Verwende Vorlage';//'using template'; -$lang['go_to_dn'] = 'Gehe zu %s';//'Go to %s'; -$lang['structural_object_class_cannot_remove'] = 'Dies ist eine strukturelle Objektklasse und kann nicht entfernt werden.';//'This is a stuctural ObjectClass and cannot be removed.'; -$lang['structural'] = 'Strukturell';//'stuctural'; - - - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiere';//"Copy '; -$lang['copyf_to_new_object'] = 'in ein neues Objekt';//"to a new object'; -$lang['copyf_dest_dn'] = 'Ziel DN';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'Der komplette DN des Eintrages der beim Kopieren erzeugt wird.';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Zielserver';//"Destination Server'; -$lang['copyf_note'] = 'Info: Kopieren zwischen unterschiedlichen Servern funktioniert nur wenn keine Unvereinbarkeiten im Schema auftreten';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Rekursiv kopiert auch alle Unterobjekte';//"Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Rekursives kopieren';//'Recursive copy'; -$lang['filter'] = 'Filter';//'Filter'; -$lang['filter_tooltip'] = 'Bei der Ausfrung des rekursiven Kopierens werden nur die Eintrge verwendet, die mit dem Filter bereinstimmen';// 'When performing a recursive copy, only copy those entries which match this filter'; - - -//create.php -$lang['create_required_attribute'] = 'Fehler, sie haben einen Wert fr ein bentigtes Attribut frei gelassen.';//"Error, you left the value blank for required attribute '; -$lang['redirecting'] = 'Weiterleitung';//"Redirecting'; moved from create_redirection -> redirection -$lang['here'] = 'hier';//"here'; renamed vom create_here -> here -$lang['create_could_not_add'] = 'Konnte das Objekt dem LDAP-Server nicht hinzufgen.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Erzeuge einen neuen Eintag';//"Create Object'; -$lang['createf_choose_temp'] = 'Vorlage whlen';//"Choose a template'; -$lang['createf_select_temp'] = 'Whlen sie eine Vorlage fr das Objekt';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'Weiter';//"Proceed >>'; -$lang['rdn_field_blank'] = 'Das RDN Feld wurde leer gelassen.';//'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'Der angegenben Eintrag (%s) ist nicht vorhanden. Bitte erneut versuchen.';// 'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Es wurde kein ObjectClasses fr diesen Eintrag ausgewhlt. Bitte zurckgehen und korrigieren';//'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Hinweis: Es muss mindestens ein Strukturelle ObjectClass ausgewhlt sein.';//'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Auf dem Server';//"On server'; -$lang['ctemplate_no_template'] = 'Keine Vorlage angegeben in den POST Variabeln';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Ihre Konfiguration spezifiziert fr diese Vorlage die Routine';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = '. Diese Routine existiert nicht im \'templates/creation\' Verzeichnis';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; -$lang['create_step1'] = 'Schritt 1 von 2: Name und Objektklasse(n)';//'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Schritt 2 von 2: Bestimmen der Attribute und Werte';//'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Relativer Distingushed Name';//'Relative Distinguished Name'; -$lang['rdn'] = 'RDN';//'RDN'; -$lang['rdn_example'] = '(Beispiel: cn=MeineNeuePerson)';//'(example: cn=MyNewPerson)'; -$lang['container'] = 'Behlter';//'Container'; - - -// search.php -$lang['you_have_not_logged_into_server'] = 'Sie haben sich am ausgewhlten Server nicht angemeldet. Sie knnen keine Suche durchfhren.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klicken sie hier um zur Anmeldeseite zu gelangen';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Unbekannte Option';// 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Falls eigene Auswahlkriterien hinzugefgt werden sollen, muss \'search.php\' editiert werden';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Gefundene Eintrge: ';//'Entries found: '; -$lang['filter_performed'] = 'Angewanter Filter: ';//'Filter performed: '; -$lang['search_duration'] = 'Suche durch phpLDAPadmin ausgefhrt in';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'Sekunden';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Bereich der durchsucht wird.';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (Suchbasis und alle Unterverzeichnisebenen)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (Suchbasis und eine Unterverzeichnisebene)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (Nur Suchbasis)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP Suchfilter. Bsp.: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Suchfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'Kommaseparierte Liste der anzuzeigenden Attribute.';//'A list of attributes to display in the results (comma-separated)'; - -// search_form_simple.php -$lang['starts with'] = 'beginnt mit';//'starts with'; -$lang['ends with'] = 'endet auf';//'ends with'; -$lang['sounds like'] = 'klingt wie';//'sounds like'; - - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Konnte keine LDAP Informationen vom Server empfangen';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Serverinformationen fr: ';//'Server info for: '; -$lang['server_reports_following'] = 'Der Server meldete die folgenden Informationen ber sich';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Der Server hat keine Informationen gemeldet';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'Das "update_array" wird falsch dargestellt. Dies knnte ein phpLDAPadmin Fehler sein. Bitte Berichten sie uns davon.';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Konnte die \'ldap_modify\' Operation nicht ausfhren.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Wollen sie diese nderungen bernehmen?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Attribute';//'Attribute'; -$lang['old_value'] = 'Alter Wert';//'Old Value'; -$lang['new_value'] = 'Neuer Wert';//'New Value'; -$lang['attr_deleted'] = '[Wert gelscht]';//'[attribute deleted]'; -$lang['commit'] = 'Anwenden';//'Commit'; -$lang['cancel'] = 'Abbruch';//'Cancel'; -$lang['you_made_no_changes'] = 'Sie haben keine nderungen vorgenommen.';//'You made no changes'; -$lang['go_back'] = 'Zurck';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Benutzen sie das Menu auf der linken Seite zur Navigation.';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Vorspann';//'Credits'; -$lang['changelog'] = 'nderungsdatei';//'ChangeLog'; -//$lang['documentation'] = 'Dokumentation';// 'Documentation'; -$lang['donate'] = 'Spende';//'Donate'; - -$lang['purge_cache'] = 'Cache bereinigen';//'Purge caches'; -$lang['no_cache_to_purge'] = 'Kein Cache zu bereinigen';//'No cache to purge.'; -$lang['done_purging_caches'] = 'Es wurden %s Bytes aus dem Cache bereinigt.';//'Purged %s bytes of cache.'; - - - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Unsicherer Dateiname:';//'Unsafe file name: '; -$lang['no_such_file'] = 'Keine Datei unter diesem Namen';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = '"auto_uid_numbers" wurde in der Konfiguration (%s) aktiviert, aber der Mechanismus (auto_uid_number_mechanism) nicht. Bitte diese Problem korrigieren.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Der Mechanismus "auto_uid_number_mechanism" ist als "uidpool" fr den Server (%s) festgelegt, jedoch wurde nicht der "auto_uid_number_uid_pool_dn" festgelegt. Bitte korrigieren und dann weiter verfahren.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; - -$lang['uidpool_not_exist'] = 'Es scheint so, dass der "uidPool" - der in der Konfiguration festgelegt ist - nicht vorhanden ist.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; - -$lang['specified_uidpool'] = 'Der "auto_uid_number_mechanism" wurde auf "search" in der Konfiguration des Servers (%s) festgelegt, aber es wurde der Wert f "auto_uid_number_search_base" nicht gesetzt. Bitte korrigieren und dann weiter verfahren.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['bad_auto_uid_search_base'] = 'Die phpLDAPadmin Konfiguration fr den Server "%s" gibt eine ungltige Suchbasis fr "auto_uid_search_base" an.';//'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_credential'] = 'Konnte nicht mit "%s" verbinden';// 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['auto_uid_invalid_value'] = 'Es wurde ein ungltiger Wert fr "auto_uid_number_mechanism" (%s) festgelegt. Gltig sind nur die Werte "uidpool" und "search". Bitte den Fehler korrigieren. ';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Fehler: Ein Fehler ist in der Konfiguration (config.php) aufgetreten. Die einzigen beiden erlaubten Werte im Konfigurationsteil "auth_type" zu einem LDAP-Server ist "config" oder "form". Eingetragen ist aber "%s", was nicht erlaubt ist.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['unique_attrs_invalid_credential'] = 'Es konnten nicht an "%s" mit dem Berechtigungsnachweis von "unique_attrs" verbunden werden. Bitte die Konfigurationdatei (config.php) berprfen.';//'Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file.'; -$lang['unique_attr_failed'] = 'Der Versuch von "%s" (%s) an "%s%" ist nicht erlaubt. Das Attibut/Wert gehrt zu einem anderen Eintrag. Vielleicht mchten Sie nach dem Wert suchen?';// ERROR DONT'T USE HTML!!! //'Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'; - - -$lang['php_install_not_supports_tls'] = 'Die verwendete PHP-Version untersttzt kein TLS (verschlsselte Verbindung).';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'TLS konnte nicht gestartet werden. Bitte die LDAP-Server-Konfiguration berprfen.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Konnte keine Anonymous Anmeldung zum Server herstellen.';//'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'Konnte keine Verbindung zum LDAP-Server herstellen';//'Could not bind to the LDAP server.'; -//$lang['anon_required_for_login_attr'] = 'Bei der Verwendung des Anmeldeprozedur "login_attr" muss der Server Anonymous Anmelden zulassen.';//'When using the login_attr feature, the LDAP server must support anonymous binds.'; -$lang['anonymous_bind'] = 'Anonymous anmelden';//'Anonymous Bind'; -//$lang['auth_type_not_valid'] = 'Die Konfigurationsdatei enthlt einen Fehler. Der Eintrag fr \'auth_type\' mit \'%s\' ist nicht gltig';// 'You have an error in your config file. auth_type of %s is not valid.'; -$lang['bad_user_name_or_password'] = 'Falscher Benutzername oder Passwort. Bitte erneut versuchen.';//'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Automatische Umleitung. Falls dies nicht automatisch erfolgt dann hier klicken.';//'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'Erfolgreich am Server %s angemeldet';//'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Konnte kein \'Cookie\' setzten.';//'Could not set cookie.'; -$lang['ldap_said'] = 'LDAP meldet: %s';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Fehler';//"Error'; -$lang['fbrowse'] = 'berfliegen';//"browse'; -$lang['delete_photo'] = 'Lsche Foto';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Die verwendete PHP-Version untersttzt keine Blowfish Verschlsselung.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Die eingesetzte PHP-Version untersttzt keine MD5-Verschlsselung.';//'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Die verwendete PHP-Version untersttzt nicht die Funktion mhash(), daher kann kein SHA Hash verwendet werden.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Die Bilddatei enthlt Fehler';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Fehlernummer: %s (%s)';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Beschreibung: %s';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Fehlernummer: %s';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Beschreibung: (keine Beschreibung verfgbar)';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Ist das ein phpLDAPadmin Fehler? Wenn dies so ist, dann bitte darber berichten';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Unbekannte Fehlernummer:';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '

    Ein nicht fataler Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = '
    Gratulation, einen Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    ';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importiere LDIF Datei';//'Import LDIF File'; -$lang['select_ldif_file'] = 'LDIF Datei auswhlen';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Ausfhren';//'Proceed >>'; -$lang['dont_stop_on_errors'] = 'Bei einem Fehler nicht unterbrechen sondern weitermachen.';//'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Hinzufgen...';//'Adding...'; -$lang['delete_action'] = 'Entfernen...';//'Deleting...'; -$lang['rename_action'] = 'Umbenennen...';//'Renaming...'; -$lang['modify_action'] = 'Abndern...';//'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Keine Version gefunden. Gehe von der Version 1 aus.';//'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Eine gltige DN Zeile wird bentigt.';//'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Hochgeladene Datei fehlt.';//'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Kein LDIF-Datei angegeben. Bitte erneut versuchen.';//'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Die hochgeladene LDIF-Datei ist leer.';// 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'leer';//'empty'; -$lang['file'] = 'Datei';//'File'; -$lang['number_bytes'] = '%s Bytes';//'%s bytes'; - -$lang['failed'] = 'fehlgeschlagen';//'failed'; -$lang['ldif_parse_error'] = 'LDIF Pars Fehler';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Konnte das Objekt nicht hinzufgen:';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Konnte das Objekt nicht umbenennen:';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Konnte das Objekt nicht entfernen:';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Konnte das Objekt nicht abndern:';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Anzahl Zeilen:';//'Line Number:'; -$lang['ldif_line'] = 'Zeile:';//'Line:'; - -//delete_form -$lang['sure_permanent_delete_object']='Sind Sie sicher das Sie dauerhaft den Eintrag lschen wollen?';//'Are you sure you want to permanently delete this object?'; -$lang['permanently_delete_children']='Lsche alles und auch die Untereintrge?';//'Permanently delete all children also?'; -//$lang['info_delete_recursive_1']='Dieser Objekt-Eintrag hat weitere Untereintrge';//'This object is the root of a sub-tree containing objects.'; -//$lang['info_delete_recursive_2']='phpLDAPadmin kann rekursiv diesen Objekt-Eintrag mit all seinen Untereintrgen lschen.';//'phpLDAPadmin can recursively delete this object and all of its children.'; -//$lang['info_delete_recursive_3']='Unten ist eine Liste mit allen Eintrgen (DN) aufgefhrt die gelscht werden. Soll dies wirklich durchgefhrt werden?';//'See below for a list of DNs that this will delete. Do you want to do this?'; -//$lang['note_delete_noundo']='Hinweis: Dies ist sehr gefhrlich. Die Aktion kann nicht rckgngig gemacht werden. Synomyme (alias) und hnliche Eintrge knnen zu Problemen fhren.'; // 'Note: This is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases and other such things that may cause problems.'; -//$lang['list_of_dn_delete']='Liste aller DN(s) die mit dieser Aktion mitgelscht werden.';//'A list of all the DN(s) that this action will delete:'; -//$lang['cannot_delete_base_dn']='Der Basis DN kann nicht gelscht werden';//'You cannot delete the base DN entry of the LDAP server.'; - -$lang['list_of_entries_to_be_deleted'] = 'List der Eintrge die gelscht werden:';//'List of entries to be deleted:'; -$lang['dn'] = 'DN'; //'DN'; - -// Exports -$lang['export_format'] = 'Export Format';// 'Export format'; -$lang['line_ends'] = 'Zeilenende'; //'Line ends'; -$lang['must_choose_export_format'] = 'Bitte ein Exportformat auswhlen';//'You must choose an export format.'; -$lang['invalid_export_format'] = 'Unglltiges Export-Format';//'Invalid export format'; -$lang['no_exporter_found'] = 'Keinen gltigen Exporter gefunden.';//'No available exporter found.'; -$lang['error_performing_search'] = 'Ein Fehler trat whrend des Suchvorgangs auf';//'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Zeige die Ergebnisse von %s bis %s.';//'Showing results %s through %s.'; -$lang['searching'] = 'Suche...';//'Searching...'; -$lang['size_limit_exceeded'] = 'Hinweis, das Limit der Suchtreffer wurde berschritten.';//'Notice, search size limit exceeded.'; -$lang['entry'] = 'Eintrag';//'Entry'; -$lang['ldif_export_for_dn'] = 'LDIF Export von: %s'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Erstellt von phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) am %s';//'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Anzahl der Eintraege';//'Total Entries'; -$lang['dsml_export_for_dn'] = 'DSLM Export von:';//'DSLM Export for: %s'; -$lang['include_system_attrs'] = 'Einbinden von System-Attributen';//'Include system attributes'; - - -// logins -$lang['could_not_find_user'] = 'Konnte den Benutzer %s nicht finden.';//'Could not find a user "%s"'; -$lang['password_blank'] = 'Das Passwort wurde leer gelassen';//'You left the password blank.'; -$lang['login_cancelled'] = 'Anmeldung abgebrochen';//'Login cancelled.'; -$lang['no_one_logged_in'] = 'Niemand ist an diesem Server angemeldet';//'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Konnte nicht abgemeldet werden';//'Could not logout.'; -//$lang['browser_close_for_http_auth_type'] = 'You must close your browser to logout whie in \'http\' authentication mode'; -$lang['unknown_auth_type'] = 'Unbekannter Authentifizierungsart: %s';//'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Erfolgreich vom Server %s abgemeldet.';//'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Authentifizierung mit Server %s';//'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Achtung: Diese Webverbindung ist unverschlsselt.';//'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Es wird keine verschlsselte Verbindung (\'https\') verwendet. Der Webbrowser bermittelt die Anmeldeinformationen im Klartext.';// 'You are not use \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Anmelde DN';//'Login DN'; -$lang['user_name'] = 'Benutzername';//'User name'; -$lang['password'] = 'Passwort';//'Password'; -$lang['authenticate'] = 'Authentifizierung';//'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Eintrge auswhlen';//'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'phpLDAPadmin muss konfiguriert werden. Bitte die Datei "config.php" erstellen. Ein Beispiel einer "config.php" liegt als Datei "config.php.example" bei.';// ';//'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Lschen ist im Nur-Lese-Modus nicht erlaubt.';//'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Fehler im Aufruf von "mass_delete.php". "mass_delete" ist in den POST-Variablen nicht vorhanden.';//'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['search_attrs_wrong_count'] = 'Die config.php beinhaltet einen fehlerhaften Eintrag. Die anzahl der Attribute in $search_attributes und $search_attributes_diplay ist unterschiedlich';//'Your config.php has an error. The number of attributes in $search_attributes and $search_attributes_display is different'; -$lang['mass_delete_not_array'] = 'Die POST-Variable "mass_delete" ist kein Array.';//'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = '"Viel-Lschen" ist nicht aktiviert. Bitte in der der "config.php" aktivieren vor dem Weitermachen.';//'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Viel-Lschen';//'Mass Deleting'; -$lang['mass_delete_progress'] = 'Lschprozess auf Server "%s"';//'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Das Array "mass_delete" ist falsch dargestellt.';//'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Es wurde kein zu lschender Eintrag ausgewhlt.';//'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Lsche "%s"';//'Deleting %s'; -$lang['total_entries_failed'] = '%s von %s Eintrgen konnten nicht gelscht werden.';//'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Alle Eintrge wurden erfolgreich gelscht.';//'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Bitte das Lschen von %s Eintrgen auf dem Server %s besttigen';//'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Ja, Lschen!';//'Yes, delete!'; - - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Das Umbenennen von einem Eintrag mit Untereintrgen ist nicht Mglich. Es ist nur auf den Untersten Eintrgen gestattet.';// 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Der RDN wurde nicht verndert';//'You did not change the RDN'; -$lang['invalid_rdn'] = 'Ungltiger RDN Wert';//'Invalid RDN value'; -$lang['could_not_rename'] = 'Der Eintrag konnte nicht umbenannt werden';//'Could not rename the entry'; - - -?> diff --git a/lang/en.php b/lang/en.php deleted file mode 100644 index d1a95e1..0000000 --- a/lang/en.php +++ /dev/null @@ -1,697 +0,0 @@ -bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE.'; -$lang['server_info_for'] = 'Server info for: '; -$lang['server_reports_following'] = 'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Do you want to make these changes?'; -$lang['attribute'] = 'Attribute'; -$lang['old_value'] = 'Old Value'; -$lang['new_value'] = 'New Value'; -$lang['attr_deleted'] = '[attribute deleted]'; -$lang['commit'] = 'Commit'; -$lang['cancel'] = 'Cancel'; -$lang['you_made_no_changes'] = 'You made no changes'; -$lang['go_back'] = 'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Use the menu to the left to navigate'; -$lang['credits'] = 'Credits'; -$lang['changelog'] = 'ChangeLog'; -$lang['documentation'] = 'Documentation'; -$lang['donate'] = 'Donate'; -$lang['pla_logo'] = 'phpLDAPadmin logo'; - -// Donate.php -$lang['donation_instructions'] = 'To donate funds to the phpLDAPadmin project, use one of the PayPal buttons below.'; -$lang['donate_amount'] = 'Donate %s'; - -$lang['purge_cache'] = 'Purge caches'; -$lang['no_cache_to_purge'] = 'No cache to purge.'; -$lang['done_purging_caches'] = 'Purged %s bytes of cache.'; -$lang['purge_cache_tooltip'] = 'Purge all cached data in phpLDAPadmin, including server schemas.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Unsafe file name: '; -$lang['no_such_file'] = 'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'You have enabled auto_uid_numbers for %s in your configuration, - but you have not specified the auto_uid_number_mechanism. Please correct - this problem.'; -$lang['uidpool_not_set'] = 'You specified the "auto_uid_number_mechanism" as "uidpool" - in your configuration for server %s, but you did not specify the - audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s") - does not exist.'; -$lang['specified_uidpool'] = 'You specified the "auto_uid_number_mechanism" as "search" in your - configuration for server %s, but you did not specify the - "auto_uid_number_search_base". Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'You specified an invalid value for auto_uid_number_mechanism ("%s") - in your configration. Only "uidpool" and "search" are valid. - Please correct this problem.'; -$lang['error_auth_type_config'] = 'Error: You have an error in your config file. The only three allowed values - for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', - which is not allowed. '; -$lang['unique_attrs_invalid_credential'] = 'Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file.'; -$lang['unique_attr_failed'] = 'Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'; -$lang['php_install_not_supports_tls'] = 'Your PHP install does not support TLS.'; -$lang['could_not_start_tls'] = 'Could not start TLS. Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Bad username or password. Please try again.'; -$lang['successfully_logged_in_to_server'] = 'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Could not set cookie.'; -$lang['ldap_said'] = 'LDAP said: %s'; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'browse'; -$lang['delete_photo'] = 'Delete Photo'; -$lang['install_not_support_ext_des'] = 'Your system crypt library does not support extended DES encryption.'; -$lang['install_not_support_blowfish'] = 'Your system crypt library does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Your system crypt library does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Error number: %s (%s)'; -$lang['ferror_discription'] = 'Description: %s

    '; -$lang['ferror_number_short'] = 'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '

    - - - -
    - You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'Congratulations! You found a bug in phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Import LDIF File'; -$lang['select_ldif_file'] = 'Select an LDIF file:'; -$lang['dont_stop_on_errors'] = 'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Adding...'; -$lang['delete_action'] = 'Deleting...'; -$lang['rename_action'] = 'Renaming...'; -$lang['modify_action'] = 'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Missing uploaded file.'; -$lang['no_ldif_file_specified'] = 'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'empty'; -$lang['file'] = 'File'; -$lang['number_bytes'] = '%s bytes'; -$lang['php_upload'] = 'Your PHP.INI does not have file_uploads = ON. Please enable file uploads in PHP.'; - -$lang['failed'] = 'Failed'; -$lang['ldif_parse_error'] = 'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Could not modify object:'; -$lang['ldif_line_number'] = 'Line Number:'; -$lang['ldif_line'] = 'Line:'; - -// Exports -$lang['export_format'] = 'Export format'; -$lang['line_ends'] = 'Line ends'; -$lang['must_choose_export_format'] = 'You must choose an export format.'; -$lang['invalid_export_format'] = 'Invalid export format'; -$lang['no_exporter_found'] = 'No available exporter found.'; -$lang['error_performing_search'] = 'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Showing results %s through %s.'; -$lang['searching'] = 'Searching...'; -$lang['size_limit_exceeded'] = 'Notice, search size limit exceeded.'; -$lang['entry'] = 'Entry'; -$lang['ldif_export_for_dn'] = 'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s'; -$lang['total_entries'] = 'Total Entries'; -$lang['dsml_export_for_dn'] = 'DSLM Export for: %s'; -$lang['include_system_attrs'] = 'Include system attributes'; -$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)'; - -// logins -$lang['password_blank'] = 'You left the password blank.'; -$lang['no_one_logged_in'] = 'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Could not logout.'; -$lang['unknown_auth_type'] = 'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'You are not using \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'User name'; -$lang['password'] = 'Password'; -$lang['authenticate'] = 'Authenticate'; -$lang['login_not_allowed'] = 'Sorry, you are not allowed to use phpLDAPadmin with this LDAP server.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Mass Deleting'; -$lang['mass_delete_progress'] = 'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Deleting %s'; -$lang['total_entries_failed'] = '%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Yes, delete!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'You did not change the RDN'; -$lang['invalid_rdn'] = 'Invalid RDN value'; -$lang['could_not_rename'] = 'Could not rename the entry'; - -// Password checker -$lang['passwords_match'] = 'Passwords match!'; -$lang['passwords_do_not_match'] = 'Passwords do not match!'; -$lang['password_checker_tool'] = 'Password Checker Tool'; -$lang['to'] = 'To'; - -// Templates -$lang['using'] = 'Using the'; -$lang['switch_to'] = 'You may switch to the '; -$lang['default_template'] = 'default template'; - -// template_config -$lang['user_account'] = 'User Account (posixAccount)'; -$lang['address_book_inet'] = 'Address Book Entry (inetOrgPerson)'; -$lang['address_book_moz'] = 'Address Book Entry (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Kolab User Entry'; -$lang['organizational_unit'] = 'Organisational Unit'; -$lang['new_organizational_unit'] = 'New Organisational Unit'; -$lang['organizational_role'] = 'Organisational Role'; -$lang['posix_group'] = 'Posix Group'; -$lang['samba_machine'] = 'Samba NT Machine'; -$lang['samba3_machine'] = 'Samba 3 NT Machine'; -$lang['samba_user'] = 'Samba User'; -$lang['samba3_user'] = 'Samba 3 User'; -$lang['samba3_group'] = 'Samba 3 Group Mapping'; -$lang['dns_entry'] = 'DNS Entry'; -$lang['simple_sec_object'] = 'Simple Security Object'; -$lang['courier_mail_account'] = 'Courier Mail Account'; -$lang['courier_mail_alias'] = 'Courier Mail Alias'; -$lang['ldap_alias'] = 'LDAP Alias'; -$lang['sendmail_cluster'] = 'Sendmail Cluster'; -$lang['sendmail_domain'] = 'Sendmail Domain'; -$lang['sendmail_alias'] = 'Sendmail Alias'; -$lang['sendmail_virt_dom'] = 'Sendmail Virtual Domain'; -$lang['sendmail_virt_users'] = 'Sendmail Virtual Users'; -$lang['sendmail_relays'] = 'Sendmail Relays'; -$lang['custom'] = 'Custom'; -$lang['samba_domain_name'] = 'My Samba domain Name'; -$lang['administrators'] = 'Administrators'; -$lang['users'] = 'Users'; -$lang['guests'] = 'Guests'; -$lang['power_users'] = 'Power Users'; -$lang['account_ops'] = 'Account Operators'; -$lang['server_ops'] = 'Server Operators'; -$lang['print_ops'] = 'Print Operators'; -$lang['backup_ops'] = 'Backup Operators'; -$lang['replicator'] = 'Replicator'; -$lang['unable_smb_passwords'] = ' Unable to create the Samba passwords. Please, check the configuration in template_config.php'; -$lang['err_smb_conf'] = 'Error: You have an error in your samba confguration.'; -$lang['err_smb_no_name_sid'] = 'Error: A name and a sid for your samba domain need to be provided.'; -$lang['err_smb_no_name'] = 'Error: No name provided for samba domain.'; -$lang['err_smb_no_sid'] = 'Error: No sid provided for samba domain.'; - -// Samba Account Template -$lang['samba_account'] = 'Samba Account'; -$lang['samba_account_lcase'] = 'samba account'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'New User Account'; -$lang['t_hint_customize'] = 'Hint: To customize this template, edit the file templates/creation/new_user_template.php'; -$lang['t_name'] = 'Name'; -$lang['t_first_name'] = 'First name'; -$lang['t_last_name'] = 'Last name'; -$lang['t_first'] = 'first'; -$lang['t_last'] = 'last'; -$lang['t_state'] = 'State'; -$lang['t_common_name'] = 'Common name'; -$lang['t_user_name'] = 'User Name'; -$lang['t_password'] = 'Password'; -$lang['t_encryption'] = 'Encryption'; -$lang['t_login_shell'] = 'Login Shell'; -$lang['t_home_dir'] = 'Home Directory'; -$lang['t_uid_number'] = 'UID Number'; -$lang['t_auto_det'] = '(automatically determined)'; -$lang['t_group'] = 'Group'; -$lang['t_gid_number'] = 'GID Number'; -$lang['t_uid'] = 'User ID'; -$lang['t_err_passwords'] = 'Your passwords don\'t match. Please go back and try again.'; -$lang['t_err_field_blank'] = 'You cannot leave the %s blank. Please go back and try again.'; -$lang['t_err_field_num'] = 'You can only enter numeric values for the %s field. Please go back and try again.'; -$lang['t_err_bad_container'] = 'The container you specified (%s) does not exist. Please go back and try again.'; -$lang['t_confirm_account_creation'] = 'Confirm account creation'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'Create Account'; -$lang['t_verify'] = 'Verify'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'New Posix Group'; - -// New Address Template -$lang['t_new_address'] = 'New Address Book Entry'; -$lang['t_organization'] = 'Organisation'; -$lang['t_address'] = 'Address'; -$lang['t_city'] = 'City'; -$lang['t_postal_code'] = 'Postal code'; -$lang['t_street'] = 'Street'; -$lang['t_work_phone'] = 'Work phone'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Mobile'; -$lang['t_email'] = 'Email'; -$lang['t_container'] = 'Container'; -$lang['t_err_cn_blank'] = 'You cannot leave the Common Name blank. Please go back and try again.'; -$lang['t_confim_creation'] = 'Confirm entry creation:'; -$lang['t_create_address'] = 'Create Address'; - -// default template -$lang['t_check_pass'] = 'Check password...'; -$lang['t_auto_submit'] = '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = 'Compare'; -$lang['comparing'] = 'Comparing the following DNs'; -$lang['compare_dn'] = 'Compare another DN with'; -$lang['with'] = 'with '; -$lang['compf_source_dn'] = 'Source DN'; -$lang['compf_dn_tooltip'] = 'Compare this DN with another'; -$lang['switch_entry'] = 'Switch Entry'; -$lang['no_value'] = 'No Value'; -$lang['compare_with'] = 'Compare with another entry'; -$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.'; - -// Time out page -$lang['session_timed_out_1'] = 'Your Session timed out after'; -$lang['session_timed_out_2'] = 'min. of inactivity. You have been automatically logged out.'; -$lang['log_back_in'] = 'To log back in please click on the following link:'; -$lang['session_timed_out_tree'] = '(Session timed out. Automatically logged out.)'; -$lang['timeout_at'] = 'Inactivity will log you off at %s'; - -$lang['template_mustattr'] = 'Attribute [%s] is a MUST attribute, so it cannot be disabled.'; -$lang['template_nextpage'] = 'We are missing a page for [%s] attributes.'; -?> diff --git a/lang/es.php b/lang/es.php deleted file mode 100644 index a6f9b49..0000000 --- a/lang/es.php +++ /dev/null @@ -1,655 +0,0 @@ - - */ - -// Search form -$lang['simple_search_form_str'] = 'Formulario de bsqueda sencilla'; -$lang['advanced_search_form_str'] = 'Formulario de bsqueda avanzada'; -$lang['server'] = 'Servidor'; -$lang['search_for_entries_whose'] = 'Buscar objetos que'; -$lang['base_dn'] = 'DN base'; -$lang['search_scope'] = 'mbito de bsqueda'; -$lang['show_attributes'] = 'Mostrar atributos'; -$lang['attributes'] = 'Atributos'; -$lang['Search'] = 'Buscar'; -$lang['predefined_search_str'] = 'Seleccionar una bsqueda predefinida'; -$lang['predefined_searches'] = 'Bsquedas predefinidas'; -$lang['no_predefined_queries'] = 'No hay ninguna bsqueda predefinida en config.php.'; -$lang['export_results'] = 'exportar resultados'; -$lang['unrecoginzed_search_result_format'] = 'Formato de resultado de bsqueda no reconocido: %s'; -$lang['format'] = 'Formato'; -$lang['list'] = 'lista'; -$lang['table'] = 'tabla'; -$lang['bad_search_display'] = 'Su config.php especifica un valor no vlido para $default_search_display: %s. Por favor, arrglelo'; -$lang['page_n'] = 'Pgina %d'; -$lang['no_results'] = 'La bsqueda no ha encontrado resultados.'; - -// Tree browser -$lang['request_new_feature'] = 'Solicitar una nueva funcionalidad'; -$lang['report_bug'] = 'Informar de un error'; -$lang['schema'] = 'esquema'; -$lang['search'] = 'buscar'; -$lang['create'] = 'crear'; -$lang['info'] = 'info'; -$lang['import'] = 'importar'; -$lang['refresh'] = 'refrescar'; -$lang['logout'] = 'salir'; -$lang['create_new'] = 'Crear nuevo objeto'; -$lang['view_schema_for'] = 'Ver el esquema del'; -$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos del'; -$lang['create_new_entry_on'] = 'Crear un nuevo objeto en el'; -$lang['new'] = 'nuevo'; -$lang['view_server_info'] = 'Ver la informacin enviada por el servidor'; -$lang['import_from_ldif'] = 'Importar desde un fichero LDIF'; -$lang['logout_of_this_server'] = 'Desconectar del servidor'; -$lang['logged_in_as'] = 'Conectado como: '; -$lang['this_base_dn_is_not_valid'] = 'Esta DN base no es vlida.'; -$lang['this_base_dn_does_not_exist'] = 'Este objeto no existe.'; -$lang['read_only'] = 'slo lectura'; -$lang['read_only_tooltip'] = 'Este atributo ha sido marcado como de slo lectura por el administrador de phpLDAPadmin'; -$lang['could_not_determine_root'] = 'No se ha podido determinar la raz de su rbol LDAP.'; -$lang['ldap_refuses_to_give_root'] = 'Parece que el servidor LDAP ha sido configurado para no revelar su raz.'; -$lang['please_specify_in_config'] = 'Por favr, especifquela en config.php'; -$lang['create_new_entry_in'] = 'Crear nuevo objeto en'; -$lang['login_link'] = 'Autentificacin'; -$lang['login'] = 'conectar'; -$lang['base_entry_does_not_exist'] = 'Este objeto base no existe.'; -$lang['create_it'] = 'Crearlo?'; - -// Entry display -$lang['delete_this_entry'] = 'Borrar este objeto'; -$lang['delete_this_entry_tooltip'] = 'Se le pedir confirmacin'; -$lang['copy_this_entry'] = 'Copiar este objeto'; -$lang['copy_this_entry_tooltip'] = 'Copiar este objeto en otro sitio: un nuevo DN u otro servidor'; -$lang['export'] = 'Exportar'; -$lang['export_lcase'] = 'exportar'; -$lang['export_tooltip'] = 'Exportar este objeto'; -$lang['export_subtree_tooltip'] = 'Exportar este objeto y todos sus hijos'; -$lang['export_subtree'] = 'Exportar subrbol'; -$lang['create_a_child_entry'] = 'Crear un objeto hijo'; -$lang['rename_entry'] = 'Renombrar objeto'; -$lang['rename'] = 'Renombrar'; -$lang['add'] = 'Aadir'; -$lang['view'] = 'Ver'; -$lang['view_one_child'] = 'Ver 1 hijo'; -$lang['view_children'] = 'Ver %s hijos'; -$lang['add_new_attribute'] = 'Aadir atributo'; -$lang['add_new_objectclass'] = 'Aadir ObjectClass'; -$lang['hide_internal_attrs'] = 'Ocultar atributos internos'; -$lang['show_internal_attrs'] = 'Mostrar atributos internos'; -$lang['attr_name_tooltip'] = 'Haga click para ver el esquema del atributo de tipo \'%s\''; -$lang['none'] = 'ninguno'; -$lang['no_internal_attributes'] = 'No hay atributos internos'; -$lang['no_attributes'] = 'Este objeto no tiene atributos'; -$lang['save_changes'] = 'Guardar cambios'; -$lang['add_value'] = 'aadir valor'; -$lang['add_value_tooltip'] = 'Aadir un valor al atributo \'%s\''; -$lang['refresh_entry'] = 'Refrescar'; -$lang['refresh_this_entry'] = 'Refrescar este objeto'; -$lang['delete_hint'] = 'Nota: para borrar un atributo, borre su atributo y haga click en guardar.'; -$lang['attr_schema_hint'] = 'Nota: Para ver el esquema de un atributo, haga click en su nombre.'; -$lang['attrs_modified'] = 'Se han modificado algunos atributos (%s) que se encuentran destacados mas abajo.'; -$lang['attr_modified'] = 'Se ha modificado algn atributo (%s) que se encuentra destacado ms abajo.'; -$lang['viewing_read_only'] = 'Nota: Modo de slo lectura.'; -$lang['no_new_attrs_available'] = 'no hay nuevos atributos en este objeto'; -$lang['no_new_binary_attrs_available'] = 'no hay nuevos atributos binarios en este objeto'; -$lang['binary_value'] = 'Valor binario'; -$lang['add_new_binary_attr'] = 'Aadir atributo binario'; -$lang['alias_for'] = 'Nota: \'%s\' es un alias de \'%s\''; -$lang['required_for'] = 'Atributo requerido para la(s) clase(s) de objeto %s'; -$lang['download_value'] = 'descargar valor'; -$lang['delete_attribute'] = 'borrar atributo'; -$lang['true'] = 'verdadero'; -$lang['false'] = 'falso'; -$lang['none_remove_value'] = 'ninguno, borrar valor'; -$lang['really_delete_attribute'] = 'Borrar realmente el atributo'; -$lang['add_new_value'] = 'Aadir valor'; - -// Schema browser -$lang['the_following_objectclasses'] = 'El servidor LDAP soporta las siguientes clases de objeto:'; -$lang['the_following_attributes'] = 'El servidor LDAP soporta los siguientes tipos de atributo:'; -$lang['the_following_matching'] = 'El servidor LDAP soporta las siguientes reglas de coincidencia:'; -$lang['the_following_syntaxes'] = 'El servidor LDAP soporta las siguientes sintaxis:'; -$lang['schema_retrieve_error_1']='El servidor LDAP no soporta el protocolo LDAP en su totalidad.'; -$lang['schema_retrieve_error_2']='Su versin de PHP no realiza la peticin correctamente.'; -$lang['schema_retrieve_error_3']='O el phpLDAPadmin no sabe como obtener el esquema del servidor.'; -$lang['jump_to_objectclass'] = 'Ir a la clase de objeto'; -$lang['view_schema_for_oclass'] = 'Ver la descripcin del esquema para esta clase de objeto.'; -$lang['jump_to_attr'] = 'Ir al tipo de atributo'; -$lang['jump_to_matching_rule'] = 'Ir a la regla de coincidencia'; -$lang['schema_for_server'] = 'Esquema del servidor'; -$lang['required_attrs'] = 'Atributos requeridos'; -$lang['required'] = 'requerido'; -$lang['optional_attrs'] = 'Atributos opcionales'; -$lang['optional_binary_attrs'] = 'Atributos binarios opcionales'; -$lang['OID'] = 'OID'; -$lang['aliases']='Alias'; -$lang['desc'] = 'Descripcin'; -$lang['no_description']='sin descripcin'; -$lang['name'] = 'Nombre'; -$lang['equality']='Igualdad'; -$lang['is_obsolete'] = 'Esta clase de objeto es obsoleta.'; -$lang['inherits'] = 'Hereda de'; -$lang['inherited_from'] = 'Heredado de'; -$lang['parent_to'] = 'Padre de'; -$lang['jump_to_this_oclass'] = 'Ir a la definicin de esta clase de objeto'; -$lang['matching_rule_oid'] = 'OID de la regla de coincidencia'; -$lang['syntax_oid'] = 'OID de sintaxis'; -$lang['not_applicable'] = 'no aplicable'; -$lang['not_specified'] = 'no especificado'; -$lang['character'] = 'carcter'; -$lang['characters'] = 'caracteres'; -$lang['used_by_objectclasses'] = 'Usado por la clase de objeto'; -$lang['used_by_attributes'] = 'Usado por los atributos'; -$lang['maximum_length'] = 'Longitud mxima'; -$lang['attribute_types']='Tipos de atributo'; -$lang['syntaxes'] = 'Sintaxis'; -$lang['matchingrules'] = 'Reglas de coincidencia'; -$lang['oid'] = 'OID'; -$lang['obsolete'] = 'Obsoleto'; -$lang['ordering'] = 'Ordenacin'; -$lang['substring_rule'] = 'Regla de subcadena'; -$lang['single_valued'] = 'Univaludado'; -$lang['collective'] = 'Colectivo'; -$lang['user_modification'] = 'Modificado por el usuario'; -$lang['usage'] = 'Uso'; -$lang['could_not_retrieve_schema_from'] = 'No se ha podido obtener el esquema de'; -$lang['type'] = 'Tipo'; -$lang['no_such_schema_item'] = 'No hay tal tem en el esquema: "%s"'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objeto %s borrado correctamente.'; -$lang['you_must_specify_a_dn'] = 'Debe especificar un DN'; -$lang['could_not_delete_entry'] = 'No se ha podido borrar el objeto %s'; -$lang['no_such_entry'] = 'No hay tal objeto %s'; -$lang['delete_dn'] = 'Borrar %s'; -$lang['permanently_delete_children'] = 'Borrar tambin todos los hijos?'; -$lang['entry_is_root_sub_tree'] = 'Este objeto es la raz de un subrbol que contiene %s objetos.'; -$lang['view_entries'] = 'ver objetos'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin puede borrar recursivamente este objeto y sus %s hijos. Vea ms abajo la lista de objetos que se borrarn ahora. Todava quiere hacerlo?'; -$lang['confirm_recursive_delete_note'] = 'Nota: es potencialmente peligroso y debe hacerlo a su cuenta y riesgo. Esta operacin NO puede deshacerse. Tome en consideracin alias, referencias y otras cosas que puedan causar problemas.'; -$lang['delete_all_x_objects'] = 'Borrar los %s objetos'; -$lang['recursive_delete_progress'] = 'Progreso de la borracin recursiva'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s y su subrbol borrado correctamente.'; -$lang['failed_to_delete_entry'] = 'Error al borrar el objeto %s'; -$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a borrar:'; -$lang['sure_permanent_delete_object']='Est seguro de querer borrar este objeto?'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'El atributo "%s" est marcado como de slo lectura en la configuracin de phpLDAPadmin.'; -$lang['no_attr_specified'] = 'No se ha especificado ningn nombre de atributo.'; -$lang['no_dn_specified'] = 'No se ha especificado ningn DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Ha dejado en blanco el valor del atributo. Por favor, vuelva atrs e intntelo de nuevo.'; -$lang['failed_to_add_attr'] = 'Error al aadir atributo.'; -$lang['file_empty'] = 'El fichero que ha escogido no existe o est vaco. Por favor vuelva atrs e intntelo de nuevo.'; -$lang['invalid_file'] = 'Error de seguridad: El fichero que est enviando puede ser malicioso.'; -$lang['warning_file_uploads_disabled'] = 'Su configuracin del PHP ha desactivado la recepcin de ficheros. Por favor revise php.ini antes de continuar.'; -$lang['uploaded_file_too_big'] = 'El fichero que est enviando es demasiado grande. Por favor revise el ajuste "upload_max_size" en php.ini.'; -$lang['uploaded_file_partial'] = 'El fichero que ha seleccionado slo se ha recibido parcialmente debido a un error de red.'; -$lang['max_file_size'] = 'Tamao mximo de fichero: %s'; - -// Updating values -$lang['modification_successful'] = 'Modificacin realizada correctamente!'; -$lang['change_password_new_login'] = 'Como ha cambiado su contrasea, debe conectarse de nuevo empleando la nueva.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nuevos atributos requeridos'; -$lang['requires_to_add'] = 'Esta accin requiere que aada'; -$lang['new_attributes'] = 'nuevos atributos'; -$lang['new_required_attrs_instructions'] = 'Instrucciones: Para poder aadir esta clase a este objeto, debe especificar'; -$lang['that_this_oclass_requires'] = 'que esta clase requiere. Puede hacerlo en este formulario.'; -$lang['add_oclass_and_attrs'] = 'Aadir clase de objeto y atributos'; -$lang['objectclasses'] = 'Clases de objeto'; - -// General -$lang['chooser_link_tooltip'] = 'Haga click en el dilogo emergente para seleccionar un DN de forma grfica'; -$lang['no_updates_in_read_only_mode'] = 'No puede realizar cambios cuando el servidor est funcionando en modo de slo lectura'; -$lang['bad_server_id'] = 'Identificador de servidor no vlido'; -$lang['not_enough_login_info'] = 'No hay informacin suficiente para conectar con el servidor. Por favor, revise su configuracin.'; -$lang['could_not_connect'] = 'No se ha podido conectar con el servidor LDAP.'; -$lang['could_not_connect_to_host_on_port'] = 'No se ha podido conectar con "%s" en el puerto "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido realizar la operacin "ldap_mod_add".'; -$lang['bad_server_id_underline'] = 'Identificador de servidor no vlido: '; -$lang['success'] = 'xito'; -$lang['home'] = 'Inicio'; -$lang['help'] = 'Ayuda'; -$lang['success'] = 'xito'; -$lang['server_colon_pare'] = 'Servidor: '; -$lang['look_in'] = 'Buscando en: '; -$lang['missing_server_id_in_query_string'] = 'No se ha especificado ningn servidor en la peticin!'; -$lang['missing_dn_in_query_string'] = 'No se ha especificado ningn DN en la peticin!'; -$lang['back_up_p'] = 'Volver'; -$lang['no_entries'] = 'no hay objetos'; -$lang['not_logged_in'] = 'No est conectado'; -$lang['could_not_det_base_dn'] = 'No se puede determinar el DN base'; -$lang['please_report_this_as_a_bug']='Por favor informe de este error.'; -$lang['reasons_for_error']='Esto puede suceder por varias razones, las ms probables son:'; -$lang['yes']='S'; -$lang['no']='No'; -$lang['go']='Ir'; -$lang['delete']='Borrar'; -$lang['back']='Atrs'; -$lang['object']='objeto'; -$lang['delete_all']='Borrar todo'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'nota'; -$lang['bug'] = 'error'; -$lang['warning'] = 'aviso'; -$lang['light'] = 'bombilla'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Proceder >>'; - -// Add value form -$lang['add_new'] = 'Aadir'; -$lang['value_to'] = 'valor de'; -$lang['distinguished_name'] = 'Nombre distinguido'; -$lang['current_list_of'] = 'Lista actual de'; -$lang['values_for_attribute'] = 'valores del atributo'; -$lang['inappropriate_matching_note'] = 'Nota: Si no ha creado una regla de igualdad en el servidor LDAP para este atributo, obtendr un error de coincidencia inapropiada ("inappropriate matching").'; -$lang['enter_value_to_add'] = 'Introduzca el valor a aadir:'; -$lang['new_required_attrs_note'] = 'Nota: puede que tenga que introducir nuevos atributos que esta clase de objeto requiera'; -$lang['syntax'] = 'Sintaxis'; - -//copy.php -$lang['copy_server_read_only'] = 'No puede realizar modificaciones cuando el servidor est en modo de slo lectura'; -$lang['copy_dest_dn_blank'] = 'Ha dejado el campo DN en blanco.'; -$lang['copy_dest_already_exists'] = 'El objeto destino (%s) ya existe.'; -$lang['copy_dest_container_does_not_exist'] = 'El contenedor destino (%s) no existe.'; -$lang['copy_source_dest_dn_same'] = 'El DN origen y destino son iguales.'; -$lang['copy_copying'] = 'Copiando '; -$lang['copy_recursive_copy_progress'] = 'Progreso de la copia recursiva'; -$lang['copy_building_snapshot'] = 'Creando imagen del rbol a copiar... '; -$lang['copy_successful_like_to'] = 'Copia correcta! Le gustara '; -$lang['copy_view_new_entry'] = 'ver el nuevo objeto'; -$lang['copy_failed'] = 'Error al copiar el DN: '; - -//edit.php -$lang['missing_template_file'] = 'Aviso: falta el fichero de plantilla, '; -$lang['using_default'] = 'usando la plantilla por defecto.'; -$lang['template'] = 'Plantilla'; -$lang['must_choose_template'] = 'Debes escoger una plantilla'; -$lang['invalid_template'] = '%s no es una plantilla vlida'; -$lang['using_template'] = 'usando plantilla'; -$lang['go_to_dn'] = 'Ir a %s'; -$lang['structural_object_class_cannot_remove'] = 'Esta es una clase de objeto estructural y no se puede eliminar.'; -$lang['structural'] = 'estructural'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar '; -$lang['copyf_to_new_object'] = 'a un objeto nuevo'; -$lang['copyf_dest_dn'] = 'DN destino'; -$lang['copyf_dest_dn_tooltip'] = 'El DN completo del objeto a crear'; -$lang['copyf_dest_server'] = 'Servidor destino'; -$lang['copyf_note'] = 'Nota: Slo se puede copiar entre servidores diferentes cuando no hay violaciones de esquema'; -$lang['copyf_recursive_copy'] = 'Tambin copiar recursivamente todos los hijos de este objeto.'; -$lang['recursive_copy'] = 'Copia recursiva'; -$lang['filter'] = 'Filtro'; -$lang['search_filter'] = 'Filtro de bsqueda'; -$lang['filter_tooltip'] = 'Cuando se realice una copia recursiva, copiar slo los objetos que superen el filtrado'; - -//create.php -$lang['create_required_attribute'] = 'Ha dejado el valor del atributo requerido (%s) en blanco.'; -$lang['redirecting'] = 'Redirigiendo...'; -$lang['here'] = 'aqu'; -$lang['create_could_not_add'] = 'No se ha podido aadir el objeto al servidor LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Crear objeto'; -$lang['createf_choose_temp'] = 'Escoja una plantilla'; -$lang['createf_select_temp'] = 'Seleccione una plantilla para el proceso de creacin'; -$lang['save_as_file'] = 'Guardar como fichero'; -$lang['rdn_field_blank'] = 'Ha dejado el campo RDN en blanco.'; -$lang['container_does_not_exist'] = 'El contenedor que ha especificado (%s) no existe. Por favor intntelo de nuevo.'; -$lang['no_objectclasses_selected'] = 'No ha seleccionado ninguna clase para este objeto. Por favor, vuelva atrs y hgalo ahora.'; -$lang['hint_structural_oclass'] = 'Nota: Debe escoger al menos una clase de objeto estructural'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'En el servidor'; -$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables POST.'; -$lang['template_not_readable'] = 'Su configuracin especifica un fichero "%s" para esta plantilla pero dicho fichero no se puede leer debido a que sus permisos son demasiado restrictivos.'; -$lang['template_does_not_exist'] = 'Su configuracin especifica un fichero "%s" para esta plantilla pero dicho fichero no existe en el directorio templates/creation.'; -$lang['create_step1'] = 'Paso 1 de 2: Nombre y clase(s) de objeto'; -$lang['create_step2'] = 'Paso 2 de 2: Especifique attributos y valores'; -$lang['relative_distinguished_name'] = 'Nombre Distinguido Relativo (RDN)'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(ejemplo: cn=nuevaPersona)'; -$lang['container'] = 'Contenedor'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Todava no ha conectado con el servidor, as que no puede realizar bsquedas.'; -$lang['click_to_go_to_login_form'] = 'Pulse aqu para ir al formulario de conexin'; -$lang['unrecognized_criteria_option'] = 'Criterio no reconocido: '; -$lang['if_you_want_to_add_criteria'] = 'Si quiere puede aadir su propios criterios a la lista. Asegrese de editar search.php para manejarlos. Saliendo...'; -$lang['entries_found'] = 'Objetos encontrados: '; -$lang['filter_performed'] = 'Filtrado realizado: '; -$lang['search_duration'] = 'Bsqueda realizada por phpLDAPadmin en'; -$lang['seconds'] = 'segundos'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'mbito de bsqueda'; -$lang['scope_sub'] = 'Sub (subrbol completo)'; -$lang['scope_one'] = 'One (un nivel bajo la base)'; -$lang['scope_base'] = 'Base (slo la base)'; -$lang['standard_ldap_search_filter'] = 'Filtro de bsqueda LDAP estndar. Ejemplo: (&(sn=Picapiedra)(givenname=Pedro))'; -$lang['search_filter'] = 'Filtro de bsqueda'; -$lang['list_of_attrs_to_display_in_results'] = 'Lista de atributos para mostrar en los resultados (separados por comas)'; -$lang['show_attributes'] = 'Mostrar atributos'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Buscar entradas en las que'; -$lang['equals'] = 'sea igual a'; -$lang['starts with'] = 'comience por'; -$lang['contains'] = 'contenga'; -$lang['ends with'] = 'acabe en'; -$lang['sounds like'] = 'suene como'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'No se ha podido obtener ninguna informacin del servidor LDAP. Esto puede deberse a este error es su versin de PHP o quizs su servidor LDAP posee controles de acceso que privan a los clientes de acceso al RootDSE.'; -$lang['server_info_for'] = 'Informacin sobre el servidor: '; -$lang['server_reports_following'] = 'El servidor LDAP enva la siguiente informacin:'; -$lang['nothing_to_report'] = 'Este servidor no tiene nada sobre lo que informar.'; - -//update.php -$lang['update_array_malformed'] = 'El array update_array no est bien formado. Esto puede indicar un error de phpLDAPadmin. Por favor, informe de ello.'; -$lang['could_not_perform_ldap_modify'] = 'No se ha podido realizar la operacin "ldap_modify".'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Quiere realizar estos cambios?'; -$lang['attribute'] = 'Atributo'; -$lang['old_value'] = 'Valor anterior'; -$lang['new_value'] = 'Nuevo valor'; -$lang['attr_deleted'] = '[atributo borrado]'; -$lang['commit'] = 'Cometer'; -$lang['cancel'] = 'Cancelar'; -$lang['you_made_no_changes'] = 'No ha realizado cambios'; -$lang['go_back'] = 'Volver atrs'; - -// welcome.php -$lang['welcome_note'] = 'Use el men de la izquierda para navegar'; -$lang['credits'] = 'Creditos'; -$lang['changelog'] = 'Lista de cambios'; -$lang['donate'] = 'Donar'; -$lang['pla_logo'] = 'logotipo de phpLDAPadmin'; - -// Donate.php -$lang['donation_instructions'] = 'Para donar fondos al proyecto phpLDAPadmin, use uno de los botones de abajo.'; -$lang['donate_amount'] = 'Donar %s'; - -$lang['purge_cache'] = 'Borrar cachs'; -$lang['no_cache_to_purge'] = 'No hay que borrar ningn cach.'; -$lang['done_purging_caches'] = 'Se han borrado %s bytes de cach.'; -$lang['purge_cache_tooltip'] = 'Se han borrado todos los datos en el cach de phpLDAPadmin, incluyendo los esquemas del servidor.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nombre de fichero no seguro: '; -$lang['no_such_file'] = 'No hay tal fichero: '; - -//function.php -$lang['auto_update_not_setup'] = 'Ha activado "auto_uid_numbers" para %s en su configuracin, - pero no ha especificado el mecanismo "auto_uid_number_mechanism". Por favor, corrija este problema'; -$lang['uidpool_not_set'] = 'Ha especificado el mecanismo "auto_uid_number_mechanism" como "uidpool" - en su configuracin para el servidor %s, pero no ha especificado - "audo_uid_number_uid_pool_dn". Por favor, verifiquelo antes de continuar.'; -$lang['uidpool_not_exist'] = 'Parece ser que el "uidPool" que ha especificado en su configuracin ("%s") - no existe.'; -$lang['specified_uidpool'] = 'Ha especificado "auto_uid_number_mechanism" como "search" en la - configuracin del servidor %s, pero no ha especificado - "auto_uid_number_search_base". Por favor, especifquelo antes de continuar.'; -$lang['auto_uid_invalid_credential'] = 'Imposible conectar con %s con sus credenciales "auto_uid". Por favor, verifique su fichero de configuracin.'; -$lang['bad_auto_uid_search_base'] = 'Su configuracin de phpLDAPadmin especifica "auto_uid_search_base" como no vlida para el servidor %s'; -$lang['auto_uid_invalid_value'] = 'Ha especificado un valor no vlido para el mecanismo "auto_uid_number_mechanism" ("%s") - en su configuracin. Slo son vlidos "uidpool" y "search". Por favor, corrija este problema.'; -$lang['error_auth_type_config'] = 'Error: Tiene un error en su fichero de configurcin. Los tres nicos valores para "auth_type" - en la seccin $servers son \'session\', \'cookie\', y \'config\'. Usted ha introducido \'%s\', - que no est permitido. '; -$lang['unique_attrs_invalid_credential'] = 'Imposible conectarse a %s con sus credenciales unique_attr. Por favor, revise su fichero de configuracin.'; -$lang['unique_attr_failed'] = 'Su intento de aadir %s (%s) a
    %s
    NO se ha permitido. Tal atributo/valor pertenece a otro objeto.

    Probablemente desee buscar tal objeto.'; -$lang['php_install_not_supports_tls'] = 'Su instalacin de PHP no soporta TLS.'; -$lang['could_not_start_tls'] = 'No se ha podido iniciar TLS. Por favor, revise su configuracin LDAP.'; -$lang['could_not_bind_anon'] = 'No se ha podido conectar con el servidor de forma annima.'; -$lang['could_not_bind'] = 'No se ha podido conectar con el servidor LDAP.'; -$lang['anonymous_bind'] = 'Conexin annima'; -$lang['bad_user_name_or_password'] = 'Nombre de usuario o contrasea incorrectos. Por favor, intntelo de nuevo.'; -$lang['redirecting_click_if_nothing_happens'] = 'Redirigiendo... Pulse aqu si no sucede nada.'; -$lang['successfully_logged_in_to_server'] = 'Ha conectado con el servidor %s.'; -$lang['could_not_set_cookie'] = 'No se ha podido guardar la cookie.'; -$lang['ldap_said'] = 'LDAP ha dicho: %s'; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'seleccionar'; -$lang['delete_photo'] = 'Borrar foto'; -$lang['install_not_support_blowfish'] = 'Su instalacin de PHP no soporta encriptacin blowfish.'; -$lang['install_not_support_md5crypt'] = 'Su instalacin de PHP no soporta encriptacin md5crypt.'; -$lang['install_no_mash'] = 'Su instalacin de PHP no posee la funcin mhash(). No se pueden realizar hashes SHA.'; -$lang['jpeg_contains_errors'] = 'La foto jpegPhoto contiene errores
    '; -$lang['ferror_number'] = 'Error nmero: %s (%s)'; -$lang['ferror_discription'] = 'Descripcin: %s

    '; -$lang['ferror_number_short'] = 'Error nmero: %s

    '; -$lang['ferror_discription_short'] = 'Descripcin: (no existe descripcin disponible)
    '; -$lang['ferror_submit_bug'] = 'Es ste un error de phpLDAPadmin? Si es as, por favor informe sobre ello.'; -$lang['ferror_unrecognized_num'] = 'Nmero de error no reconocido: '; -$lang['ferror_nonfatil_bug'] = '

    -
    - Ha encontrado un error no fatal en phpLDAPadmin!
    Error:%s (%s)
    Fichero:%s lnea %s, caller %s
    Versiones:PLA: %s, PHP: %s, SAPI: %s -
    Servidor web:%s
    - Por favor, informe de este error pulsando aqu.

    '; -$lang['ferror_congrats_found_bug'] = 'Felicidades! Ha encontrado un error en phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Nivel:%s
    Fichero:%s
    Lnea:%s
    Caller:%s
    Verisn PLA:%s
    Versin PHP:%s
    PHP SAPI:%s
    Servidor web:%s
    -
    - Por favor, informe sobre este error haciendo click ms abajo!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar fichero LDIF'; -$lang['select_ldif_file'] = 'Seleccione un fichero LDIF:'; -$lang['dont_stop_on_errors'] = 'Ignorar errores'; - -//ldif_import -$lang['add_action'] = 'Aadiendo...'; -$lang['delete_action'] = 'Borrando...'; -$lang['rename_action'] = 'Renombrando...'; -$lang['modify_action'] = 'Modificando...'; -$lang['warning_no_ldif_version_found'] = 'No se ha encontrado versin. Asumiendo 1.'; -$lang['valid_dn_line_required'] = 'Se requiere una lnea vlida.'; -$lang['missing_uploaded_file'] = 'Falta el fichero enviado.'; -$lang['no_ldif_file_specified.'] = 'No se ha especificado un fichero LDIF. Por favor, intntelo de nuevo.'; -$lang['ldif_file_empty'] = 'El fichero LDIF enviado est vaco.'; -$lang['empty'] = 'vaco'; -$lang['file'] = 'Fichero'; -$lang['number_bytes'] = '%s bytes'; - -$lang['failed'] = 'Error'; -$lang['ldif_parse_error'] = 'Error al parsear LDIF'; -$lang['ldif_could_not_add_object'] = 'No se ha podido aadir objeto:'; -$lang['ldif_could_not_rename_object'] = 'No se ha podido renombrar el objeto:'; -$lang['ldif_could_not_delete_object'] = 'No se ha podido borrar el objeto:'; -$lang['ldif_could_not_modify_object'] = 'No se ha podido modificar el objeto:'; -$lang['ldif_line_number'] = 'Nmero de lnea:'; -$lang['ldif_line'] = 'Lnea:'; - -// Exports -$lang['export_format'] = 'Formato de exportacin'; -$lang['line_ends'] = 'Fin de lnea'; -$lang['must_choose_export_format'] = 'Debe escoger un formato de exportacin.'; -$lang['invalid_export_format'] = 'Formato de exportacin no vlido'; -$lang['no_exporter_found'] = 'No se ha encontrado ningn exportador vlido.'; -$lang['error_performing_search'] = 'Se ha encontrado un error al realizar la bsqueda.'; -$lang['showing_results_x_through_y'] = 'Mostrando los resultados de %s a %s.'; -$lang['searching'] = 'Buscando...'; -$lang['size_limit_exceeded'] = 'Nota: se ha excedido el tiempo de bsqueda.'; -$lang['entry'] = 'Objeto'; -$lang['ldif_export_for_dn'] = 'Exportacin LDIF de: %s'; -$lang['generated_on_date'] = 'Generado por phpLDAPadmin el %s'; -$lang['total_entries'] = 'Entradas totales'; -$lang['dsml_export_for_dn'] = 'Exportacin DSLM de: %s'; -$lang['include_system_attrs'] = 'Incluir atributos de sistema'; -$lang['csv_spreadsheet'] = 'CSV (Hoja de clculo)'; - -// logins -$lang['could_not_find_user'] = 'No se ha podido encontrar el usuario "%s"'; -$lang['password_blank'] = 'Ha dejado la contrasea en blanco.'; -$lang['login_cancelled'] = 'Conexin cancelada.'; -$lang['no_one_logged_in'] = 'No hay nadie conectado con el servidor.'; -$lang['could_not_logout'] = 'No se ha podido desconectar.'; -$lang['unknown_auth_type'] = 'Tipo de autentificacin "auth_type" desconocido: %s'; -$lang['logged_out_successfully'] = 'Se ha desconectado del servidor %s'; -$lang['authenticate_to_server'] = 'Autentificacin del servidor %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexin no est encriptada.'; -$lang['not_using_https'] = 'No est usando \'https\'. El navegador web enviar su informacin sin encriptar.'; -$lang['login_dn'] = 'Login'; -$lang['user_name'] = 'Nombre de usuario'; -$lang['password'] = 'Contrasea'; -$lang['authenticate'] = 'Entrar'; - -// Entry browser -$lang['entry_chooser_title'] = 'Selector de objetos'; - -// Index page -$lang['need_to_configure'] = 'Debe configurar phpLDAPadmin, editando el fichero \'config.php\'. Se proporciona un fichero de configuracin de ejemplo en \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'No se permiten borrados en modo de slo lectura.'; -$lang['error_calling_mass_delete'] = 'Error al llamar a "mass_delete.php". Falta la variable POST "mass_delete".'; -$lang['mass_delete_not_array'] = 'La variable POST "mass_delete" no es un array.'; -$lang['mass_delete_not_enabled'] = 'No est activado el borrado masivo. Por favor, actvelo en config.php antes de continuar.'; -$lang['search_attrs_wrong_count'] = 'Su config.php tiene un error. El nmero de atributos en $search_attributes y $search_attributes_display es diferente'; -$lang['mass_deleting'] = 'Efectuando borrado masivo'; -$lang['mass_delete_progress'] = 'Borrado en progreso en el servidor "%s"'; -$lang['malformed_mass_delete_array'] = 'Array de borrado masivo mal formado.'; -$lang['no_entries_to_delete'] = 'No ha seleccionado objetos para borrar.'; -$lang['deleting_dn'] = 'Borrando %s'; -$lang['total_entries_failed'] = 'No han podido borrarse %s de %s objetos.'; -$lang['all_entries_successful'] = 'Todos los objetos han sido borrados.'; -$lang['confirm_mass_delete'] = 'Confirmar borrado masivo de %s objetos en el servidor %s'; -$lang['yes_delete'] = 'S, borrar!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'No puede renombrar un objeto que tenga hijos'; -$lang['no_rdn_change'] = 'No ha cambiado el RDN'; -$lang['invalid_rdn'] = 'Valor RDN no vlido'; -$lang['could_not_rename'] = 'No se ha podido renombrar el objeto'; - -// General errors -$lang['php5_unsupported'] = 'phpLDAPadmin no soporta todava PHP 5. Si contina encontrar probablemente extraos errores.'; -$lang['mismatched_search_attr_config'] = 'Su configuracin tiene un error. $search_attributes debe tener el mismo nmero de atributos que $search_attributes_display.'; - -// Password checker -$lang['passwords_match'] = 'Las contraseas coinciden!'; -$lang['passwords_do_not_match'] = 'Las contraseas no coinciden!'; -$lang['password_checker_tool'] = 'Herramienta de comprobacin de contraseas'; -$lang['compare'] = 'Comparar'; -$lang['to'] = 'con'; - -// Templates -$lang['using'] = 'Usando la'; -$lang['template'] = 'plantilla'; -$lang['switch_to'] = 'Puede cambair a la '; -$lang['default_template'] = 'plantilla por defecto'; - -// template_config -$lang['user_account'] = 'Cuenta de Usuario (posixAccount)'; -$lang['address_book_inet'] = 'Entrada del libro de direcciones (inetOrgPerson)'; -$lang['address_book_moz'] = 'Entrada del libro de direcciones (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Entrada de Usuario Kolab'; -$lang['organizational_unit'] = 'Unidad Organizativa'; -$lang['organizational_role'] = 'Rol Organizativo'; -$lang['posix_group'] = 'Grupo Posix'; -$lang['samba_machine'] = 'Ordenador con Samba NT'; -$lang['samba3_machine'] = 'Ordenador con Samba 3 NT'; -$lang['samba_user'] = 'Usuario de Samba'; -$lang['samba3_user'] = 'Usuario de Samba 3'; -$lang['samba3_group'] = 'Mapeo de Grupo de Samba 3'; -$lang['dns_entry'] = 'Entrada DNS'; -$lang['simple_sec_object'] = 'Objeto de Seguridad Simple'; -$lang['courier_mail_account'] = 'Cuenta de Correo Courier'; -$lang['courier_mail_alias'] = 'Alias de Correo Courier'; -$lang['ldap_alias'] = 'Alias de LDAP'; -$lang['sendmail_cluster'] = 'Cluster de Sendmail'; -$lang['sendmail_domain'] = 'Dominio de Sendmail'; -$lang['sendmail_alias'] = 'Alias de Sendmail'; -$lang['sendmail_virt_dom'] = 'Dominio Virtual de Sendmail'; -$lang['sendmail_virt_users'] = 'Usuarios Virtuales de Sendmail'; -$lang['sendmail_relays'] = 'Rels de Sendmail'; -$lang['custom'] = 'A medida'; -$lang['samba_domain_name'] = 'Mi Nombre de Dominio de Samba'; -$lang['administrators'] = 'Administradores'; -$lang['users'] = 'Usuarios'; -$lang['guests'] = 'Invitados'; -$lang['power_users'] = 'Usuarios Privilegiados'; -$lang['account_ops'] = 'Administradores de Cuentas'; -$lang['server_ops'] = 'Administradores de Servidor'; -$lang['print_ops'] = 'Administradores de Impresin'; -$lang['backup_ops'] = 'Administradores de Copias de Seguridad'; -$lang['replicator'] = 'Replicador'; -$lang['unable_smb_passwords'] = ' Imposible crear las contraseas de Samba. Por favor, revise la configuracin en template_config.php'; -$lang['err_smb_conf'] = 'Error: Tiene un error en su configuracin de Samba.'; -$lang['err_smb_no_name_sid'] = 'Error: Necesita indicar el nombre y el sid de su dominio Samba.'; -$lang['err_smb_no_name'] = 'Error: No se ha indicado el nombre del dominio Samba.'; -$lang['err_smb_no_sid'] = 'Error: No se ha indicado el sid del dominio Samba.'; - -// Samba Account Template -$lang['samba_account'] = 'Cuenta Samba'; -$lang['samba_account_lcase'] = 'cuenta samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nueva cuenta de usuario'; -$lang['t_hint_customize'] = 'Nota: Para modificar esta plantilla, edite el fichero templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nombre'; -$lang['t_first_name'] = 'Nombre propio'; -$lang['t_last_name'] = 'Apellido'; -$lang['t_first'] = 'nombre propio'; -$lang['t_last'] = 'apellido'; -$lang['t_common_name'] = 'Nombre comn'; -$lang['t_user_name'] = 'Nombre de Usuario'; -$lang['t_password'] = 'Contrasea'; -$lang['t_encryption'] = 'Encriptacin'; -$lang['t_login_shell'] = 'Shell de entrada'; -$lang['t_home_dir'] = 'Directorio de usuario'; -$lang['t_uid_number'] = 'Nmero UID'; -$lang['t_auto_det'] = '(determinado automticamente)'; -$lang['t_group'] = 'Grupo'; -$lang['t_gid_number'] = 'Nmero GID'; -$lang['t_err_passwords'] = 'Sus contraseas no coinciden. Por favor, vuelva atrs e intntelo de nuevon.'; -$lang['t_err_field_blank'] = 'No puede dejar en blanco el %s. Por favor, vuelva atrs e intntelo de nuevo.'; -$lang['t_err_field_num'] = 'Slo puede introducir valores numricos en el campo %s. Por favor, vuelva atrs e intntelo de nuevo.'; -$lang['t_err_bad_container'] = 'El contenedor que ha especificado (%s) no existe. Por favor, vuelva atrs e intntelo de nuevo.'; -$lang['t_confirm_account_creation'] = 'Confirmar creacin de cuenta'; -$lang['t_secret'] = '[secreta]'; -$lang['t_create_account'] = 'Crear cuenta'; - -// New Address Template -$lang['t_new_address'] = 'Nueva entrada en el libro de direcciones'; -$lang['t_organization'] = 'Organizacin'; -$lang['t_address'] = 'Direccin'; -$lang['t_city'] = 'Ciudad'; -$lang['t_postal_code'] = 'Cdigo postal'; -$lang['t_street'] = 'Calle'; -$lang['t_work_phone'] = 'Telfono de trabajo'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Mvil'; -$lang['t_email'] = 'Email'; -$lang['t_container'] = 'Contenedor'; -$lang['t_err_cn_blank'] = 'No puede dejar el campo "Nombre Comn" en blanco. Por favor, vuelva atrs e intntelo de nuevo.'; -$lang['t_confim_creation'] = 'Confirmar creacin de entrada:'; -$lang['t_create_address'] = 'Crear direccin'; - -// default template -$lang['t_check_pass'] = 'Compruebe la contrasea...'; - -?> - diff --git a/lang/fr.php b/lang/fr.php deleted file mode 100644 index a5c1d7d..0000000 --- a/lang/fr.php +++ /dev/null @@ -1,694 +0,0 @@ -anomalie dans votre version de PHP ou peut-tre que votre serveur LDAP a un contrle d\'accs dfini qui empche les clients LDAP d\'accder au RootDSE.'; -$lang['server_info_for'] = 'Info serveur pour : '; -$lang['server_reports_following'] = 'Le serveur rapporte les informations suivantes propos de lui-mme'; -$lang['nothing_to_report'] = 'Ce serveur n\'a rien rapporter.'; - -//update.php -$lang['update_array_malformed'] = 'update_array est malform. C\'est peut-tre une anomalie de phpLDAPadmin. Veuillez la rapporter.'; -$lang['could_not_perform_ldap_modify'] = 'Impossible d\'effectuer une opration ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Voulez-vous effectuer ces modifications ?'; -$lang['attribute'] = 'Attribut'; -$lang['old_value'] = 'Ancienne valeur'; -$lang['new_value'] = 'Nouvelle valeur'; -$lang['attr_deleted'] = '[attribut supprim]'; -$lang['commit'] = 'Valider'; -$lang['cancel'] = 'Annuler'; -$lang['you_made_no_changes'] = 'Vous n\'avez fait aucune modification'; -$lang['go_back'] = 'Revenir'; -$lang['unable_create_samba_pass'] = 'Impossible de crer le mot de passe Samba. Veuillez vrifier votre configuration dans template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'Utiliser le menu de gauche pour naviguer'; -$lang['credits'] = 'Crdits'; -$lang['changelog'] = 'ChangeLog'; -$lang['documentation'] = 'Documentation'; -$lang['donate'] = 'Donation'; -$lang['pla_logo'] = 'Logo phpLDAPadmim'; - -// Donate.php -$lang['donation_instructions'] = 'Pour contribuer financirement au projet phpLDAPadmin, utilisez un des boutons PayPal ci-dessous.'; -$lang['donate_amount'] = 'Donner %s'; - -$lang['purge_cache'] = 'Purger les caches'; -$lang['no_cache_to_purge'] = 'Aucun cache purger.'; -$lang['done_purging_caches'] = '%s octets de cache purgs.'; -$lang['purge_cache_tooltip'] = 'Purge toutes les donnes caches dans phpLDAPadmin, incluant les schmas de serveur.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nom de fichier non sr : '; -$lang['no_such_file'] = 'Pas de tel fichier : '; - -//function.php -$lang['auto_update_not_setup'] = 'Vous avez activ auto_uid_numbers pour %s dans votre configuration, - mais vous n\'avez pas spcifi de mcanisme auto_uid_number_mechanism. Veuillez corriger - ce problme.'; -$lang['uidpool_not_set'] = 'Vous avez dfini auto_uid_number_mechanism comme uidpool - dans votre configuration pour le serveur %s, mais vous n\'avez pas spcifi le - auto_uid_number_uid_pool_dn. Veuillez le spcifier avant de procder.'; -$lang['uidpool_not_exist'] = 'Il semble que le uidPool que vous avez spcifi dans votre configuration ( %s ) - n\'existe pas.'; -$lang['specified_uidpool'] = 'Vous avez spcifi le auto_uid_number_mechanism comme search dans votre - configuration du serveur %s, mais vous n\'avez pas spcifi le - auto_uid_number_search_base . Veuillez le spcifier avant de procder.'; -$lang['auto_uid_invalid_credential'] = 'Incapable de se connecter %s avec votre crdentiel auto_uid . Veuillez vrifier votre fichier de configuration.'; -$lang['bad_auto_uid_search_base'] = 'Votre configuration de phpLDAPadmin spcifie un auto_uid_search_base non valide pour le serveur %s'; -$lang['auto_uid_invalid_value'] = 'Vous avez spcifi une valeur non valide pour pour auto_uid_number_mechanism ("%s") - dans votre configuration. Seul uidpool et search sont valides. - Veuillez corriger ce problme.'; -$lang['error_auth_type_config'] = 'Erreur : Vous avez une erreur dans votre fichier de configuration. Les seuls trois valeurs autorises - pour auth_type dans la section $servers sont session , cookie , et config . Vous avez saisi %s , - qui n\'est pas autorise. '; -$lang['unique_attrs_invalid_credential'] = 'Impossible de se connecter %s avec votre crdentiel unique_attrs. Veuillez vrifier votre fichier de configuration.'; -$lang['unique_attr_failed'] = 'Votre tentative d\'ajouter %s (%s)
    %s
    n\'est pas autorise. Cet attribut/valeur appartient une autre entre.

    Vous souhaitez rechercher cette entre.'; -$lang['php_install_not_supports_tls'] = 'Votre installation de PHP ne supporte pas TLS.'; -$lang['could_not_start_tls'] = 'Impossible de dmarrer TLS. Veuillez vrifier la configuration de votre serveur LDAP.'; -$lang['could_not_bind_anon'] = 'Impossible de se connecter anonymement au serveur.'; -$lang['could_not_bind'] = 'Impossible de se connecter au serveur LDAP.'; -$lang['anonymous_bind'] = 'Connexion anonyme'; -$lang['bad_user_name_or_password'] = 'Mauvais nom d\'utilisateur ou mot de passe. Veuillez ressayer.'; -$lang['successfully_logged_in_to_server'] = 'Connexion au serveur %s avec succs'; -$lang['could_not_set_cookie'] = 'Impossible de dfinir le cookie.'; -$lang['ldap_said'] = 'LDAP dit : %s'; -$lang['ferror_error'] = 'Erreur'; -$lang['fbrowse'] = 'parcourir'; -$lang['delete_photo'] = 'Supprimer la photo'; -$lang['install_not_support_ext_des'] = 'Votre bibliothque systme crypt ne supporte pas le chiffrement DES tendu.'; -$lang['install_not_support_blowfish'] = 'Votre bibliothque systme crypt ne supporte pas le chiffrement blowfish.'; -$lang['install_not_support_md5crypt'] = 'Votre bibliothque systme crypt ne supporte pas le chiffrement md5crypt.'; -$lang['install_no_mash'] = 'Votre installation PHP n\'a pas de fonction mhash(). Impossible de faire de signature SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto contient des erreurs
    '; -$lang['ferror_number'] = 'Erreur numro : %s (%s)'; -$lang['ferror_discription'] = 'Description : %s

    '; -$lang['ferror_number_short'] = 'Erreur numro : %s

    '; -$lang['ferror_discription_short'] = 'Description : (aucune description disponible)
    '; -$lang['ferror_submit_bug'] = 'Est-ce une anomalie phpLDAPadmin ? Si c\'est le cas, veuillez la rapporter.'; -$lang['ferror_unrecognized_num'] = 'Numro d\'erreur non reconnu: '; -$lang['ferror_nonfatil_bug'] = '

    - - - -
    - Vous avez trouv une anomalie phpLDAPadmin non fatale !
    Erreur :%s (%s)
    Fichier :%s ligne %s, appelant %s
    Versions :PLA : %s, PHP : %s, SAPI : %s -
    Serveur Web :%s
    Veuillez vrifier et voir si cette anomalie a dj t rapporte ici.
    Si elle n\'a pas t rapporte, vous pouver rapporter cette anomalie en cliquant ici.

    '; -$lang['ferror_congrats_found_bug'] = 'Flicitations ! Vous avez trouv une anomalie dans phpLDAPadmin.

    - - - - - - - - - - -
    Erreur :%s
    Niveau :%s
    Fichier :%s
    Ligne :%s
    Appelant :%s
    Version PLA :%s
    Version PHP :%s
    SAPI PHP :%s
    Serveur Web :%s
    -
    - Veuillez rapporter cette anomalie en cliquant ci-dessous !'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importer un fichier LDIF'; -$lang['select_ldif_file'] = 'Slectionner un fichier LDIF :'; -$lang['dont_stop_on_errors'] = 'Ne pas vous arrter sur les erreurs'; - -//ldif_import -$lang['add_action'] = 'Ajout...'; -$lang['delete_action'] = 'Suppression...'; -$lang['rename_action'] = 'Renommage...'; -$lang['modify_action'] = 'Modification...'; -$lang['warning_no_ldif_version_found'] = 'Aucune version trouv. Assume 1.'; -$lang['valid_dn_line_required'] = 'Une ligne dn valide est requise.'; -$lang['missing_uploaded_file'] = 'Fichier tlcharg manquant.'; -$lang['no_ldif_file_specified'] = 'Aucun fichier LDIF spcifi. Veuillez essayer de nouveau.'; -$lang['ldif_file_empty'] = 'Le fichier LDIF tlcharg est manquant.'; -$lang['empty'] = 'vide'; -$lang['file'] = 'Fichier'; -$lang['number_bytes'] = '%s octets'; - -$lang['failed'] = 'choue'; -$lang['ldif_parse_error'] = 'Erreur d\'analyse LDIF'; -$lang['ldif_could_not_add_object'] = 'Impossible d\'ajouter un objet :'; -$lang['ldif_could_not_rename_object'] = 'Impossible de renommer l\'objet :'; -$lang['ldif_could_not_delete_object'] = 'Impossible de supprimer l\'objet :'; -$lang['ldif_could_not_modify_object'] = 'Impossible de modifier l\'objet :'; -$lang['ldif_line_number'] = 'Numro de ligne :'; -$lang['ldif_line'] = 'Ligne :'; - -// Exports -$lang['export_format'] = 'Format d\'exportation'; -$lang['line_ends'] = 'Les lignes se finissent par'; -$lang['must_choose_export_format'] = 'Vous devez choisir un format d\'exportation.'; -$lang['invalid_export_format'] = 'Format d\'exportation non valide'; -$lang['no_exporter_found'] = 'Aucun filtre d\'exportation trouv.'; -$lang['error_performing_search'] = 'Une erreur est survenue lors de la recherche.'; -$lang['showing_results_x_through_y'] = 'Affichage des rsultats %s %s.'; -$lang['searching'] = 'Recherche en cours...'; -$lang['size_limit_exceeded'] = 'Attention, la taille limite de recherche est dpasse.'; -$lang['entry'] = 'Entre'; -$lang['ldif_export_for_dn'] = 'Exportation LDIF pour : %s'; -$lang['generated_on_date'] = 'Gnr par phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) pour %s'; -$lang['total_entries'] = 'Entres totales'; -$lang['dsml_export_for_dn'] = 'Exportation DSLM pour : %s'; -$lang['include_system_attrs'] = 'Inclure les attributs systme'; -$lang['csv_spreadsheet'] = 'CSV (feuille de calcul)'; - -// logins -$lang['password_blank'] = 'Vous avez laiss le mot de passe vide.'; -$lang['no_one_logged_in'] = 'Personne n\'est connect sur ce serveur.'; -$lang['could_not_logout'] = 'Impossible de se dconnecter.'; -$lang['unknown_auth_type'] = 'auth_type inconnu : %s'; -$lang['logged_out_successfully'] = 'Dconnexion du serveur avec succs %s'; -$lang['authenticate_to_server'] = 'Authentification auprs du serveur %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Avertissement : la connexion Web n\'est pas chiffr.'; -$lang['not_using_https'] = 'Vous n\'utilisez pas https . Le navigateur Web transmettra les informations de connexion en clair.'; -$lang['login_dn'] = 'DN de connexion'; -$lang['user_name'] = 'Nom d\'utilisateur'; -$lang['password'] = 'Mot de passe'; -$lang['authenticate'] = 'Authentification'; -$lang['login_not_allowed'] = 'Dsol, vous n\'tes pas autoris utiliser phpLDAPadmin avec ce serveur LDAP.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Slecteur d\'entres'; - -// Index page -$lang['need_to_configure'] = 'Vous avez besoin de configurer phpLDAPadmin. ditez le fichier config.php pour le faire. un exemple de fichier de configuration est fournit dans config.php.example '; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Supprimer n\'est pas autoris en lecture seule.'; -$lang['error_calling_mass_delete'] = 'Erreur lors de l\'applel de mass_delete.php. Il manque mass_delete dans les variables POST.'; -$lang['mass_delete_not_array'] = 'La variable POST mass_delete n\'est pas un tableau.'; -$lang['mass_delete_not_enabled'] = 'La suppression de masse n\'est pas activ. Veuillez l\'activer dans config.php avant de procder.'; -$lang['mass_deleting'] = 'Suppression de masse'; -$lang['mass_delete_progress'] = 'Progression de la suppression sur le serveur %s '; -$lang['malformed_mass_delete_array'] = 'Tableau mass_delete malform.'; -$lang['no_entries_to_delete'] = 'Vous n\'avez slectionn aucune entres supprimer.'; -$lang['deleting_dn'] = 'Suppression de %s'; -$lang['total_entries_failed'] = '%s sur %s entres n\'ont pu tre effaces.'; -$lang['all_entries_successful'] = 'Toutes les entres ont t supprimes avec succs.'; -$lang['confirm_mass_delete'] = 'Confirmer la suppression de masse de %s entres sur le serveur %s'; -$lang['yes_delete'] = 'Oui, supprimer !'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Vous ne pouvez renommer une entre qui a des sous-entres (cad, l\'opration de renommage n\'est pas autoris sur des entres non terminales)'; -$lang['no_rdn_change'] = 'Vous n\'avez pas modifi le RDN'; -$lang['invalid_rdn'] = 'Valeur RDN non valide'; -$lang['could_not_rename'] = 'Impossible de renommer l\'entre'; - -// Password checker -$lang['passwords_match'] = 'Correspondance du mot de passe !'; -$lang['passwords_do_not_match'] = 'Les mots de passe ne correspondent pas !'; -$lang['password_checker_tool'] = 'Outil de vrification de mot de passe'; -$lang['to'] = 'Vers'; - -// Templates -$lang['using'] = 'En utilisant le'; -$lang['switch_to'] = 'Vous pouvez basculer vers '; -$lang['default_template'] = 'modle par dfaut'; - -// template_config -$lang['user_account'] = 'Compte utilisateur (posixAccount)'; -$lang['address_book_inet'] = 'Entre de carnet d\'adresses (inetOrgPerson)'; -$lang['address_book_moz'] = 'Entre de carnet d\'adresses (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Entre d\'utilisateur Kolab'; -$lang['organizational_unit'] = 'Unit organisationnelle'; -$lang['new_organizational_unit'] = 'Nouvelle unit organisationnelle'; -$lang['organizational_role'] = 'Rle organisationnel'; -$lang['posix_group'] = 'Groupe Posix'; -$lang['samba_machine'] = 'Machine NT Samba'; -$lang['samba3_machine'] = 'Machine NT Samba 3'; -$lang['samba_user'] = 'Utilisateur Samba'; -$lang['samba3_user'] = 'Utilisateur Samba 3'; -$lang['samba3_group'] = 'Groupe de mappage Samba 3'; -$lang['dns_entry'] = 'Entre DNS'; -$lang['simple_sec_object'] = 'Object de scurit simple'; -$lang['courier_mail_account'] = 'Compte de messagerie'; -$lang['courier_mail_alias'] = 'Alias de compte de messagerie'; -$lang['ldap_alias'] = 'Alias LDAP'; -$lang['sendmail_cluster'] = 'Cluster Sendmail'; -$lang['sendmail_domain'] = 'Domaine Sendmail'; -$lang['sendmail_alias'] = 'Alias Sendmail'; -$lang['sendmail_virt_dom'] = 'Domaine virtuel Sendmail'; -$lang['sendmail_virt_users'] = 'Utilisateurs virtuels Sendmail'; -$lang['sendmail_relays'] = 'Relais Sendmail'; -$lang['custom'] = 'personnalis'; -$lang['samba_domain_name'] = 'Mon nom de domaine Samba'; -$lang['administrators'] = 'Administrateurs'; -$lang['users'] = 'Utilisateurs'; -$lang['guests'] = 'Invits'; -$lang['power_users'] = 'Utilisateurs avec pouvoir'; -$lang['account_ops'] = 'Oprateurs de comptes'; -$lang['server_ops'] = 'Oprateurs de serveurs'; -$lang['print_ops'] = 'Oprateurs d\'impression'; -$lang['backup_ops'] = 'Oprateurs de sauvegarde'; -$lang['replicator'] = 'Duplicateurs'; -$lang['unable_smb_passwords'] = ' Impossible de crer les mots de passe Samba. Veuillez vrifier la configuration dans template_config.php'; -$lang['err_smb_conf'] = 'Erreur : vous avez une erreur dans votre confguration Samba.'; -$lang['err_smb_no_name_sid'] = 'Erreur : un nom et un sid doivent tre fournit pour votre domaine Samba.'; -$lang['err_smb_no_name'] = 'Erreur : aucun nom fournit pour le domaine Samba.'; -$lang['err_smb_no_sid'] = 'Erreur : aucun sid fournit pour le domaine Samba.'; - -// Samba Account Template -$lang['samba_account'] = 'Compte Samba'; -$lang['samba_account_lcase'] = 'compte samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nouveau compte utilisateur'; -$lang['t_hint_customize'] = 'astuce : pour personnaliser ce modle, ditez le fichier templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nom'; -$lang['t_first_name'] = 'Prnom'; -$lang['t_last_name'] = 'Nom de famille'; -$lang['t_first'] = 'premier'; -$lang['t_last'] = 'dernier'; -$lang['t_state'] = 'tat'; -$lang['t_common_name'] = 'Nom commun'; -$lang['t_user_name'] = 'Nom d\'utilisateur'; -$lang['t_password'] = 'Mot de passe'; -$lang['t_encryption'] = 'Chiffrement'; -$lang['t_login_shell'] = 'Shell de connexion'; -$lang['t_home_dir'] = 'Dossier personnel'; -$lang['t_uid_number'] = 'UID'; -$lang['t_auto_det'] = '(dtermin automatiquement)'; -$lang['t_group'] = 'Groupe'; -$lang['t_gid_number'] = 'GID'; -$lang['t_uid'] = 'ID utilisateur'; -$lang['t_err_passwords'] = 'Vos mots de passe ne correspondent pas. Veuillez revenir et ressayer.'; -$lang['t_err_field_blank'] = 'Vous ne pouvez laisser %s vide. Veuillez revenir et ressayer.'; -$lang['t_err_field_num'] = 'Vous ne pouvez entrez que des valeurs numriques pour le champ %s. Veuillez revenir et ressayer.'; -$lang['t_err_bad_container'] = 'Le conteneur que vous avez spcifi (%s) n\'existe pas. Veuillez revenir et ressayer.'; -$lang['t_confirm_account_creation'] = 'Confirmer la cration du compte'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'Crer un compte'; -$lang['t_verify'] = 'Vrifier'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'Nouveau groupe Posix'; - -// New Address Template -$lang['t_new_address'] = 'Nouvelle entre de carnet d\'adresses'; -$lang['t_organization'] = 'Organisation'; -$lang['t_address'] = 'Adresse'; -$lang['t_city'] = 'Ville'; -$lang['t_postal_code'] = 'Code postal'; -$lang['t_street'] = 'Rue'; -$lang['t_work_phone'] = 'Tlphone (bureau)'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Mobile'; -$lang['t_email'] = 'Courriel'; -$lang['t_container'] = 'Conteneur'; -$lang['t_err_cn_blank'] = 'Vousne pouvez pas laissez le Nom commun vide. Veuiller revenir er ressayer.'; -$lang['t_confim_creation'] = 'Confirmer la cration de l\'entre :'; -$lang['t_create_address'] = 'Crer l\'adresse'; - -// default template -$lang['t_check_pass'] = 'Vrifier l\'adresse...'; -$lang['t_auto_submit'] = '(valuation automatique lors de la soumission.)'; - -// compare form -$lang['compare'] = 'Comparer'; -$lang['comparing'] = 'Compararaison des DNs suivants'; -$lang['compare_dn'] = 'Comparer un autre DN avec'; -$lang['with'] = 'avec '; -$lang['compf_source_dn'] = 'DN source'; -$lang['compf_dn_tooltip'] = 'Comparer cn DN avec un autre'; -$lang['switch_entry'] = 'Basculer l\'entre'; -$lang['no_value'] = 'Aucune valeur'; -$lang['compare_with'] = 'Comparer avec une autre entre'; -$lang['need_oclass'] = 'Vous avez besoin d\'un autre ObjectClass(es) pour ajouter cet attribut %s.'; - -// Time out page -$lang['session_timed_out_1'] = 'Votre session s\'est termin avec'; -$lang['session_timed_out_2'] = 'min. d\'inactivit. Vous avez t automatiquement dconnect.'; -$lang['log_back_in'] = 'Pour vous reconnecter, veuillez cliquer sur le lien suivant :'; -$lang['session_timed_out_tree'] = '(Session expire. Dconnexion automatique.)'; -$lang['timeout_at'] = 'L\'inactivit vous dconnectera %s'; -?> diff --git a/lang/hu.php b/lang/hu.php deleted file mode 100644 index 68efcc4..0000000 --- a/lang/hu.php +++ /dev/null @@ -1,556 +0,0 @@ - - * with help from SIPOS Agnes - * $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/hu.php,v 1.1 2004/05/23 21:12:03 i18phpldapadmin Exp $ - */ - -/* --- INSTRUCTIONS FOR TRANSLATORS --- - * - * If you want to write a new language file for your language, - * please submit the file on SourceForge: - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * Use the option "Check to Upload and Attach a File" at the bottom - * - * Thank you! - * - */ - -/* - * The $lang array contains all the strings that phpLDAPadmin uses. - * Each language file simply defines this aray with strings in its - * language. - */ - -// Search form -$lang['simple_search_form_str'] = 'Egyszerű keresési űrlap'; // 'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Részletes keresési űrlap'; //'Advanced Search Form'; -$lang['server'] = 'Kiszolgáló'; //'Server'; -$lang['search_for_entries_whose'] = 'Bejegyzések keresése ahol'; //'Search for entries whose'; -$lang['base_dn'] = 'Alap-DN'; //'Base DN'; -$lang['search_scope'] = 'A keresés hatásköre'; //'Search Scope'; -$lang['show_attributes'] = 'Megjelenítendő attribútumok'; //'Show Attributtes'; -$lang['Search'] = 'Keresés'; //'Search'; -$lang['predefined_search_str'] = 'Előre definiált keresés kiválasztása'; //'Select a predefined search'; -$lang['predefined_searches'] = 'Előre definiált keresések'; //'Predefined Searches'; -$lang['no_predefined_queries'] = 'Nincs keresés definiálva a config.php-ben.'; //'No queries have been defined in config.php.'; - -// Tree browser -$lang['request_new_feature'] = 'Új tulajdonság kérése'; //'Request a new feature'; -$lang['report_bug'] = 'Hiba jelentése'; //'Report a bug'; -$lang['schema'] = 'séma'; //'schema'; -$lang['search'] = 'keresés'; //'search'; -$lang['create'] = 'létrehozás'; //'create'; -$lang['info'] = 'infó'; //'info'; -$lang['import'] = 'import'; //'import'; -$lang['refresh'] = 'frissítés'; //'refresh'; -$lang['logout'] = 'kilépés'; //'logout'; -$lang['create_new'] = 'Új bejegyzés'; //'Create New'; -$lang['view_schema_for'] = 'Séma megtekintése:'; //'View schema for'; -$lang['refresh_expanded_containers'] = 'Az összes kiterjesztett tároló frissítése:'; //'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Új bejegyzés létrehozása:'; //'Create a new entry on'; -$lang['new'] = 'új'; //'new'; -$lang['view_server_info'] = 'A kiszolgáló információinak megtekintése'; //'View server-supplied information'; -$lang['import_from_ldif'] = 'LDIF-állományból bejegyzések importálása'; //'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Kilépés ebből a kiszolgálóból'; //'Logout of this server'; -$lang['logged_in_as'] = 'Belépve mint'; //'Logged in as: '; -$lang['read_only'] = 'csak olvasható'; //'read only'; -$lang['read_only_tooltip'] = 'A phpLDAPadmin adminisztrátora ezt az attribútumot csak olvashatóra állította'; //'This attribute has been flagged as read only by the phpLDAPadmin administrator'; -$lang['could_not_determine_root'] = 'Nem tudom megállapítani az LDAP-fa gyökerét.'; //'Could not determine the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Az LDAP-kiszolgálót úgy konfigurálták, hogy ne fedje föl az LDAP-fa gyökerét.'; //'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Kérem adja meg a config.php-ban'; //'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Új bejegyzés létrehozása:'; //'Create a new entry in'; -$lang['login_link'] = 'Belépés...'; //'Login...'; -$lang['login'] = 'belépés'; //'login'; - -// Entry display -$lang['delete_this_entry'] = 'A bejegyzés törlése'; //'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Ezt a döntést majd még meg kell erősíteni'; //'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'A bejegyzés másolása'; //'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Az objektum másolása más helyre új DN-nel és/vagy másik kiszolgálóra'; //'Copy this object to another location, a new DN, or another server'; -$lang['export'] = 'Exportálás'; //'Export'; -$lang['export_tooltip'] = 'Az objektum kiírása'; //'Save a dump of this object'; -$lang['export_subtree_tooltip'] = 'Az objektum és az összes gyermekének kiírása'; //'Save a dump of this object and all of its children'; -$lang['export_subtree'] = 'Részfa exportálása'; //'Export subtree'; -$lang['create_a_child_entry'] = 'Gyermekbejegyzés létrehozása'; //'Create a child entry'; -$lang['rename_entry'] = 'A bejegyzés átnevezése'; 'Rename Entry'; -$lang['rename'] = 'Átnevezés'; //'Rename'; -$lang['add'] = 'Hozzáadás'; //'Add'; -$lang['view'] = 'Megtekintés'; //'View'; -$lang['view_one_child'] = 'A gyermek megtekintése (1 darab)'; //'View 1 child'; -$lang['view_children'] = 'A gyermekek megtekintése (%s darab)'; //'View %s children'; -$lang['add_new_attribute'] = 'Új attribútum hozzáadása'; //'Add new attribute'; -$lang['add_new_objectclass'] = 'Új objektumosztály hozzáadása'; //'Add new ObjectClass'; -$lang['hide_internal_attrs'] = 'Belső attribútumok elrejtése'; //'Hide internal attributes'; -$lang['show_internal_attrs'] = 'Belső attribútumok megjelenítése'; //'Show internal attributes'; -$lang['attr_name_tooltip'] = 'Kattintással megjelenik a(z) %s attribútumtípus sémabeli definíciója'; //'Click to view the schema defintion for attribute type \'%s\''; -$lang['none'] = 'nincs'; //'none'; -$lang['no_internal_attributes'] = 'Nincs belső attribútum'; //'No internal attributes'; -$lang['no_attributes'] = 'A bejegyzésnek nincs attribútuma'; //'This entry has no attributes'; -$lang['save_changes'] = 'Változások mentése'; //'Save Changes'; -$lang['add_value'] = 'érték hozzáadása'; //'add value'; -$lang['add_value_tooltip'] = 'Érték hozzáadása a(z) %s attribútumhoz'; //'Add an additional value to attribute \'%s\''; -$lang['refresh_entry'] = 'Frissítés'; //'Refresh'; -$lang['refresh_this_entry'] = 'Bejegyzés frissítése'; //'Refresh this entry'; -$lang['delete_hint'] = 'Tipp: Az attribútum törléséhez előbb törölje a mezőt, majd kattintson a változtatások mentésére.'; //'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tipp: Az attribútum sémájának megtekintéséhez kattintson az attribútum nevére.'; //'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Módosult néhány attribútum (%s), s ezek kiemelve szerepelnek az alábbiakban.'; //'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Módosult egy attribútum (%s), s ez kiemelve szerepel az alábbiakban. '; //'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'A bejegyzés megtekintése csak olvasható üzemmódban.'; //'Viewing entry in read-only mode.'; -$lang['no_new_attrs_available'] = 'a bejegyzéshez nem tartozik új attribútum'; //'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'a bejegyzéshez nem tartozik új bináris attribútum'; //'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Bináris érték'; //'Binary value'; -$lang['add_new_binary_attr'] = 'Új bináris attribútum hozzáadása'; //'Add new binary attribute'; -$lang['alias_for'] = 'Megj.: A(z) %s egy álneve (aliasa) a(z) %s attribútumnak'; //'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'érték letöltése'; //'download value'; -$lang['delete_attribute'] = 'attribútum törlése'; //'delete attribute'; -$lang['true'] = 'igaz'; //'true'; -$lang['false'] = 'hamis'; //'false'; -$lang['none_remove_value'] = 'nincs, érték törése'; //'none, remove value'; -$lang['really_delete_attribute'] = 'Attribútum tényleges törlése'; //'Really delete attribute'; -$lang['add_new_value'] = 'Új érték hozzáadása'; //'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'A következő objektumosztályokat (objectClass) támogatja ez a kiszolgáló.'; //'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'A következő attribútumtípusokat (attributeType) támogatja ez a kiszolgáló.'; //'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'A következő illesztőszabályokat (matching rule) támogatja ez a kiszolgáló.'; //'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'A következő szintaxisokat (syntax) támogatja ez a kiszolgáló.'; //'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']= 'A kiszolgáló nem beszéli elég jól az LDAP-protokollt'; //'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']= 'Ez a PHP-verzió nem tudja szabályosan végrehajtani a keresést.'; //'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']= 'Vagy végül is a phpLDAPadmin nem tudja hogyan kell a sémát letölteni erről a kiszolgálóról.'; //'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Ugrás az objektumosztályhoz'; //'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Ugrás az attribútumtípushoz'; //'Jump to an attribute type'; -$lang['jump_to_matching_rule'] = 'Ugrás az illesztőszabályhoz'; //'Jump to a matching rule'; -$lang['schema_for_server'] = 'Séma:'; //'Schema for server'; -$lang['required_attrs'] = 'Kötelező attribútumok'; //'Required Attributes'; -$lang['optional_attrs'] = 'Opcionális attribútumok'; //'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Opcionális bináris attribútumok'; //'Optional Binary Attributes'; -$lang['OID'] = 'OID'; //'OID'; -$lang['aliases']='Álnevek (alias)'; //'Aliases'; -$lang['desc'] = 'Leírás'; //'Description'; -$lang['no_description'] = 'nincs leírás'; //'no description'; -$lang['name'] = 'Név'; //'Name'; -$lang['equality']='Egyenlőség'; //'Equality'; -$lang['is_obsolete'] = 'Ez az objektumosztály maradi'; //'This objectClass is obsolete.'; -$lang['inherits'] = 'Kitől öröklődik'; //'Inherits from'; -$lang['inherited_from'] = 'Kitől örökölte:'; //'Inherited from'; -$lang['parent_to'] = 'Kinek a szülője'; //'Parent to'; -$lang['jump_to_this_oclass'] = 'Ugrás ehhez az objektumosztály-definícióhoz'; //'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Illesztőszabály-OID'; //'Matching Rule OID'; -$lang['syntax_oid'] = 'Szintaxis-OID'; //'Syntax OID'; -$lang['not_applicable'] = 'nem alkalmazható'; //'not applicable'; -$lang['not_specified'] = 'nincs megadva'; //'not specified'; -$lang['character'] = 'karakter'; //'character'; -$lang['characters'] = 'karakter'; //'characters'; -$lang['used_by_objectclasses'] = 'Mely osztályok használják'; //'Used by objectClasses'; -$lang['used_by_attributes'] = 'Mely attribútumok használják'; //'Used by Attributes'; -$lang['maximum_length'] = 'Maximális hossz'; //'Maximum Length'; -$lang['attributes'] = 'Attribútumtípusok';//'Attribute Types'; -$lang['syntaxes'] = 'Szintaxisok'; //'Syntaxes'; -$lang['matchingrules'] = 'Illesztőszabályok'; //'Matching Rules'; -$lang['oid'] = 'OID'; //'OID'; -$lang['obsolete'] = 'Maradi'; //'Obsolete'; -$lang['ordering'] = 'Sorbarendezés'; //'Ordering'; -$lang['substring_rule'] = 'Alfüzér-szabály'; //'Substring Rule'; -$lang['single_valued'] = 'Egyértékű'; //'Single Valued'; -$lang['collective'] = 'Kollektív'; //'Collective'; -$lang['user_modification'] = 'Felhasználó-módosítás'; //'User Modification'; -$lang['usage'] = 'Használat'; //'Usage'; -$lang['could_not_retrieve_schema_from'] = 'Nem tudom a sémát elérni,'; //'Could not retrieve schema from'; -$lang['type']='Típus'; //'Type'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'A(z) %s bejegyzés sikeresen törölve.'; //'Entry %s deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'A DN-t meg kell adni'; //'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Nem tudom a(z) %s bejegyzést törölni'; //'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Nincs ilyen bejegyzés: %s'; //'No such entry: %s'; -$lang['delete_dn'] = 'A(z) %s törlése'; //'Delete %s'; -$lang['permanently_delete_children'] = 'Az összes gyermeket is töröljem?'; //'Permanently delete all children also?'; -$lang['entry_is_root_sub_tree'] = 'Ez a bejegyzés egy %s bejegyzést tartalmazó részfa gyökere.'; //'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'bejegyzések megtekintése'; //'view entries'; -$lang['confirm_recursive_delete'] = 'Rekurzív módon törölhetem ezt a bejegyzést, és mind a(z) %s gyermekét. Lásd alul a bejegyzéseket, amelyeket törölnék. Óhajtja törölni?'; //'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Megj.: Ez a törlés veszélyes lehet. A műveletet nem lehet visszavonni!'; //'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Mind a(z) %s objektum törlése'; //'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'A rekurzív törlés folyamatban'; //'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'A(z) %s bejegyzés és a részfa sikeresen törölve.'; //'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'A(z) %s bejegyzés törlése sikertelen'; //'Failed to delete entry %s'; -$lang['list_of_entries_to_be_deleted'] = 'A törlendő bejegyzések listája:'; //'List of entries to be deleted:'; -$lang['sure_permanent_delete_object']='Biztos törölni óhajtja ezt az objektumot?'; //'Are you sure you want to permanently delete this object?'; -$lang['dn'] = 'DN'; //'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'A(z) %s attribútum csak olvasható a phpLDAPadmin konfigurációja szerint.'; //'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Nincs megadva az attribútumnév.'; //'No attribute name specified.'; -$lang['no_dn_specified'] = 'Nincs megadva a DN'; //'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Az attribútumértéket üresen hagyta. Kérem lépjen vissza és próbálja újra.'; //'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Nem tudtam az attribútumot hozzáadni.'; //'Failed to add the attribute.'; -$lang['file_empty'] = 'A kiválasztott állomány vagy üres, vagy nem létezik. Kérem lépjen vissza és próbálja újra.'; //'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Biztonsági hiba: a feltöltendő állomány veszélyes elemeket tartalmazhat.'; //'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'A PHP-konfiguráció tiltja az állományok feltöltését. Kérem ellenőrizze a php.ini állományt.'; //'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'A feltöltött állomány túl nagy. Kérem ellenőrizze a php.ini állományban a upload_max_size beállítást.'; //'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'A kiválasztott állomány csak részben töltődött föl valószínűleg hálózati hiba miatt.'; //'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Maximális állományméret: %s'; //'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'A módosítás sikerült!'; //'Modification successful!'; -$lang['change_password_new_login'] = 'Mivel megváltoztatta a jelszót most újra be kell jelentkeznie az új jelszóval.'; //'Since you changed your password, you must now login again with your new password.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Új kötelező attribútumok'; //'New Required Attributes'; -$lang['requires_to_add'] = 'Ez a művelet megközeveteli hogy hozzáadjon'; //'This action requires you to add'; -$lang['new_attributes'] = 'új attribútumo(ka)t'; //'new attributes'; -$lang['new_required_attrs_instructions'] = 'Az új objektumosztály hozzáadásához'; //'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'kell megadni ezen az űrlapon.'; //'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Objektumosztály és attribútumok hozzáadása'; //'Add ObjectClass and Attributes'; -$lang['objectclasses'] = 'Objektumosztályok'; //'ObjectClasses'; - -// General -$lang['chooser_link_tooltip'] = 'Kattintásra egy új ablak jön föl, amelyben egy bejegyzést választhat a DN alapján.'; //'Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Nem lehet módosítani mikor a kiszolgáló csak olvasható üzemmódban van'; //'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Hibás kiszolgáló-azonosító'; //'Bad server id'; -$lang['not_enough_login_info'] = 'Kevés az adat a belépéshez. Kérem ellenőrizze a konfigurációt.'; //'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Nem tudok csatlakozni az LDAP-kiszolgálóhoz.'; //'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'Nem tudok csatlakozni a(z) %s géphez a(z) %s porton.'; //'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nem tudom végrehajtani az ldap_mod_add műveletet.'; //'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Hibás kiszolgáló-azonosító: '; //'Bad server_id: '; -$lang['success'] = 'Siker'; //'Success'; -$lang['server_colon_pare'] = 'Kiszolgáló: '; //'Server: '; -$lang['look_in'] = 'Keresés itt: '; //'Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Nincs megadva a kiszolgáló-azonosító a keresési füzérben!'; //'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Nincs megadva a DN a keresési füzérben!'; //'No DN specified in query string!'; -$lang['back_up_p'] = 'Vissza...'; //'Back Up...'; -$lang['no_entries'] = 'nics bejegyzés'; //'no entries'; -$lang['not_logged_in'] = 'Nincs belépve'; //'Not logged in'; -$lang['could_not_det_base_dn'] = 'Nem tudom az alap-DN-t meghatározni'; //'Could not determine base DN'; -$lang['please_report_this_as_a_bug'] = 'Kérjük jelentse ezt a hibát.'; //'Please report this as a bug.'; -$lang['reasons_for_error'] = 'Ez több dolog miatt történhet, például:'; //'This could happen for several reasons, the most probable of which are:'; -$lang['yes'] = 'Igen'; //'Yes'; -$lang['no'] = 'Nem'; //'No'; -$lang['go'] = 'Mehet'; //'Go'; -$lang['delete'] = 'Törlés'; //'Delete'; -$lang['back'] = 'Vissza'; //'Back'; -$lang['object'] = 'objektum'; //'object'; -$lang['delete_all'] = 'Minden törlése'; //'Delete all'; -$lang['url_bug_report'] = 'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; //'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'tipp'; //'hint'; -$lang['bug'] = 'hiba'; //'bug'; -$lang['warning'] = 'figyelmeztetés'; //'warning'; -$lang['light'] = 'lámpa'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Tovább >>'; //'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Új'; //'Add new'; -$lang['value_to'] = 'érték, RDN:'; //'value to'; -$lang['distinguished_name'] = 'Megkülönböztető név (DN)'; //'Distinguished Name'; -$lang['current_list_of'] = 'Az aktuális lista'; //'Current list of'; -$lang['values_for_attribute'] = 'értéket tartalmaz. Attribútum:'; //'values for attribute'; -$lang['inappropriate_matching_note'] = 'Megj.: Ha nincs beállítva EGYENLŐSÉG-szabály ehhez az attribútumhoz a kiszolgáló az ún. inappropriate matching hibát adja vissza.'; //'Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Adja meg a kívánt értéket:'; //'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Megj.: Lehet hogy új kötelező attribútumokat kell bevinnie ehhez az objektumosztályhoz'; //'Note: you may be required to enter new attributes that this objectClass requires'; -$lang['syntax'] = 'Szintaxis'; //'Syntax'; - -//copy.php -$lang['copy_server_read_only'] = 'Nem lehet módosítást eszközölni amíg a kiszolgáló csak olvasható üzemmódban van'; //'You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Üresen hagyta a cél-DN mezejét'; //'You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'A célbejegyzés (%s) már létezik.'; //'The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'A cél-tároló (%s) nem létezik.'; //'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'A forrás- és cél-DN ugyanaz.'; //'The source and destination DN are the same.'; -$lang['copy_copying'] = 'Másolás: '; //'Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekurzív másolás folyamatban'; //'Recursive copy progress'; -$lang['copy_building_snapshot'] = 'A fáról készítek egy pillanatfelvételt a másoláshoz... '; //'Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'A másolás sikerült! Szeretné-e '; //'Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'megtekinteni az új bejegyzést'; //'view the new entry'; -$lang['copy_failed'] = 'A DN másolása nem sikerült: '; //'Failed to copy DN: '; - -//edit.php -$lang['missing_template_file'] = 'Figyelem: hiányzik a mintaállomány.'; //'Warning: missing template file, '; -$lang['using_default'] = 'Az alapértelmezés használata.'; //'Using default.'; -$lang['template'] = 'Minta'; //'Template'; -$lang['must_choose_template'] = 'Választania kell egy mintát.'; //'You must choose a template'; -$lang['invalid_template'] = 'A(z) %s hibás minta.'; //'%s is an invalid template'; -$lang['using_template'] = 'használt minta:'; //'using template'; -$lang['go_to_dn'] = 'Menj a(z) %s DN-hez'; //'Go to %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Másolás: '; //'Copy '; -$lang['copyf_to_new_object'] = '; az új objektum'; //'to a new object'; -$lang['copyf_dest_dn'] = 'Cél-DN'; //'Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'A másolással létrejövő új bejegyzés teljes DN-je'; //'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Célkiszolgáló'; //'Destination Server'; -$lang['copyf_note'] = 'Tipp: A kiszolgálók közötti másolás csak akkor működik, ha nincs séma-sértés'; //'Hint: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Az objektum összes gyermekeinek rekurzív másolása.'; //'Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Rekurzív másolás'; //'Recursive copy'; -$lang['filter'] = 'Szűrő'; //'Filter'; -$lang['filter_tooltip'] = 'Rekurzív másolásnál csak azokat másolja le, amelyekre illik ez a szűrő'; //'When performing a recursive copy, only copy those entries which match this filter'; - -//create.php -$lang['create_required_attribute'] = 'A(z) %s kötelező attribútum értékét üresen hagyta.'; //'You left the value blank for required attribute (%s).'; -$lang['redirecting'] = 'Átirányítás...'; //'Redirecting...'; -$lang['here'] = 'ide'; //'here'; -$lang['create_could_not_add'] = 'Nem tudom az objektumot létrehozni a kiszolgálón.'; //'Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Objektum létrehozása'; //'Create Object'; -$lang['createf_choose_temp'] = 'Válasszon mintát'; //'Choose a template'; -$lang['createf_select_temp'] = 'Válasszon mintát a létrehozási folyamathoz'; //'Select a template for the creation process'; -$lang['createf_proceed'] = 'Tovább'; //'Proceed'; -$lang['rdn_field_blank'] = 'Az RDN-mezőt üresen hagyta'; //'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'A(z) %s tároló nem létezik. Kérem próbálja újra.'; //'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Nem választott objektumosztályt ehhez az objektumhoz. Kérem lépjen vissza és válasszon egyet.'; //'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Tipp: Legalább egy strukturális objektumosztályt kell választania'; //'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Kiszolgáló:'; //'On server'; -$lang['ctemplate_no_template'] = 'Nincs megadva a minta a POST-változóban.'; //'No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'A konfiguráció egy kezelőt ad meg:'; //'Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'ehhez a mintához. De ez a kezelő nincs a mintakönyvtárban.'; //'for this template. But, this handler does not exist in the templates/creation directory.'; -$lang['create_step1'] = 'Első lépés: Név és objektumosztály(ok)'; //'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Második lépés: Adja meg az attribútumokat és értékeiket'; //'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Viszonylagos megkülönböztető név (RDN)'; //'Relative Distinguished Name'; -$lang['rdn'] = 'RDN'; //'RDN'; -$lang['rdn_example'] = '(példa: cn=ÚjEmber)'; //'(example: cn=MyNewPerson)'; -$lang['container'] = 'Tároló'; //'Container'; -$lang['alias_for'] = 'A(z) %s álneve a(z) %s attribútumnévnek'; //'Alias for %s'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nem lépett be a kiválasztott kiszolgálóba, s így nem tudok keresni.'; //'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Kattintson ide a belépési űrlap eléréséhez'; //'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Ismeretlen kritérium-opció: '; //'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Ha kritériumot kíván adni a listához szerkessze meg a search.php-t, hogy kezelje le azokat. Most kilépek.'; //'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'A megtalált bejegyzések: '; //'Entries found: '; -$lang['filter_performed'] = 'Használt szűrő: '; //'Filter performed: '; -$lang['search_duration'] = 'A phpLDAPadmin'; //'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 's alatt hajtotta végre a keresést'; //'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'A keresés hatásköre'; //'The scope in which to search'; -$lang['scope_sub'] = 'Az egész részfa'; //'Sub (entire subtree)'; -$lang['scope_one'] = 'Egy szint az alap-DN alatt'; //'One (one level beneath base)'; -$lang['scope_base'] = 'Csak az alap-DN'; //'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Szabványos LDAP-szűrő, pl. (&(sn=Kovács)(givenname=István))'; //'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Keresőszűrő'; //'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'A megjelenítendő találatok attribútumainak vesszővel elválasztott listája'; //'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'Attribútumok megjelenítése'; //'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Bejegyzések keresése, ahol:'; //'Search for entries whose:'; -$lang['equals'] = 'egyenlő'; //'equals'; -$lang['starts with'] = 'kezdet'; //'starts with'; -$lang['contains'] = 'tartalmaz'; //'contains'; -$lang['ends with'] = 'végződés'; //'ends with'; -$lang['sounds like'] = 'hangzás'; //'sounds like'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nem tudom az információt letölteni a kiszolgálóról'; //'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Kiszolgáló-infó: '; //'Server info for: '; -$lang['server_reports_following'] = 'A kiszolgáló ezeket az információkat közölte önmagáról'; //'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'A kiszolgálónak nincs mit elküldenie'; //'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'Az update_array hibés. Ez a phpLDAPadmin hibája lehet, kérem jelentse.'; //'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Nem tudom elvégezni az ldap_modify műveletet.'; //'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Érvényesíteni kívánja a változásokat?'; //'Do you want to make these changes?'; -$lang['attribute'] = 'Attribútumok'; //'Attribute'; -$lang['old_value'] = 'Régi érték'; //'Old Value'; -$lang['new_value'] = 'Új érték'; //'New Value'; -$lang['attr_deleted'] = '[attribútum törölve]'; //'[attribute deleted]'; -$lang['commit'] = 'Érvényesítés'; //'Commit'; -$lang['cancel'] = 'Mégsem'; //'Cancel'; -$lang['you_made_no_changes'] = 'Nem történt változtatás'; //'You made no changes'; -$lang['go_back'] = 'Vissza'; //'Go back'; - -// welcome.php -$lang['welcome_note'] = 'A bal oldali menüvel tájékozódhat a programban'; //'Use the menu to the left to navigate'; -$lang['credits'] = 'Köszönetnyilvánítás'; //'Credits'; -$lang['changelog'] = 'Változtatások naplója'; //'ChangeLog'; -$lang['donate'] = 'Adományozzon'; //'Donate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nem biztonságos állománynév: '; //'Unsafe file name: '; -$lang['no_such_file'] = 'Nincs ilyen állomány: '; //'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Az auto_uid_numbers engedélyezett a konfigurációban a(z) %s kiszolgálóhoz, de az auto_uid_number_mechanism nincs megadva. Kérem írja be ezt az értéket.'; -//'You have enabled auto_uid_numbers for %s in your configuration, -// but you have not specified the auto_uid_number_mechanism. Please correct -// this problem.'; -$lang['uidpool_not_set'] = 'A konfigurációban az auto_uid_number_mechanism értéke uidpool a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_uid_pool_dn értékét. Kérem írja be ezt az értéket.'; -//'You specified the "auto_uid_number_mechanism" as "uidpool" -// in your configuration for server %s, but you did not specify the -// audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'A konfigurációban megadott uidPool nem létezik (%s).'; -//'It appears that the uidPool you specified in your configuration ("%s") -// does not exist.'; -$lang['specified_uidpool'] = 'A konfigurációban az auto_uid_number_mechanism értéke search a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_search_base értékét. Kérem írja be ezt az értéket.'; -//'You specified the "auto_uid_number_mechanism" as "search" in your -// configuration for server %s, but you did not specify the -// "auto_uid_number_search_base". Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'A bind művelet sikertelen a(z) %s kiszolgálóhoz az auto_uid használatával. Kérem ellenőrizze a konfigurációt. '; //'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'A konfigurációban érvénytelen auto_uid_search_base van megadva a(z) %s kiszolgálóhoz.'; //'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'Érvénytelen értéket adott meg a auto_uid_number_mechanism-nak (%s). Csak uidpool és search a megengedett érték.'; -//'You specified an invalid value for auto_uid_number_mechanism ("%s") -// in your configration. Only "uidpool" and "search" are valid. -// Please correct this problem.'; -$lang['error_auth_type_config'] = 'Csak a session, cookie és config a megengedett értékek az auth_type-nak a konfigurációban. A megadott helytelen érték: %s.'; -//'Error: You have an error in your config file. The only three allowed values -// for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', -// which is not allowed. '; -$lang['php_install_not_supports_tls'] = 'Ez a PHP nem támogatja a TLS-t.'; //'Your PHP install does not support TLS.'; -$lang['could_not_start_tls'] = 'Nem tudom a TLS-t elindítani. Kérem ellenőrizze az LDAP-kiszolgálót és a konfigurációt.'; //'Could not start TLS. Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Az anonymous bind művelet nem sikerült.'; //'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'A bind művelet sikertelen az LDAP-kiszolgálóhoz.'; //'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Anonymous bind'; //'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Helytelen felhasználónév vagy jelszó. Kérem próbálja újra.'; //'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Átirányítás... kérem kattintson ide, ha semmi sem történik.'; //'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'A(z) %s kiszolgálóhoz sikeresen bejelentkezett.'; //'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Nem tudok sütit beállítani.'; //'Could not set cookie.'; -$lang['ldap_said'] = 'Az LDAP ezt mondta: %s'; //'LDAP said: %s'; -$lang['ferror_error'] = 'Hiba'; //'Error'; -$lang['fbrowse'] = 'böngészés'; //'browse'; -$lang['delete_photo'] = 'Fotó törlése'; //'Delete Photo'; -$lang['install_not_support_blowfish'] = 'Ez a PHP nem támogatja a blowfish titkosítást.'; //'Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Ez a PHP nem támogatja az md5crypt titkosítást.'; //'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Ez a PHP nem tartalmazza az mhash() függvényt. Nem tudok SHA hash-eket kezelni.'; //'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'A jpegPhoto hibás
    '; //'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Hibaszám: %s (%s)'; //'Error number: %s (%s)'; -$lang['ferror_discription'] = 'Leírás: %s

    '; //'Description: %s

    '; -$lang['ferror_number_short'] = 'Hibaszám: %s

    '; //'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Leírás: (nincs leírás)
    '; //'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Ez a phpLDAPadmin hibája? Ha igen, kérem jelentse.'; //'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Ismeretlen hibaszám: '; //'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Egy kisebb hibát talált a phpLDAPadmin-ban!
    Hiba:%s (%s)
    Állomány:%s. sor %s, hívó %s
    Verziók:PLA: %s, PHP: %s, SAPI: %s -
    Web-kiszolgáló:%s
    - Kérem jelentse a hibát, kattintson ide!.

    '; -//'
    -//
    -// You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -//
    Web server:%s
    -// Please report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'Gratulálunk! Hibát talált a phpLDAPadmin-ban.

    - - - - - - - - - - -
    Hiba:%s
    Szint:%s
    Állomány:%s
    Sor:%s
    Hívó:%s
    PLA Verzió:%s
    PHP Verzió:%s
    PHP SAPI:%s
    Web-kiszolgáló:%s
    -
    - Kérjük jelentse a hibát, kattintson alulra!'; -//'Congratulations! You found a bug in phpLDAPadmin.

    -// -// -// -// -// -// -// -// -// -// -//
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -//
    -// Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIF-állomány importálása'; //'Import LDIF File'; -$lang['select_ldif_file'] = 'LDIF-állomány kiválasztása'; //'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Tovább >>'; //'Proceed >>'; -$lang['dont_stop_on_errors'] = 'Ne állj meg hiba esetén'; //'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Hozzáadás...'; //'Adding...'; -$lang['delete_action'] = 'Törlés...'; //'Deleting...'; -$lang['rename_action'] = 'Átnevezés'; //'Renaming...'; -$lang['modify_action'] = 'Módosítás...'; //'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Nem találtam verziószámot, feltételeztem, hogy 1-es.'; //'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Érvényes DN-sor kell.'; //'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'A feltöltött állomány hiányzik.'; //'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Nem adott meg LDIF-állományt. Kérem próbálja újra.'; //'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'A feltöltött LDIF-állomány üres.'; //'Uploaded LDIF file is empty.'; -$lang['empty'] = 'üres'; //'empty'; -$lang['file'] = 'Állomány'; //'File'; -$lang['number_bytes'] = '%s byte'; //'%s bytes'; - -$lang['failed'] = 'Sikertelen'; //'Failed'; -$lang['ldif_parse_error'] = 'LDIF-pásztázási hiba'; //'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Nem tudom ezt az objektumot hozzáadni:'; //'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Nem tudom ezt az objektumot átnevezni:'; //'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Nem tudom ezt az objektumot törölni:'; //'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Nem tudom ezt az objektumot módosítani:'; //'Could not modify object:'; -$lang['ldif_line_number'] = 'Sorszám:'; //'Line Number:'; -$lang['ldif_line'] = 'Sor:'; //'Line:'; - -// Exports -$lang['export_format'] = 'Export-formátum'; //'Export format'; -$lang['line_ends'] = 'Sorvégek'; //'Line ends'; -$lang['must_choose_export_format'] = 'Az export formátumát ki kell választani.'; //'You must choose an export format.'; -$lang['invalid_export_format'] = 'Az export formátuma érvénytelen'; //'Invalid export format'; -$lang['no_exporter_found'] = 'Nincs használható exportáló.'; //'No available exporter found.'; -$lang['error_performing_search'] = 'Keresés közben hibába akadtam.'; //'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'A(z) %s és %s közé eső találatok megjelenítése.'; //'Showing results %s through %s.'; -$lang['searching'] = 'Folyik a keresés...'; //'Searching...'; -$lang['size_limit_exceeded'] = 'Figyelem: a keresési méret korlátja túllépve.'; //'Notice, search size limit exceeded.'; -$lang['entry'] = 'Bejegyzés'; //'Entry'; -$lang['ldif_export_for_dn'] = 'A(z) %s LDIF exportja'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'A phpLDAPadmin generálta, dátum: %s'; //'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Bejegyzések száma összesen'; //'Total Entries'; -$lang['dsml_export_for_dn'] = 'A(z) %s DSLM exportja'; //'DSLM Export for: %s'; - -// logins -$lang['could_not_find_user'] = 'Nem találtam meg a(z) %s felhasználót'; //'Could not find a user "%s"'; -$lang['password_blank'] = 'A jelszó üresen maradt.'; //'You left the password blank.'; -$lang['login_cancelled'] = 'A bejelentkezést megszakították.'; //'Login cancelled.'; -$lang['no_one_logged_in'] = 'Arra a kiszolgálóra nincs bejelentkezve senki.'; //'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Nem sikerült kilépni.'; //'Could not logout.'; -$lang['unknown_auth_type'] = 'Ismeretlen auth_type: %s'; //'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'A kilépés sikerült a(z) %s kiszolgálóból'; //'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Azonosítsa magát a(z) %s kiszolgálón'; //'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Figyelem: A kapcsolat a bögészővel titkosítatlan.'; //'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Nem https kapcsolatot használ. A böngésző a bejelentkezés adatait sima szöveg formátumban fogja továbbítani'; //'You are not using \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Bejelentkezési DN'; //'Login DN'; -$lang['user_name'] = 'A felhasználó neve'; //'User name'; -$lang['password'] = 'Jelszó'; //'Password'; -$lang['authenticate'] = 'Azonosítás'; //'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Bejegyzés kiválasztása'; //'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'Konfigurálnia kell a phpLDAPadmint a config.php állomány szerkesztésével, amihez mintául a config.php.example szolgálhat.'; //'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Csak olvasható üzemmódban a törlés nem működik.'; //'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Hiba a mass_delete.php hívásakor. A POST változók közül hiányzik a mass_delete.'; //'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'A mass_delete POST változó nem tömb.'; //'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'A tömeges törlés nincs engedélyezve. Mielőtt folytatná, állítsa át az enable_mass_delete értékét config.php állományban.'; //'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Tömeges törlés'; //'Mass Deleting'; -$lang['mass_delete_progress'] = 'A törlési művelet a(z) %s kiszolgálón'; //'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'A tömeges törléshez megadott tömb formátuma helytelen'; //'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Nem választotta ki a törlendő bejegyzés(eke)t. '; //'You did not select any entries to delete.'; -$lang['deleting_dn'] = '%s törölve'; //'Deleting %s'; -$lang['total_entries_failed'] = '%s darab bejegyzés törlése nem sikerült a(z) %s darabból.'; //'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Az összes bejegyzés törlése sikerült.'; //'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Hagyja jóvá a(z) %s bejegyzés tömeges törlését a(z) %s kiszolgálóról'; //'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Igen, törlődjön'; //'Yes, delete!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nem nevezhet át olyan bejegyzést aminek gyermekei vannak (azaz az átnevezés művelete csak levél-bejegyzéseken megengedett)'; //'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Nem változtatta meg az RDN-t'; //'You did not change the RDN'; -$lang['invalid_rdn'] = 'Érvénytelen RDN érték'; //'Invalid RDN value'; -$lang['could_not_rename'] = 'A bejegyzést nem sikerült átnevezni'; //'Could not rename the entry'; - -?> diff --git a/lang/it.php b/lang/it.php deleted file mode 100644 index 814eedf..0000000 --- a/lang/it.php +++ /dev/null @@ -1,141 +0,0 @@ -Per cancellare un attributo, svuota il campo testo e clicca salva.'; -$lang['viewing_read_only'] = 'Stai guardando la voce in modalit sola-lettura.'; -$lang['change_entry_rdn'] = 'Cambia l\' RDN di questa voce'; -$lang['no_new_attrs_available'] = 'nessun nuovo attributo disponibile per questa voce'; -$lang['binary_value'] = 'Valore binario'; -$lang['add_new_binary_attr'] = 'Aggiungi un Nuovo Attributo Binario'; -$lang['add_new_binary_attr_tooltip'] = 'Aggiungi un nuovo attributo/valore binario da un file'; -$lang['alias_for'] = 'Alias per'; -$lang['download_value'] = 'valore del download'; -$lang['delete_attribute'] = 'cancella l\'attributo'; -$lang['true'] = 'vero'; -$lang['false'] = 'falso'; -$lang['none_remove_value'] = 'nessuno, rimuovi il valore'; -$lang['really_delete_attribute'] = 'Cancella definitivamente il valore'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Le seguenti objectClasses sono supportate da questo server LDAP'; -$lang['the_following_attributes'] = 'Le seguenti attributeTypes sono supportate da questo server LDAP'; -$lang['the_following_matching'] = 'Le seguenti matching rules sono supportate da questo server LDAP'; -$lang['the_following_syntaxes'] = 'Le seguenti syntaxes sono supportate da questo server LDAP'; -$lang['jump_to_objectclass'] = 'Vai a una objectClass'; -$lang['jump_to_attr'] = 'Vai a un attributo'; -$lang['schema_for_server'] = 'Schema per il server'; -$lang['required_attrs'] = 'Attributi Richiesti'; -$lang['optional_attrs'] = 'Attributi Opzionali'; -$lang['OID'] = 'OID'; -$lang['desc'] = 'Descrizione'; -$lang['is_obsolete'] = 'Questa objectClass obsoleta'; -$lang['inherits'] = 'Eredita da'; -$lang['jump_to_this_oclass'] = 'Vai a questa definizione della objectClass'; -$lang['matching_rule_oid'] = 'Regola Corrispondente OID'; -$lang['syntax_oid'] = 'Sintassi OID'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nuovi Attributi Richiesti'; -$lang['requires_to_add'] = 'Questa azione richiede che tu aggiunga'; -$lang['new_attributes'] = 'nuovi attributi'; -$lang['new_required_attrs_instructions'] = 'Istruzioni: Per aggiungere questa objectClass a questa voce, devi specificare:'; -$lang['that_this_oclass_requires'] = 'che questa objectClass richiede. Puoi farlo in questo modulo.'; -$lang['add_oclass_and_attrs'] = 'Aggiungi ObjectClass e Attributi'; - -// General -$lang['chooser_link_tooltip'] = 'Clicca per aprire una finestra di dialogo per la selezione grafica di una voce (DN)'; -$lang['no_updates_in_read_only_mode'] = 'Non puoi operare aggiornamenti mentre il server in modalit sola-lettura'; -$lang['bad_server_id'] = 'Server id errata'; -$lang['not_enough_login_info'] = 'Non abbastanza informazioni per collegarsi al server. Per piacere controlla la tua configurazione.'; -$lang['could_not_connect'] = 'Non ho potuto collegarmi al server LDAP.'; -$lang['could_not_perform_ldap_mod_add'] = 'Non ho potuto eseguire l\'operazione ldap_mod_add.'; - -// Add value form -$lang['add_new'] = 'Aggiungi nuovo'; -$lang['value_to'] = 'valore a'; -$lang['server'] = 'Server'; -$lang['distinguished_name'] = 'Distinguished Name'; -$lang['current_list_of'] = 'Lista corrente di'; -$lang['values_for_attribute'] = 'valori per l\'attributo'; -$lang['inappropriate_matching_note'] = 'Nota: Tu riceverai un errore "corrispondenza inappropiata" se non hai
    una regola EQUALITY per questo attributo sul tuo server LDAP.'; -$lang['enter_value_to_add'] = 'Inserisci il valore che vorresti aggiungere:'; -$lang['new_required_attrs_note'] = 'Nota: ti potrebbe essere chiesto di inserire nuovi attributi
    che questa objectClass richiede.'; -$lang['syntax'] = 'Sintassi'; - -?> diff --git a/lang/ja.php b/lang/ja.php deleted file mode 100644 index 748d68c..0000000 --- a/lang/ja.php +++ /dev/null @@ -1,694 +0,0 @@ -不都合によるかもしれません。あるいは、あなたの LDAP サーバーは、LDAP クライアントが RootDSE にアクセスするのを防ぐアクセス制御指定をしています。'; -$lang['server_info_for'] = 'サーバー情報: '; -$lang['server_reports_following'] = 'サーバーは自分自身で次の情報を報告しました。'; -$lang['nothing_to_report'] = 'このサーバーはなにも報告するものはありません。'; - -//update.php -$lang['update_array_malformed'] = 'update_array がおかしいです。これは phpLDAPadmin のバグかもしれませんので、報告してください。'; -$lang['could_not_perform_ldap_modify'] = 'ldap_modify 操作が実行できませんでした。'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = '変更をしたいですか?'; -$lang['attribute'] = '属性'; -$lang['old_value'] = '古い値'; -$lang['new_value'] = '新しい値'; -$lang['attr_deleted'] = '[属性を削除しました]'; -$lang['commit'] = 'コミット'; -$lang['cancel'] = '取り消し'; -$lang['you_made_no_changes'] = '変更はありません'; -$lang['go_back'] = '戻る'; -$lang['unable_create_samba_pass'] = 'samba パスワードを作成できませんでした。template_conf.php の設定を確認してください。'; - -// welcome.php -$lang['welcome_note'] = '左へのメニューを使用して操作します'; -$lang['credits'] = 'クレジット'; -$lang['changelog'] = '変更履歴'; -$lang['documentation'] = 'ドキュメント'; -$lang['donate'] = '寄附'; -$lang['pla_logo'] = 'phpLDAPadmin ロゴ'; - -// Donate.php -$lang['donation_instructions'] = 'phpLDAPadmin プロジェクトに資金を寄贈するためには、PayPal ボタンのうちの 1 つを下に使用してください。'; -$lang['donate_amount'] = '%s を寄贈'; - -$lang['purge_cache'] = 'キャッシュ破棄'; -$lang['no_cache_to_purge'] = '破棄するキャッシュはありませんでした。'; -$lang['done_purging_caches'] = '%s バイトのキャッシュを破棄しました。'; -$lang['purge_cache_tooltip'] = 'サーバースキーマを含む、phpLDAPadmin のすべてのキャッシュを破棄しました。'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = '安全でないファイル名: '; -$lang['no_such_file'] = 'ファイルがありません: '; - -//function.php -$lang['auto_update_not_setup'] = '設定ファイルの %sYou の auto_uid_numbers が有効ですが、 - auto_uid_number_mechanism が指定されていません。 - この問題を修正してください。.'; -$lang['uidpool_not_set'] = 'サーバー %s の設定で、"auto_uid_number_mechanism" を "uidpool" に指定していますが、 - audo_uid_number_uid_pool_dn を指定していません。 - 続行する前にそれを指定してください'; -$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s") - does not exist.'; -$lang['specified_uidpool'] = 'サーバー %s の設定で「search」に「auto_uid_number_mechanism」を指定しました。 - しかし「auto_uid_number_search_base」が指定されていません。 - これを実行前に指定してください。'; -$lang['auto_uid_invalid_credential'] = 'Unable to bind to %s with your with auto_uid credentials. 設定ファイルを確認してください。'; -$lang['bad_auto_uid_search_base'] = 'phpLDAPadmin の設定で、サーバー %s に無効な auto_uid_search_base が指定されました'; -$lang['auto_uid_invalid_value'] = '設定ファイルの auto_uid_number_mechanism の指定が間違った値("%s")です。 - "uidpool" と "search" のみ有効です。 - この問題を修正してください。'; -$lang['error_auth_type_config'] = 'エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type は - 「session」「cookie」「config」のみっつの値のみ許可されていますが、 - 許可されない「%s」が入力されました。'; -$lang['unique_attrs_invalid_credential'] = 'Unable to bind to %s with your with unique_attrs credentials. 設定ファイルを確認してください。'; -$lang['unique_attr_failed'] = '%s (%s) の %s への追加の試みは許可されていません
    その属性/値は別のエントリが所有しています。

    そのエントリを検索などするしょう。'; -$lang['php_install_not_supports_tls'] = 'インストールされている PHP は TLS をサポートしていません。'; -$lang['could_not_start_tls'] = 'TLS を開始できません。LDAP サーバーの設定を確認してください。'; -$lang['could_not_bind_anon'] = 'サーバーに匿名接続できませんでした。'; -$lang['could_not_bind'] = 'LDAP サーバーに接続できませんでした。'; -$lang['anonymous_bind'] = '匿名接続'; -$lang['bad_user_name_or_password'] = 'ユーザー名かパスワードがおかしいです。もう一度行ってください。'; -$lang['redirecting_click_if_nothing_happens'] = 'リダイレクト中... もし何も起こらなかったらここをクリックしてください。'; -$lang['successfully_logged_in_to_server'] = 'サーバー %s へのログインに成功しました'; -$lang['could_not_set_cookie'] = 'cookie を設定できませんでした。'; -$lang['ldap_said'] = 'LDAP の回答: %s'; -$lang['ferror_error'] = 'エラー'; -$lang['fbrowse'] = '閲覧'; -$lang['delete_photo'] = '写真削除'; -$lang['install_not_support_blowfish'] = 'インストールされた PHP は blowfish 暗号化をサポートしていません。'; -$lang['install_not_support_md5crypt'] = 'インストールされた PHP は md5crypt 暗号化をサポートしていません。'; -$lang['install_no_mash'] = 'インストールされた PHP は mhash() をサポートしていません。SHA ハッシュをすることができません。'; -$lang['jpeg_contains_errors'] = 'エラーを含む jpeg 写真
    '; -$lang['ferror_number'] = 'エラー番号: %s (%s)'; -$lang['ferror_discription'] = '説明: %s

    '; -$lang['ferror_number_short'] = 'エラー番号: %s

    '; -$lang['ferror_discription_short'] = '説明: (利用可能な説明がありませんでした)
    '; -$lang['ferror_submit_bug'] = 'これは phpLDAPadmin の不都合ですか? もしそうなら 報告 してください。'; -$lang['ferror_unrecognized_num'] = '未承認のエラー番号: '; -$lang['ferror_nonfatil_bug'] = '

    - - -
    - 致命的でない phpLDAPadmin の不都合を発見しました!
    エラー:%s (%s)
    ファイル:%s%s, caller %s
    バージョン:PLA: %s, PHP: %s, SAPI: %s -
    ウェブサーバー:%s
    -
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'おめでとうございます! phpLDAPadmin で不都合を発見しました。

    - - - - - - - - - - -
    エラー:%s
    レベル:%s
    ファイル:%s
    行:%s
    Caller:%s
    PLA バージョン:%s
    PHP バージョン:%s
    PHP SAPI:%s
    Web サーバー:%s
    -
    - 下記をクリックしてこの不都合を報告してください!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIF ファイルインポート'; -$lang['select_ldif_file'] = 'LDIF ファイルを選択:'; -$lang['dont_stop_on_errors'] = 'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = '追加中...'; -$lang['delete_action'] = '削除中...'; -$lang['rename_action'] = '名称変更中...'; -$lang['modify_action'] = '修正中...'; -$lang['warning_no_ldif_version_found'] = 'バージョンが見つかりません。1 と仮定します。'; -$lang['valid_dn_line_required'] = '有効な dn 行が必要です。'; -$lang['missing_uploaded_file'] = 'アップロードファイルが見当たりません。'; -$lang['no_ldif_file_specified'] = 'LDIF ファイルが指定されていません。もう一度行ってください。'; -$lang['ldif_file_empty'] = 'アップロードされた LDIF ファイルが空です。'; -$lang['empty'] = '空'; -$lang['file'] = 'ファイル'; -$lang['number_bytes'] = '%s バイト'; - -$lang['failed'] = '失敗しました'; -$lang['ldif_parse_error'] = 'LDIF 解析エラー'; -$lang['ldif_could_not_add_object'] = 'オブジェクトを追加できませんでした:'; -$lang['ldif_could_not_rename_object'] = 'オブジェクトを名称変更できませんでした:'; -$lang['ldif_could_not_delete_object'] = 'オブジェクトを削除できませんでした:'; -$lang['ldif_could_not_modify_object'] = 'オブジェクトを修正できませんでした:'; -$lang['ldif_line_number'] = '行番号:'; -$lang['ldif_line'] = '行:'; - -// Exports -$lang['export_format'] = 'エクスポート書式'; -$lang['line_ends'] = 'Line ends'; -$lang['must_choose_export_format'] = 'エクスポート書式を選ばなければなりません。'; -$lang['invalid_export_format'] = '無効なエクスポート書式'; -$lang['no_exporter_found'] = 'No available exporter found.'; -$lang['error_performing_search'] = '検索実行中にエラーに遭遇しました。'; -$lang['showing_results_x_through_y'] = 'Showing results %s through %s.'; -$lang['searching'] = '検索中...'; -$lang['size_limit_exceeded'] = '通知です。検索サイズが制限を越えました。'; -$lang['entry'] = 'エントリ'; -$lang['ldif_export_for_dn'] = 'LDIF エクスポート: %s'; -$lang['generated_on_date'] = '%s に phpLDAPadmin ( http://www.phpldapadmin.com/ ) で生成しました。'; -$lang['total_entries'] = '総エントリ'; -$lang['dsml_export_for_dn'] = 'DSLM エクスポート: %s'; -$lang['include_system_attrs'] = 'システム属性を含む'; -$lang['csv_spreadsheet'] = 'CSV (スプレッドシート)'; - -// logins -$lang['password_blank'] = 'パスワードが空です。'; -$lang['no_one_logged_in'] = '誰もそのサーバーにログインしていません。'; -$lang['could_not_logout'] = 'ログアウトできませんでした。'; -$lang['unknown_auth_type'] = '未知の auth_type: %s'; -$lang['logged_out_successfully'] = 'サーバー %s からログアウトに成功しました'; -$lang['authenticate_to_server'] = 'サーバー %s へ認証'; -$lang['warning_this_web_connection_is_unencrypted'] = '警告: このウェブ接続は暗号化されていません。'; -$lang['not_using_https'] = 'あなたは \'https\' を使っていません。ログイン情報はブラウザからクリアテキストで送信されます、'; -$lang['login_dn'] = 'ログイン DN'; -$lang['user_name'] = 'ユーザー名'; -$lang['password'] = 'パスワード'; -$lang['authenticate'] = 'Authenticate'; -$lang['login_not_allowed'] = 'すみません、この LDAP サーバーと phpLDAPadmin を使用することを許可していません。'; - -// Entry browser -$lang['entry_chooser_title'] = 'エントリ選択'; - -// Index page -$lang['need_to_configure'] = 'phpLDAPadmin の設定を必要があります。ファイル \'config.php\' の変更をしてください。サンプル設定ファイルとして \'config.php.example\' を提供しています。'; - -// Mass deletes -$lang['no_deletes_in_read_only'] = '読み込み専用モードでは削除は許可されていません。'; -$lang['error_calling_mass_delete'] = 'mass_delete.php 呼び出し中のエラーです。POST 値から mass_delete が見かりません。'; -$lang['mass_delete_not_array'] = 'mass_delete POST 辺りが配列ではありません。'; -$lang['mass_delete_not_enabled'] = '一括削除が有効ではありません。次に進む前に config.php でそれを有効にしてください。'; -$lang['mass_deleting'] = '一括削除中'; -$lang['mass_delete_progress'] = 'サーバー "%s" から削除中'; -$lang['malformed_mass_delete_array'] = 'おかしい mass_delete 配列です。'; -$lang['no_entries_to_delete'] = '削除するエントリが選択されていません。'; -$lang['deleting_dn'] = '%s 削除中'; -$lang['total_entries_failed'] = '%s 個のエントリが %s 個のエントリ中で削除できませんでした。'; -$lang['all_entries_successful'] = 'すべてのエントリの削除に成功しました。'; -$lang['confirm_mass_delete'] = '%s エントリをサーバー %s から一括削除の確認'; -$lang['yes_delete'] = 'はい, 削除します!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = '子エントリを持つエントリは名称変更できません (例えば名称変更の操作は子エントリでなければ許可されていない)'; -$lang['no_rdn_change'] = 'RDN を変更しませんでした'; -$lang['invalid_rdn'] = '無効な RDN 値'; -$lang['could_not_rename'] = 'エントリの名称変更ができませんでした'; - -// Password checker -$lang['passwords_match'] = 'パスワードが一致しました!'; -$lang['passwords_do_not_match'] = 'パスワードが一致しません!'; -$lang['password_checker_tool'] = 'パスワードチェックツール'; -$lang['to'] = 'To'; - -// Templates -$lang['using'] = '次を使用:'; -$lang['switch_to'] = 'You may switch to the '; -$lang['default_template'] = 'デフォルトテンプレート'; - -// template_config -$lang['user_account'] = 'ユーザーアカウント (posixAccount)'; -$lang['address_book_inet'] = 'アドレス帳エントリ (inetOrgPerson)'; -$lang['address_book_moz'] = 'アドレス帳エントリ (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Kolab ユーザーエントリ'; -$lang['organizational_unit'] = '所属組織'; -$lang['new_organizational_unit'] = '新規所属組織'; -$lang['organizational_role'] = '所属職務'; -$lang['posix_group'] = 'Posix グループ'; -$lang['samba_machine'] = 'Samba NT マシン'; -$lang['samba3_machine'] = 'Samba 3 NT マシン'; -$lang['samba_user'] = 'Samba ユーザー'; -$lang['samba3_user'] = 'Samba 3 ユーザー'; -$lang['samba3_group'] = 'Samba 3 グループマップ'; -$lang['dns_entry'] = 'DNS エントリ'; -$lang['simple_sec_object'] = '簡易セキュリティオブジェクト'; -$lang['courier_mail_account'] = 'Courier メールアカウント'; -$lang['courier_mail_alias'] = 'Courier メール別名'; -$lang['ldap_alias'] = 'LDAP 別名'; -$lang['sendmail_cluster'] = 'Sendmail クラスター'; -$lang['sendmail_domain'] = 'Sendmail ドメイン'; -$lang['sendmail_alias'] = 'Sendmail エイリアス'; -$lang['sendmail_virt_dom'] = 'Sendmail 仮想ドメイン'; -$lang['sendmail_virt_users'] = 'Sendmail 仮想ユーザー'; -$lang['sendmail_relays'] = 'Sendmail リレー'; -$lang['custom'] = 'カスタム'; -$lang['samba_domain_name'] = '自分の Samba ドメイン名'; -$lang['administrators'] = 'Administrators'; -$lang['users'] = 'Users'; -$lang['guests'] = 'Guests'; -$lang['power_users'] = 'Power Users'; -$lang['account_ops'] = 'Account Operators'; -$lang['server_ops'] = 'Server Operators'; -$lang['print_ops'] = 'Print Operators'; -$lang['backup_ops'] = 'backup Operators'; -$lang['replicator'] = 'Replicator'; -$lang['unable_smb_passwords'] = ' Samba のパスワードを作成できませんでした。template_config.php の設定を確認してください。'; -$lang['err_smb_conf'] = 'エラー: samba の設定にエラーがあります。'; -$lang['err_smb_no_name_sid'] = 'エラー: samba ドメインの名前および sid を提供する必要があります。'; -$lang['err_smb_no_name'] = 'エラー: 名前は samba ドメインに提供されませんでした。'; -$lang['err_smb_no_sid'] = 'エラー: sid は samba ドメインに提供されませんでした。'; - -// Samba Account Template -$lang['samba_account'] = 'Samba アカウント'; -$lang['samba_account_lcase'] = 'samba アカウント'; - -// New User (Posix) Account -$lang['t_new_user_account'] = '新規ユーザーアカウント'; -$lang['t_hint_customize'] = 'ヒント: このテンプレートをカスタマイズする場合、ファイル templates/creation/new_user_template.php を編集します。'; -$lang['t_name'] = '名前'; -$lang['t_first_name'] = '名前'; -$lang['t_last_name'] = '苗字'; -$lang['t_first'] = 'first'; -$lang['t_last'] = 'last'; -$lang['t_state'] = 'State'; -$lang['t_common_name'] = '共通名'; -$lang['t_user_name'] = 'ユーザー名'; -$lang['t_password'] = 'パスワード'; -$lang['t_encryption'] = '暗号化'; -$lang['t_login_shell'] = 'ログインシェル'; -$lang['t_home_dir'] = 'ホームディレクトリ'; -$lang['t_uid_number'] = 'UID 番号'; -$lang['t_auto_det'] = '(自動採決)'; -$lang['t_group'] = 'グループ'; -$lang['t_gid_number'] = 'GID 番号'; -$lang['t_uid'] = 'ユーザー ID'; -$lang['t_err_passwords'] = 'パスワードが一致しません。戻ってからもう一度試してください。'; -$lang['t_err_field_blank'] = '%s ブランクを残すことはできません。戻ってからもう一度試してください。'; -$lang['t_err_field_num'] = 'フィールド %s は数値のみ入力でできます。戻ってからもう一度試してください。'; -$lang['t_err_bad_container'] = '指定した内容(%s)は存在しません。戻ってからもう一度試してください。'; -$lang['t_confirm_account_creation'] = 'アカウント作成確認'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'アカウント作成'; -$lang['t_verify'] = '確認'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = '新規 Posix グループ'; - -// New Address Template -$lang['t_new_address'] = '新規アドレス帳エントリ'; -$lang['t_organization'] = '組織'; -$lang['t_address'] = '住所'; -$lang['t_city'] = '都市'; -$lang['t_postal_code'] = '郵便番号'; -$lang['t_street'] = '築町村'; -$lang['t_work_phone'] = '業務電話'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = '携帯電話'; -$lang['t_email'] = '電子メール'; -$lang['t_container'] = 'コンテナー'; -$lang['t_err_cn_blank'] = '一般名を空にすることはできません。戻ってからもう一度試してください。'; -$lang['t_confim_creation'] = 'エントリ作成の確認:'; -$lang['t_create_address'] = 'アドレス作成'; - -// default template -$lang['t_check_pass'] = 'パスワード検査...'; -$lang['t_auto_submit'] = '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = '比較'; -$lang['comparing'] = '次の DN と比較中'; -$lang['compare_dn'] = '次の DN と別の DN を比較する:'; -$lang['with'] = 'with '; -$lang['compf_source_dn'] = '元の DN'; -$lang['compf_dn_tooltip'] = 'この DN と別のものを比較'; -$lang['switch_entry'] = 'エントリの切り替え'; -$lang['no_value'] = '値がありません'; -$lang['compare_with'] = '別のエントリと比較'; -$lang['need_oclass'] = 'この属性 %s を追加するには次の ObjectClass のうちひとつを必要とします。'; - -// Time out page -$lang['session_timed_out_1'] = 'セッションは'; -$lang['session_timed_out_2'] = '分活動しなかったのでタイムアウトです。自動でログアウトしました。'; -$lang['log_back_in'] = '再ログインするには次のリンクをクリックしてください:'; -$lang['session_timed_out_tree'] = '(セッションはタイムアウトです。自動でログアウトしました)'; -$lang['timeout_at'] = '%s は活動的でなかったのでログアウト'; -?> \ No newline at end of file diff --git a/lang/nl.php b/lang/nl.php deleted file mode 100644 index 89d8a09..0000000 --- a/lang/nl.php +++ /dev/null @@ -1,337 +0,0 @@ - - * Commentaar gaarne naar bovenstaand adres sturen a.u.b. - */ - -// Search form -$lang['simple_search_form_str'] = 'eenvoudig zoeken';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'uitgebreid zoeken';//'Advanced Search Form'; -$lang['server'] = 'server';//'Server'; -$lang['search_for_entries_whose'] = 'zoek naar velden die';//'Search for entries whose'; -$lang['base_dn'] = 'base DN';//'Base DN'; -$lang['search_scope'] = 'zoekbereik';//'Search Scope'; -$lang['search_ filter'] = 'zoekfilter';//'Search Filter'; -$lang['show_attributes'] = 'laat Attributen zien';//'Show Attributtes'; -$lang['Search'] = 'zoeken';//'Search'; -$lang['equals'] = 'gelijk aan';//'equals'; -$lang['starts_with'] = 'begint met';//'starts with'; -$lang['contains'] = 'bevat';//'contains'; -$lang['ends_with'] = 'eindigt met';//'ends with'; -$lang['sounds_like'] = 'klinkt als';//'sounds like'; - -// Tree browser -$lang['request_new_feature'] = 'verzoek nieuwe feature';//'Request a new feature'; -$lang['see_open_requests'] = 'feature verzoeken inzien';//'see open requests'; -$lang['report_bug'] = 'rapporteer een bug';//'Report a bug'; -$lang['see_open_bugs'] = 'buglijst inzien';//'see open bugs'; -$lang['schema'] = 'schema';//'schema'; -$lang['search'] = 'zoeken';//'search'; -$lang['refresh'] = 'vernieuwen';//'refresh'; -$lang['create'] = 'aanmaken';//'create'; -$lang['info'] = 'info';//'info'; -$lang['import'] = 'importeer';//'import'; -$lang['logout'] = 'uitloggen';//'logout'; -$lang['create_new'] = 'aanmaken';//'Create New'; -$lang['view_schema_for'] = 'schema inzien voor';//'View schema for'; -$lang['refresh_expanded_containers'] = 'vernieuw alle uitgeklapte containers voor';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'nieuw veld aanmaken in';//'Create a new entry on'; -$lang['view_server_info'] = 'server informatie inzien';//'View server-supplied information'; -$lang['import_from_ldif'] = 'importeer LDIF bestand';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'bij deze server uitloggen';//'Logout of this server'; -$lang['logged_in_as'] = 'ingelogd als: ';//'Logged in as: '; -$lang['read_only'] = 'alleen lezen';//'read only'; -$lang['could_not_determine_root'] = 'kan de root van LDAP structuur niet bepalen.';//'Could not determin the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'kan de root van LDAP structuur niet bepalen';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'in config.php aangeven a.u.b.';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'nieuw veld aanmaken in';//'Create a new entry in'; - -// Entry display -$lang['delete_this_entry'] = 'veld verwijderen';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'bevestiging zal worden gevraagd voor deze beslissing';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'dit veld kopieren';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'kopieer dit object naar een andere plaats, een niuewe DN of naar een andere server';//'Copy this object to another location, a new DN, or another server'; -$lang['export_to_ldif'] = 'exporteren naar LDIF';//'Export to LDIF'; -$lang['export_to_ldif_tooltip'] = 'maak LDIF dump van dit object';//'Save an LDIF dump of this object'; -$lang['export_subtree_to_ldif_tooltip'] = 'maak LDIF dump van dit object plus alle onderliggende objecten';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree_to_ldif'] = 'exporteer deze subvelden naar LDIF';//'Export subtree to LDIF'; -$lang['export_mac'] = 'Macintosh regeleinden';//'Macintosh style line ends'; -$lang['export_win'] = 'Windows regeleinden';//'Windows style line ends'; -$lang['export_unix'] = 'Unix regeleinden';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'subveld aanmaken';//'Create a child entry'; -$lang['add_a_jpeg_photo'] = 'jpeg foto toevoegen';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'veld hernoemen';//'Rename Entry'; -$lang['rename'] = 'hernoemen';//'Rename'; -$lang['add'] = 'toevoegen';//'Add'; -$lang['view'] = 'inzien';//'View'; -$lang['add_new_attribute'] = 'attribuut toevoegen';//'Add New Attribute'; -$lang['add_new_attribute_tooltip'] = 'nieuw attribuut toevoegen/waarde toekennen';// 'Add a new attribute/value to this entry'; -$lang['internal_attributes'] = 'interne attributen';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'interne attributen verbergen';//'Hide internal attributes'; -$lang['show_internal_attrs'] = 'interne attributen laten zien';//'Show internal attributes'; -$lang['internal_attrs_tooltip'] = 'automatisch ingestelde attributen';//'Attributes set automatically by the system'; -$lang['entry_attributes'] = 'attributen veld';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'klik hier om de schemadefinitie van attribuuttype \'%s\' te bekijken';//'Click to view the schema defintion for attribute type \'%s\''; -$lang['click_to_display'] = 'klik om te bekijken';//'click to display'; -$lang['hidden'] = 'verborgen';//'hidden'; -$lang['none'] = 'geen';//'none'; -$lang['save_changes'] = 'veranderingen opslaan';//'Save Changes'; -$lang['add_value'] = 'waarde toevoegen';//'add value'; -$lang['add_value_tooltip'] = 'voeg een extra waarde toe aan dit attribuut';//'Add an additional value to this attribute'; -$lang['refresh_entry'] = 'vernieuwen';// 'Refresh'; -$lang['refresh_this_entry'] = 'dit veld vernieuwen';//'Refresh this entry'; -$lang['delete_hint'] = 'tip: om een attribuut te verwijderen, maak deze leeg en sla hem op';//'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tip: om het schema voor een attribuut te bekijken, klik op de attribuutnaam';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'sommige attributen (%s) zijn gewijzigd en worden ge-highlight weergegeven.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'een attribuut (%s) is gewijzigd en wordt ge-highlight weergegeven';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'veld bekijken (alleen-lezen)';//'Viewing entry in read-only mode.'; -$lang['change_entry_rdn'] = 'verander de RDN van dit veld';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'geen nieuwe attributen beschikbaar voor dit veld';//'no new attributes available for this entry'; -$lang['binary_value'] = 'binaire waarde';//'Binary value'; -$lang['add_new_binary_attr'] = 'nieuwe binair attribuut toevoegen';//'Add New Binary Attribute'; -$lang['add_new_binary_attr_tooltip'] = 'lees binair attribuut in vanuit een bestand';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'alias voor';//'Alias for'; -$lang['download_value'] = 'waarde downloaden';//'download value'; -$lang['delete_attribute'] = 'attribuut verwijderen';//'delete attribute'; -$lang['true'] = 'waar';//'true'; -$lang['false'] = 'onwaar';//'false'; -$lang['none_remove_value'] = 'niets, verwijder waarde';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'dit attribuut echt verwijderen';//'Really delete attribute'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Deze LDAP server ondersteunt de volgende objectClasses.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Deze LDAP server ondersteunt de volgende attributeTypes.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Deze LDAP server ondersteunt de volgende zoekregels.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Deze LDAP server ondersteunt de volgende syntaxen.';//'The following syntaxes are supported by this LDAP server.'; -$lang['jump_to_objectclass'] = 'ga naar objectClass';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'ga naar een attribuut';//'Jump to an attribute'; -$lang['schema_for_server'] = 'schema voor server';//'Schema for server'; -$lang['required_attrs'] = 'vereiste attributen';//'Required Attributes'; -$lang['optional_attrs'] = 'niet vereiste attributen';//'Optional Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['desc'] = 'omschrijving';//'Description'; -$lang['name'] = 'naam';//'Name'; -$lang['is_obsolete'] = 'deze objectClass is verouderd';//'This objectClass is obsolete'; -$lang['inherits'] = 'afgeleid van';//'Inherits'; -$lang['jump_to_this_oclass'] = 'ga naar objectClass definitie';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'overeenkomen met OID regel';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax OID';//'Syntax OID'; -$lang['not_applicable'] = 'niet van toepassing';//'not applicable'; -$lang['not_specified'] = 'niet gespecificeerd';//not specified'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'dit veld \'%s\' succesvol verwijderd';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'U moet een DN aangeven.';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'kan dit veld niet verwijderen: %s';//'Could not delete the entry: %s'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'nieuwe benodigde attributen';//'New Required Attributes'; -$lang['requires_to_add'] = 'voor deze actie moet worden toegevoegd:';//'This action requires you to add'; -$lang['new_attributes'] = 'nieuw attribuut';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instructies: om deze objectClass toe te voegen, moet u nog specificeren ';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'dat deze objectClass nodig heeft. U kunt dit in dit formulier doen.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'objectClass en attributen toevoegen';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'klik om grafisch een veld te kiezen (DN)';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'U kunt niet opslaan als de server alleen lezen is';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'ongeldig server ID';//'Bad server id'; -$lang['not_enough_login_info'] = 'Onvoldoende informatie om in te kunnen loggen. Controleer de configuratie.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Kan LDAP server niet vinden.';//'Could not connect to LDAP server.'; -$lang['could_not_perform_ldap_mod_add'] = 'Kan geen ldap_mod_add uitvoeren.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'ongeldig server_ID:';//"Bad server_id: '; -$lang['success'] = 'succes';//"Success'; -$lang['server_colon_pare'] = 'server: ';//"Server: '; -$lang['look_in'] = 'bekijken: ';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'geen server ID meegegeven';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'geen DN meegeven';//'No DN specified in query string!'; -$lang['back_up_p'] = 'backup...';//"Back Up...'; -$lang['no_entries'] = 'geen velden';//"no entries'; -$lang['not_logged_in'] = 'niet ingelogd';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'kan de basis-DN niet bepalen';//"Could not determine base DN'; - - -// Add value form -$lang['add_new'] = 'nieuw toevoegen';//'Add new'; -$lang['value_to'] = 'waarde';//'value to'; -$lang['server'] = 'server';//'Server'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Distinguished Name';// 'Distinguished Name'; -$lang['current_list_of'] = 'huidige lijst van';//'Current list of'; -$lang['values_for_attribute'] = 'waarden voor attributen';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Info: U zult een "inappropriate matching" melding krijgen, indien u niet
    ' . //'Note: You will get an "inappropriate matching" error if you have not
    ' . -'een EQUALITY regel op de LDAP Server voor dit attribuut ingesteld heeft.';//'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'geef de waarde die u wilt toevoegen:';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Info: U kunt verzocht worden nieuwe attributen, die voor deze objectClass verplicht zijn, in te voeren.';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'syntax';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'U kunt niet opslaan als de server alleen lezen is';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'de bestemmings DN is leeg';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'het veld (%s) bestaat al.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'het doel-veld (%s) bestaat niet.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'origineel DN en doel DN zijn hetzelfde';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'kopieren';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'bezig met recursief kopieren';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'bezig met het aanmaken van een snapshot van de boomstructuur... ';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieren succesvol! Wit u dan';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'het nieuwe veld bekijken';//"view the new entry'; -$lang['copy_failed'] = 'Kopieren van DN mislukt: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Waarschuwing: kan de template file niet vinden';//'Warning: missing template file, '; -$lang['using_default'] = 'standaardinstelling gebruiken';//'Using default.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopieren';//"Copy '; -$lang['copyf_to_new_object'] = 'naar een nieuw Objekt';//"to a new object'; -$lang['copyf_dest_dn'] = 'doel DN';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'De complete DN die aangemaakt wordt bij het kopieren van het bron-veld.';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'bestemmings server';//"Destination Server'; -$lang['copyf_note'] = 'Info: kopieren tussen twee servers gaat alleen maar goped als er geen schema problemen zijn';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Recursief kopieren van alle sub-velden';//"Recursively copy all children of this object as well.'; - -//create.php -$lang['create_required_attribute'] = 'Fout. U heeft een verplicht veld leeggelaten.';//"Error, you left the value blank for required attribute '; -$lang['create_redirecting'] = 'omleiden';//"Redirecting'; -$lang['create_here'] = 'hier';//"here'; -$lang['create_could_not_add'] = 'kan het object niet toevoegen op de LDAP server.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'object aanmaken';//"Create Object'; -$lang['createf_choose_temp'] = 'kies een template';//"Choose a template'; -$lang['createf_select_temp'] = 'kies een template voor dit object';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'verder';//"Proceed'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'op server';//"On server'; -$lang['ctemplate_no_template'] = 'geen template gespecifieerd in de POST variabelen';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'uw configuratie specificeert een routine';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'in deze template. Maar deze routine bestaat niet in de \'templates/creation\' directory.';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'u bent nog niet ingelogd op de geselecteerde server, dus u kunt geen zoekopdrachten geven.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klik hier om in te loggen';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Als u uw eigen crteria toe wilt voegen aan de lijst, dient u search.php te bewerken. Sluiten.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'gevonden velden: ';//'Entries found: '; -$lang['filter_performed'] = 'toegepast filter: ';//'Filter performed: '; -$lang['search_duration'] = 'zoeken door phpLDAPadmin duurde';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'seconden';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'zoekbereik';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (de hele tak)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (een laag diep)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (alleen de basis)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP zoekfilter. Voorbeeld.: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'zoekfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'komma gescheiden lijst van de attributen.';//'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'attributen laten zien';//'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'zoek naar velden waarvoor:';//'Search for entries whose:'; -$lang['equals'] = 'gelijk is aan';//'equals'; -$lang['starts with'] = 'begint met';//'starts with'; -$lang['contains'] = 'bevat';//'contains'; -$lang['ends with'] = 'eindigt met';//'ends with'; -$lang['sounds like'] = 'klinkt als';//'sounds like'; -$lang['predefined_search_str'] = 'of een van deze lijst uitlezen';//'or select a predefined search'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'kan geen LDAP van de server krijgen';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Server info voor: ';//'Server info for: '; -$lang['server_reports_following'] = 'De server geeft de volgende informatie over zichzelf';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'De server heeft niets te melden';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'De update_array is niet goed. Dat kan een phpLDAPadmin bug zijn. Laat het ons weten!';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Kan ldap_modify niet uitvoeren.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Deze veranderingen doorvoeren?';//'Do you want to make these changes?'; -$lang['attribute'] = 'attribuut';//'Attribute'; -$lang['old_value'] = 'oude waarde';//'Old Value'; -$lang['new_value'] = 'nieuwe waarde';//'New Value'; -$lang['attr_deleted'] = '[attribuut verwijderd]';//'[attribute deleted]'; -$lang['commit'] = 'uitvoeren';//'Commit'; -$lang['cancel'] = 'annuleren';//'Cancel'; -$lang['you_made_no_changes'] = 'U heeft geen veranderingen gemaakt.';//'You made no changes'; -$lang['go_back'] = 'terug';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Gebruik het linkermenu om te navigeren.';//'Use the menu to the left to navigate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'onveilige bestandsnaam: ';//'Unsafe file name: '; -$lang['no_such_file'] = 'Bestand bestaat niet: ';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'auto_uid_numbers is geactiveerd (%s, maar niet het mechanisme (auto_uid_number_mechanism). U dient dit alsnog te doen.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Het mechanisme auto_uid_number_mechanism is als uidpool voor server %s vastgelegd, maar niet de auto_uid_number_uid_pool_dn. U dient dit alsnog te doen.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; - -$lang['uidpool_not_exist'] = 'De uidPool die gespecificeerd is in de configuratie bestaat niet.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; - -$lang['specified_uidpool'] = 'De auto_uid_number_mechanism is als search in de configuratie voor de server %s bepaald, maar de waarde auto_uid_number_search_base niet. U dient dit alsnog te doen.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; - -$lang['auto_uid_invalid_value'] = 'Ongeldige waarde voor auto_uid_number_mechanism(%s). Alleen uidpool und search zijn geldig. Gaarne de fout herstellen ';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Fout: Er zit een fout inde configuratiefile (config.php). De enige twee waarden voor \'auth_type\' in de $servers sectie zijn: \'config\' of \'form\'. U heeft er nu %s in staan en dat kan niet.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['php_install_not_supports_tls'] = 'Uw installatie ondersteunt geen TLS.';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Kan TLS niet starten.
    Controleer de LDAP-Server-configuratie.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['auth_type_not_valid'] = 'Fout in de configuratiefile: auth_type %s is niet geldig'; //"You have an error in your config file. auth_type of %s is not valid.'; -$lang['ldap_said'] = 'LDAP zegt: %s

    ';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Fout';//"Error'; -$lang['fbrowse'] = 'navigeer';//"browse'; -$lang['delete_photo'] = 'Foto verwijderen';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Uw PHP-Versie ondersteunt geen Blowfish versleuteling.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_no_mash'] = 'Uw PHP-Versie ondersteunt de functie mhash() niet, dus de SHA-hash is niet mogelijk.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Foto (jpg) bevat fouten';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Foutnummer: %s(%s)

    ';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Omschrijving: %s

    ';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Foutnummer:%s

    ';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Omschrijving: (geen omschrijving beschikbaar)
    ';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Is het een phpLDAPadmin fout? Als dat zo is, dan gaarne een bugreport invullen';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Onbekend foutnummer:';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '
    Een niet fatale fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%sRegel:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = '
    - - - - - -
    Gefeliciteerd! Een fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    ';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -// extra strings: - -$lang['login_link'] = 'Login...'; -$lang['import_ldif_file_title'] = 'Import file from LDIF'; -$lang['select_ldif_file'] = 'Selecteer een LDIF file:'; -$lang['select_ldif_file_proceed']= 'Ga door >>'; -$lang['add_action'] = 'Toevoegen...'; -$lang['delete_action'] = 'Verwijderen...'; -$lang['rename_action'] = 'Hernoemen...'; -$lang['modify_action'] = 'Veranderen...'; -$lang['failed'] = 'mislukt'; -$lang['ldif_parse_error'] = 'LDIF inleesfout'; -$lang['ldif_could_not_add_object'] = 'Kan object niet toevoegen:'; -$lang['ldif_could_not_rename_object'] = 'Kan object niet hernoemen'; -$lang['ldif_could_not_delete_object'] = 'Kan object niet verwijderen'; -$lang['ldif_could_not_modify_object'] = 'Kan object niet wijzigen'; -$lang['ldif_line_number'] = 'regelnummer: '; -$lang['ldif_line'] = 'regel: '; - -$lang['credits'] = 'Credits';//'Credits'; -$lang['changelog'] = 'Changelog';//'ChangeLog'; -$lang['documentation'] = 'Documentatie';// 'Documentation'; - - -?> diff --git a/lang/pl.php b/lang/pl.php deleted file mode 100644 index 48a4753..0000000 --- a/lang/pl.php +++ /dev/null @@ -1,683 +0,0 @@ - Czy na pewno chcesz to zrobi ?'; -$lang['confirm_recursive_delete_note'] = 'Uwaga: ta operacja jest potencjalnie bardzo niebezpieczna i wykonujesz j na wasne ryzyko. Ta akcja nie moe zosta cofnita. We pod uwag aliasy, owoania i inne rzeczy, ktre mog spowodowa problemy.'; -$lang['delete_all_x_objects'] = 'Usu wszystkie %s obiekty/w'; -$lang['recursive_delete_progress'] = 'Postp rekursywnego usuwania'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Wpis %s oraz poddrzewo zostay pomylnie usunite.'; -$lang['failed_to_delete_entry'] = 'Bd podczas usuwania wpisu %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Atrybut "%s" jest oznaczony jako tylko-do-odczytu w konfiguracji phpLDAPadmin.'; -$lang['no_attr_specified'] = 'Nie okrelono nazwy atrybutu.'; -$lang['no_dn_specified'] = 'Nie okrelono DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Pozostawie/a pust warto atrybutu. Prosz wrci i sprbowa ponownie.'; -$lang['failed_to_add_attr'] = 'Bd podczas dodawania atrybutu.'; -$lang['file_empty'] = 'Wybrany plik jest pusty lub nie istnieje. Wr i sprbuj ponownie.'; -$lang['invalid_file'] = 'Bd bezpieczestwa: Zaadowany plik moe stanowi zagroenie.'; -$lang['warning_file_uploads_disabled'] = 'Twoja konfiguracja PHP uniemoliwia zaadowanie plikw. Prosz sprawdzi php.ini przed kontynuacj.'; -$lang['uploaded_file_too_big'] = 'Zaadowany plik jest zbyt duy. Prosz sprawdzi ustawienie upload_max_size w php.ini'; -$lang['uploaded_file_partial'] = 'Wybrany plik zosta tylko czciowo zaadowany, prawdopodobnie wystpi bd w sieci.'; -$lang['max_file_size'] = 'Maksymalny rozmiar pliku: %s'; - -// Updating values -$lang['modification_successful'] = 'Modyfikacja zakoczona pomylnie.'; -$lang['change_password_new_login'] = 'Jeli zmienie/a haso, musisz si zalogowa ponownie z nowym hasem.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nowe atrybuty wymagane'; -$lang['requires_to_add'] = 'Ta akcja wymaga, aby doda/a'; -$lang['new_attributes'] = 'nowe atrybuty'; -$lang['new_required_attrs_instructions'] = 'Instrukcja: Aby doda t/e klas/y obiektu do tego wpisu, musisz okreli'; -$lang['that_this_oclass_requires'] = 'co ta klasa obiektu wymaga. Moesz zrobi to w tym formularzu.'; -$lang['add_oclass_and_attrs'] = 'Dodaj klas obiektu i atrybuty'; - -// General -$lang['chooser_link_tooltip'] = 'Kliknij aby wywoa okno i wybra wpis (DN) graficznie'; -$lang['no_updates_in_read_only_mode'] = 'Nie moesz wykona modyfikacji dopki serwer jest w trybie tylko-do-odczytu'; -$lang['bad_server_id'] = 'Zy identyfikator (id) serwera'; -$lang['not_enough_login_info'] = 'Brak wystarczajcych informacji aby zalogowa si do serwera. Prosz sprawdzi konfiguracj.'; -$lang['could_not_connect'] = 'Nie mona podczy si do serwera LDAP.'; -$lang['could_not_connect_to_host_on_port'] = 'Nie mona podczy si do "%s" na port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nie mona dokona operacji ldap_mod_add.'; -$lang['home'] = 'Strona gwna'; -$lang['help'] = 'Pomoc'; -$lang['success'] = 'Sukces'; -$lang['server_colon_pare'] = 'Serwer: '; -$lang['look_in'] = 'Szukam w: '; -$lang['missing_dn_in_query_string'] = 'Nie okrelono DN w zapytaniu !'; -$lang['back_up_p'] = 'Do gry...'; -$lang['no_entries'] = 'brak wpisw'; -$lang['could_not_det_base_dn'] = 'Nie mona okreli bazowego DN'; -$lang['reasons_for_error']='To mogo zdarzy si z kilku powodw, z ktrych najbardziej prawdopodobne to:'; -$lang['yes']='Tak'; -$lang['no']='Nie'; -$lang['go']='Id'; -$lang['delete']='Usu'; -$lang['back']='Powrt'; -$lang['object']='obiekt'; -$lang['delete_all']='Usu wszystko'; -$lang['hint'] = 'wskazwka'; -$lang['bug'] = 'bd (bug)'; -$lang['warning'] = 'ostrzeenie'; -$lang['light'] = 'arwka'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Dalej >>'; -$lang['no_blowfish_secret'] = 'phpLDAPadmin nie moe bezpiecznie szyfrowa danych, poniewa zmienna $blowfish_secret nie jest ustawiona w config.php. Naley wyedytowa config.php i wpisa jaki acuch znakw do zmiennej $blowfish_secret'; -$lang['jpeg_dir_not_writable'] = 'Prosz ustawi zmienn $jpeg_temp_dir w config.php na katalog z moliwoci zapisu plikw'; -$lang['jpeg_dir_not_writable_error'] = 'Nie mona zapisa do katalogu $jpeg_temp_dir %s. Sprawd prosz czy Twj serwer moe zapisywa pliki w tym katalogu.'; -$lang['jpeg_unable_toget'] = 'Nie mona pobra danych jpeg z serwera LDAP dla atrybutu %s.'; -$lang['jpeg_delete'] = 'Usu zdjcie'; - -// Add value form -$lang['add_new'] = 'Dodaj'; -$lang['value_to'] = 'warto do'; -$lang['distinguished_name'] = 'Wyrniona Nazwa (DN)'; -$lang['current_list_of'] = 'Aktualna lista'; -$lang['values_for_attribute'] = 'wartoci dla atrybutu'; -$lang['inappropriate_matching_note'] = 'Uwaga: Jeli nie ustawisz reguy EQUALITY dla tego atrybutu na Twoim serwerze LDAP otrzymasz bd "niewaciwe dopasowanie (inappropriate matching)"'; -$lang['enter_value_to_add'] = 'Wprowad warto, ktr chcesz doda:'; -$lang['new_required_attrs_note'] = 'Uwaga: moe by wymagane wprowadzenie nowych atrybutw wymaganych przez t/e klas/y obiektu'; -$lang['syntax'] = 'Skadnia'; - -//copy.php -$lang['copy_server_read_only'] = 'Nie moesz dokona modyfikacji dopki serwer jest w trybie tylko-do-odczytu'; -$lang['copy_dest_dn_blank'] = 'Nie wypeniono docelowej DN.'; -$lang['copy_dest_already_exists'] = 'Docelowy wpis (%s) ju istnieje.'; -$lang['copy_dest_container_does_not_exist'] = 'Docelowy kontener (%s) nie istnieje.'; -$lang['copy_source_dest_dn_same'] = 'rdowa i docelowa DN s takie same.'; -$lang['copy_copying'] = 'Kopiowanie '; -$lang['copy_recursive_copy_progress'] = 'Postp kopiowania rekursywnego'; -$lang['copy_building_snapshot'] = 'Budowanie migawki (snapshot) drzewa do skopiowania... '; -$lang['copy_successful_like_to'] = 'Kopiowanie zakoczone pomylnie. Czy chcesz '; -$lang['copy_view_new_entry'] = 'zobaczy nowy wpis '; -$lang['copy_failed'] = 'Bd podczas kopiowania DN: '; - -//edit.php -$lang['missing_template_file'] = 'Uwaga: brak pliku szablonu, '; -$lang['using_default'] = 'Uywam domylnego.'; -$lang['template'] = 'Szablon'; -$lang['must_choose_template'] = 'Musisz wybra szablon'; -$lang['invalid_template'] = '%s nie jest prawidowym szablonem'; -$lang['using_template'] = 'wykorzystujc szablon'; -$lang['go_to_dn'] = 'Id do %s'; -$lang['structural_object_class_cannot_remove'] = 'To jest strukturalna klasa obiektu i nie moe zosta usunita.'; -$lang['structural'] = 'strukturalna'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiuj '; -$lang['copyf_to_new_object'] = 'do nowego obiektu'; -$lang['copyf_dest_dn'] = 'Docelowa DN'; -$lang['copyf_dest_dn_tooltip'] = 'Pena DN nowego wpisu do utworzenia poprzez skopiowanie wpisu rdowego'; -$lang['copyf_dest_server'] = 'Docelowy serwer'; -$lang['copyf_note'] = 'Wskazwka: Kopiowanie pomidzy rnymi serwerami dziaa wtedy, gdy nie wystpuje naruszenie schematw'; -$lang['copyf_recursive_copy'] = 'Rekursywne kopiowanie wszystkich potomnych obiektw'; -$lang['recursive_copy'] = 'Kopia rekursywna'; -$lang['filter'] = 'Filtr'; -$lang['filter_tooltip'] = 'Podczas rekursywnego kopiowania, kopiowane s tylko wpisy pasujce do filtra'; -$lang['delete_after_copy'] = 'Usu po skopiowaniu (przenie):'; -$lang['delete_after_copy_warn'] = 'Upewnij si, e ustawienia filtra (powyej) pozwalaj na wybranie wszystkich rekordw podrzdnych.'; - -//create.php -$lang['create_required_attribute'] = 'Brak wartoci dla wymaganego atrybutu (%s).'; -$lang['redirecting'] = 'Przekierowuj'; -$lang['here'] = 'tutaj'; -$lang['create_could_not_add'] = 'Nie mona doda obiektu do serwera LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Utwrz obiekt'; -$lang['createf_choose_temp'] = 'Wybierz szablon'; -$lang['createf_select_temp'] = 'Wybierz szablon dla procesu tworzenia'; -$lang['save_as_file'] = 'Zapisz jako'; -$lang['rdn_field_blank'] = 'Pozostawie/a puste pole RDN.'; -$lang['container_does_not_exist'] = 'Kontener ktry okrelie/a (%s) nie istnieje. Sprbuj ponownie.'; -$lang['no_objectclasses_selected'] = 'Nie wybrae/a adnych Klas Obiektu dla tego obiektu. Wr prosz i zrb to.'; -$lang['hint_structural_oclass'] = 'Wskazwka: Musisz wybra dokadnie jedn strukturaln klas obiektu (wyrnion pogrubieniem)'; -$lang['template_restricted'] = 'Ten szablon nie jest dostpny w tym kontenerze'; // 'This template is not allowed in this container.'; -$lang['template_invalid'] = 'Ten szablon zosta zablokowany, prawdopodobnie z powodu brakujcego schamatu lub brakujcych pl szablonu XML.'; // 'This template has been disabled, possibly due to missing schema or missing template XML fields.'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Na serwerze'; -$lang['ctemplate_no_template'] = 'Brak okrelenia szablonu w zmiennych POST.'; -$lang['template_not_readable'] = 'Twoja konfiguracja okrela obsug "%s" dla tego szablonu, ale tego pliku nie da si odczyta, poniewa uprawnienia s zbyt restrykcyjne.'; -$lang['template_does_not_exist'] = 'Twoja konfiguracja okrela obsug "%s" dla tego szablonu, ale pliku obsugi nie ma w katalogu templates/creation.'; -$lang['create_step1'] = 'Krok 1 z 2: Nazwa i klasa/y obiektu'; -$lang['create_step2'] = 'Krok 2 z 2: Okrelenie atrybutw i wartoci'; -$lang['relative_distinguished_name'] = 'Relatywna Wyrniona Nazwa (RDN)'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(przykad: cn=MyNewPerson)'; -$lang['container'] = 'Kontener'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nie zalogowae/a si jeszcze do wybranego serwera, wic nie moesz go przeszukiwa.'; -$lang['click_to_go_to_login_form'] = 'Kliknij tutaj aby przej do formularza logowania'; -$lang['unrecognized_criteria_option'] = 'Nierozpoznane kryterium opcji: '; -$lang['if_you_want_to_add_criteria'] = 'Jeli chcesz doda wasne kryteria do listy, zmodyfikuj plik search.php aby to obsuy.'; -$lang['entries_found'] = 'Znaleziono wpisw: '; -$lang['filter_performed'] = 'Zastosowano filtr: '; -$lang['search_duration'] = 'Wyszukiwanie wykonane przez phpLDAPadmin w'; -$lang['seconds'] = 'sekund(y)'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Przeszukiwany zakres'; -$lang['scope_sub'] = 'Sub (cae poddrzewo)'; -$lang['scope_one'] = 'One (jeden poziom poniej bazowej)'; -$lang['scope_base'] = 'Base (tylko bazowa dn)'; -$lang['standard_ldap_search_filter'] = 'Standardowy filtr dla LDAP. Na przykad: (&(sn=Kowalski)(givenname=Jan))'; -$lang['search_filter'] = 'Filtr wyszukiwania'; -$lang['list_of_attrs_to_display_in_results'] = 'Lista atrybutw do wywietlenia rezultatw (rozdzielona przecinkami)'; - -// search_form_simple.php -$lang['starts with'] = 'zaczyna si od'; -$lang['ends with'] = 'koczy si na'; -$lang['sounds like'] = 'brzmi jak'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nie mona uzyska informacji od serwera LDAP. Moe to by spowodowane bdem w Twojej wersji PHP albo na przykad tym, e Twj serwer LDAP posiada list kontroli dostpu nie zezwalajc na pobranie RootDSE klientom LDAP'; -$lang['server_info_for'] = 'Informacja o serwerze: '; -$lang['server_reports_following'] = 'Serwer zwrci nastpujce informacje o sobie'; -$lang['nothing_to_report'] = 'Ten serwer nie chce nic powiedzie o sobie :).'; - -//update.php -$lang['update_array_malformed'] = 'tablica modyfikacji (update_array) jest znieksztacona. To moe by bd (bug) w phpLDAPadmin. Prosz to zgosi.'; -$lang['could_not_perform_ldap_modify'] = 'Nie mona wykona operacji modyfikacji (ldap_modify).'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Czy chcesz dokona tych zmian ?'; -$lang['attribute'] = 'Atrybuty'; -$lang['old_value'] = 'Stara warto'; -$lang['new_value'] = 'Nowa warto'; -$lang['attr_deleted'] = '[atrybut usunity]'; -$lang['commit'] = 'Zatwierd'; -$lang['cancel'] = 'Anuluj'; -$lang['you_made_no_changes'] = 'Nie dokonano adnych zmian'; -$lang['go_back'] = 'Powrt'; -$lang['unable_create_samba_pass'] = 'Nie mona utworzy hasa dla samby. Sprawd prosz swoj konfiguracj w template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'Uyj menu z lewej strony do nawigacji'; -$lang['credits'] = 'Lista pac'; -$lang['changelog'] = 'Historia zmian'; -$lang['documentation'] = 'Dokumentacja'; // 'Documentation'; -$lang['donate'] = 'Wesprzyj projekt'; -$lang['pla_logo'] = 'phpLDAPadmin logo'; - -// Donate.php -$lang['donation_instructions'] = 'Aby wesprze projekt phpLDAPadmin skorzystaj z jednego z przyciskw PayPal umieszczonych poniej'; -$lang['donate_amount'] = 'Wesprzyj kwot %s'; - -$lang['purge_cache'] = 'Wyczy cache'; -$lang['no_cache_to_purge'] = 'Nie ma czego czyci.'; -$lang['done_purging_caches'] = 'Wyczyszczono %s bajtw pamici podrcznej (cache).'; -$lang['purge_cache_tooltip'] = 'Czyci wszystkie dane podrczne (cache) w phpLDAPadmin, cznie ze schematami serwera'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Niebezpieczna nazwa pliku: '; -$lang['no_such_file'] = 'Nie znaleziono pliku: '; - -//function.php -$lang['auto_update_not_setup'] = 'Zezwolie/a na automatyczne nadawanie uid (auto_uid_numbers) dla %s w konfiguracji, ale nie okrelie/a mechanizmu (auto_uid_number_mechanism). Prosz skorygowa ten problem.'; -$lang['uidpool_not_set'] = 'Okrelie/a mechanizm autonumerowania uid "auto_uid_number_mechanism" jako "uidpool" w konfiguracji Twojego serwera %s, lecz nie okrelie/a audo_uid_number_uid_pool_dn. Prosz okrel to zanim przejdziesz dalej.'; -$lang['uidpool_not_exist'] = 'Wyglda na to, e uidPool, ktr okrelie/a w Twojej konfiguracji ("%s") nie istnieje.'; -$lang['specified_uidpool'] = 'Okrelie/a "auto_uid_number_mechanism" jako "search" w konfiguracji Twojego serwera %s, ale nie okrelie/a bazy "auto_uid_number_search_base". Zrb to zanim przejdziesz dalej.'; -$lang['auto_uid_invalid_credential'] = 'Nie mona podczy do %s z podan tosamoci auto_uid. Prosz sprawdzi swj plik konfiguracyjny.'; -$lang['bad_auto_uid_search_base'] = 'W Twojej konfiguracji phpLDAPadmin okrelona jest nieprawidowa warto auto_uid_search_base dla serwera %s'; -$lang['auto_uid_invalid_value'] = 'Okrelie/a bdn warto dla auto_uid_number_mechanism ("%s") w konfiguracji. Tylko "uidpool" i "search" s poprawne. Prosz skorygowa ten problem.'; -$lang['error_auth_type_config'] = 'Bd: Masz bd w pliku konfiguracji. Trzy moliwe wartoci dla auth_type w sekcji $servers to \'session\', \'cookie\' oraz \'config\'. Ty wpisae/a \'%s\', co jest niedozwolone. '; -$lang['unique_attrs_invalid_credential'] = 'Nie mona podczy do %s z podan tosamoci unique_attrs. Prosz sprawdzi swj plik konfiguracyjny.'; -$lang['unique_attr_failed'] = 'Prba dodania %s (%s) do
    %s
    jest NIEDOZWOLONA. Ten atrybut/warto naley do innego wpisu.

    Jeli chcesz, moesz poszuka tego wpisu.'; -$lang['php_install_not_supports_tls'] = 'Twoja instalacja PHP nie wspiera TLS.'; -$lang['could_not_start_tls'] = 'Nie mona uruchomi TLS. Prosz sprawdzi konfiguracj serwera LDAP.'; -$lang['could_not_bind_anon'] = 'Nie mona anonimowo podczy do serwera.'; -$lang['could_not_bind'] = 'Nie mona podczy si do serwera LDAP.'; -$lang['anonymous_bind'] = 'Podczenie anonimowe'; -$lang['bad_user_name_or_password'] = 'Za nazwa uytkownika lub haso. Sprbuj ponownie.'; -$lang['successfully_logged_in_to_server'] = 'Pomylnie zalogowano do serwera %s'; -$lang['could_not_set_cookie'] = 'Nie mona ustawi ciasteczka (cookie).'; -$lang['ldap_said'] = 'LDAP odpowiedzia: %s'; -$lang['ferror_error'] = 'Bd'; -$lang['fbrowse'] = 'przegldaj'; -$lang['delete_photo'] = 'Usu fotografi'; -$lang['install_not_support_ext_des'] = 'Twoja systemowa biblioteka crypt nie wspiera rozszerzonego szyfrowania DES'; -$lang['install_not_support_blowfish'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania blowfish.'; -$lang['install_not_support_md5crypt'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania md5crypt.'; -$lang['install_no_mash'] = 'Twoja instalacja PHP nie posiada funkcji mhash(). Nie mog tworzy haszy SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto zawiera bdy
    '; -$lang['ferror_number'] = 'Bd numer: %s (%s)'; -$lang['ferror_discription'] = 'Opis: %s

    '; -$lang['ferror_number_short'] = 'Bd numer: %s

    '; -$lang['ferror_discription_short'] = 'Opis: (brak dostpnego opisu)
    '; -$lang['ferror_submit_bug'] = 'Czy jest to bd w phpLDAPadmin ? Jeli tak, prosz go zgosi.'; -$lang['ferror_unrecognized_num'] = 'Nierozpoznany numer bdu: '; -$lang['ferror_nonfatil_bug'] = '

    - - -
    - Znalaze bd w phpLDAPadmin (nie krytyczny) !
    Bd:%s (%s)
    Plik:%s linia %s, wywoane z %s
    Wersje:PLA: %s, PHP: %s, SAPI: %s -
    Serwer Web:%s
    - Sprawd prosz czy ten bd nie zosta ju zgoszony tutaj.
    Jeli nie zosta jeszcze zgoszony, to moesz go zgosi tutaj.

    '; -$lang['ferror_congrats_found_bug'] = 'Gratulacje ! Znalaze bd w phpLDAPadmin.

    - - - - - - - - - - -
    Bd:%s
    Poziom:%s
    Plik:%s
    Linia:%s
    Wywoane z:%s
    Wersja PLA:%s
    Wersja PHP:%s
    PHP SAPI:%s
    Serwer Web:%s
    -
    - Prosz zgo ten bd klikajc poniej !'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importuj plik LDIF'; -$lang['select_ldif_file'] = 'Wybierz plik LDIF:'; -$lang['dont_stop_on_errors'] = 'Nie zatrzymuj si po napotkaniu bdw'; - -//ldif_import -$lang['add_action'] = 'Dodawanie...'; -$lang['delete_action'] = 'Usuwanie...'; -$lang['rename_action'] = 'Zmiana nazwy...'; -$lang['modify_action'] = 'Modyfikowanie...'; -$lang['warning_no_ldif_version_found'] = 'Nie znaleziono numeru wersji. Przyjmuj 1.'; -$lang['valid_dn_line_required'] = 'Wymagana jest poprawna linia DN.'; -$lang['missing_uploaded_file'] = 'Brak wgrywanego pliku.'; -$lang['no_ldif_file_specified'] = 'Nie okrelono pliku LDIF. Sprbuj ponownie.'; -$lang['ldif_file_empty'] = 'Wgrany plik LDIF jest pusty.'; -$lang['empty'] = 'pusty'; -$lang['file'] = 'Plik'; -$lang['number_bytes'] = '%s bajtw'; - -$lang['failed'] = 'Nieudane'; -$lang['ldif_parse_error'] = 'Bd przetwarzania LDIF (Parse Error)'; -$lang['ldif_could_not_add_object'] = 'Nie mona doda obiektu:'; -$lang['ldif_could_not_rename_object'] = 'Nie mona zmieni nazwy obiektu:'; -$lang['ldif_could_not_delete_object'] = 'Nie mona usun obiektu:'; -$lang['ldif_could_not_modify_object'] = 'Nie mona zmodyfikowa obiektu:'; -$lang['ldif_line_number'] = 'Linia numer:'; -$lang['ldif_line'] = 'Linia:'; - -//delete_form -$lang['sure_permanent_delete_object']='Czy na pewno trwale usun ten obiekt ?'; -$lang['list_of_entries_to_be_deleted'] = 'Lista wpisw do usunicia:'; -$lang['dn'] = 'DN'; - -// Exports -$lang['export_format'] = 'Format eksportu'; -$lang['line_ends'] = 'Zakoczenie linii'; -$lang['must_choose_export_format'] = 'Musisz wybra format eksportu.'; -$lang['invalid_export_format'] = 'Bdny format eksportu'; -$lang['no_exporter_found'] = 'Nie znaleziono dostpnego eksportera.'; -$lang['error_performing_search'] = 'Napotkano bd podczas szukania.'; -$lang['showing_results_x_through_y'] = 'Pokazywanie rezultatw %s przez %s.'; -$lang['searching'] = 'Szukam...'; -$lang['size_limit_exceeded'] = 'Uwaga, przekroczono limit rozmiaru wyszukiwania.'; -$lang['entry'] = 'Wpis'; -$lang['ldif_export_for_dn'] = 'Eksport LDIF dla: %s'; -$lang['generated_on_date'] = 'Wygenerowane przez phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) na %s'; -$lang['total_entries'] = 'cznie wpisw'; -$lang['dsml_export_for_dn'] = 'Eksport DSLM dla: %s'; -$lang['include_system_attrs'] = 'Zawiera atrybuty systemowe'; -$lang['csv_spreadsheet'] = 'CVS (arkusz)'; - -// logins -$lang['password_blank'] = 'Pozostawie/a puste haso.'; -$lang['no_one_logged_in'] = 'Nikt nie jest zalogowany do tego serwera.'; -$lang['could_not_logout'] = 'Nie mona wylogowa.'; -$lang['unknown_auth_type'] = 'Nieznany auth_type: %s'; -$lang['logged_out_successfully'] = 'Pomylnie wylogowano z serwera %s'; -$lang['authenticate_to_server'] = 'Uwierzytelnienie dla serwera %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Uwaga: To poczenie nie jest szyfrowane.'; -$lang['not_using_https'] = 'Nie uywasz \'https\'. Przegldarka bdzie transmitowa informacj logowania czystym tekstem (clear text).'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'Nazwa uytkownika'; -$lang['password'] = 'Haso'; -$lang['authenticate'] = 'Zaloguj'; -$lang['login_not_allowed'] = 'Przykro mi, ale nie masz uprawnie aby korzysta z phpLDAPadmin na tym serwerze LDAP.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Wybr wpisu'; - -// Index page -$lang['need_to_configure'] = 'Musisz skonfigurowa phpLDAPadmin. Wyedytuj plik \'config.php\' aby to zrobi. Przykad pliku konfiguracji znajduje si w \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Usuwanie jest niedozwolone w trybie tylko-do-odczytu.'; -$lang['error_calling_mass_delete'] = 'Bd podczas wywoania mass_delete.php. Brakujca mass_delete w zmiennych POST.'; -$lang['mass_delete_not_array'] = 'zmienna POST mass_delete nie jest w tablic.'; -$lang['mass_delete_not_enabled'] = 'Masowe usuwanie nie jest dozwolone. Odblokuj to prosz w config.php przed kontynuacj.'; -$lang['mass_deleting'] = 'Masowe usuwanie'; -$lang['mass_delete_progress'] = 'Postp usuwania na serwerze "%s"'; -$lang['malformed_mass_delete_array'] = 'Znieksztacona tablica mass_delete.'; -$lang['no_entries_to_delete'] = 'Nie wybrano adnegych wpisw do usunicia.'; -$lang['deleting_dn'] = 'Usuwanie %s'; -$lang['total_entries_failed'] = '%s z %s wpisw nie zostao usunitych.'; -$lang['all_entries_successful'] = 'Wszystkie wpisy pomylnie usunieto.'; -$lang['confirm_mass_delete'] = 'Potwierd masowe usunicie %s wpisw na serwerze %s'; -$lang['yes_delete'] = 'Tak, usu !'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nie moesz zmieni nazwy wpisu, posiadajcego wpisy potomne (np. operacja zmiany nazwy nie jest dozwolona na wpisach nie bdcych licmi).'; -$lang['no_rdn_change'] = 'Nie zmienie/a RDN'; -$lang['invalid_rdn'] = 'Bdna warto RDN'; -$lang['could_not_rename'] = 'Nie mona zmieni nazwy wpisu'; - -// Password checker -$lang['passwords_match'] = 'Hasa zgodne !'; -$lang['passwords_do_not_match'] = 'Hasa nie zgadzaj si !'; -$lang['password_checker_tool'] = 'Narzdzie do sprawdzania hase'; -$lang['to'] = 'Do'; - -// Templates -$lang['using'] = 'Uywajc'; -$lang['switch_to'] = 'Moesz przeczy si do '; -$lang['default_template'] = 'domylnego szablonu'; - -// template_config -$lang['user_account'] = 'Konto Uytkownika (posixAccount)'; -$lang['address_book_inet'] = 'Wpis Ksiki Adresowej (inetOrgPerson)'; -$lang['address_book_moz'] = 'Wpis Ksiki Adresowej (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Wpis Uytkownika Kolab'; -$lang['organizational_unit'] = 'Jednostka Organizacyjna'; -$lang['new_organizational_unit'] = 'Nowa Jednostka Organizacyjna'; -$lang['organizational_role'] = 'Rola w Organizacji'; -$lang['posix_group'] = 'Grupa Posix'; -$lang['samba_machine'] = 'Maszyna Samba NT'; -$lang['samba3_machine'] = 'Maszyna Samba 3 NT'; -$lang['samba_user'] = 'Uytkownik Samba'; -$lang['samba3_user'] = 'Uytkownik Samba 3'; -$lang['samba3_group'] = 'Przypisanie grupy Samba 3'; -$lang['dns_entry'] = 'Wpis DNS'; -$lang['simple_sec_object'] = 'Prosty obiekt bezpieczestwa (SSO)'; -$lang['courier_mail_account'] = 'Konto Pocztowe w Courier'; -$lang['courier_mail_alias'] = 'Alias Pocztowy w Courier'; -$lang['ldap_alias'] = 'Alias w LDAP'; -$lang['sendmail_cluster'] = 'Klaster Sendmail'; -$lang['sendmail_domain'] = 'Domena Sendmail'; -$lang['sendmail_alias'] = 'Alias Sendmail'; -$lang['sendmail_virt_dom'] = 'Wirtualna Domena Sendmail'; -$lang['sendmail_virt_users'] = 'Wirtualni Uytkownicy Sendmail'; -$lang['sendmail_relays'] = 'Sendmail Relays'; -$lang['custom'] = 'Oglne'; -$lang['samba_domain_name'] = 'Moja nazwa domeny w Samba'; -$lang['administrators'] = 'Administratorzy'; -$lang['users'] = 'Uytkownicy'; -$lang['guests'] = 'Gocie'; -$lang['power_users'] = 'Uytkownicy zaawansowani'; -$lang['account_ops'] = 'Operatorzy kont'; -$lang['server_ops'] = 'Operatorzy serwera'; -$lang['print_ops'] = 'Operatorzy drukowania'; -$lang['backup_ops'] = 'Operatorzy archiwizacji danych'; -$lang['replicator'] = 'Replikator'; -$lang['unable_smb_passwords'] = ' Nie mona utworzy hase Samba. Prosz sprawdzi konfiguracj w template_config.php'; -$lang['err_smb_conf'] = 'Bd: masz bd w konfiguracji samby'; -$lang['err_smb_no_name_sid'] = 'Bd: musisz wprowadzi nazw oraz sid dla Twojej domeny samby.'; -$lang['err_smb_no_name'] = 'Bd: brak nazwy dla domeny samby.'; -$lang['err_smb_no_sid'] = 'Bd: brak sid dla domeny samby'; - -// Samba Account Template -$lang['samba_account'] = 'Konto Samba'; -$lang['samba_account_lcase'] = 'konto samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nowe konto uytkownika'; -$lang['t_hint_customize'] = 'Wskazwka: Aby dostosowa ten szablon, wyedytuj plik templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nazwa/Nazwisko'; -$lang['t_first_name'] = 'Imi'; -$lang['t_last_name'] = 'Nazwisko'; -$lang['t_first'] = 'imi'; -$lang['t_last'] = 'nazwisko'; -$lang['t_state'] = 'Stan'; -$lang['t_common_name'] = 'Nazwa'; -$lang['t_user_name'] = 'Nazwa uytkownika'; -$lang['t_password'] = 'Haso'; -$lang['t_encryption'] = 'Szyfrowanie'; -$lang['t_login_shell'] = 'Powoka (shell)'; -$lang['t_home_dir'] = 'Katalog domowy'; -$lang['t_uid_number'] = 'Numer UID'; -$lang['t_auto_det'] = '(automatycznie okrelony)'; -$lang['t_group'] = 'Grupa'; -$lang['t_gid_number'] = 'Numer GID'; -$lang['t_uid'] = 'ID Uytkownika'; -$lang['t_err_passwords'] = 'Hasa nie zgadzaj si. Wrc i sprbuj ponownie.'; -$lang['t_err_field_blank'] = 'Nie moesz pozostawi pustego pola %s. Wr i sprbuj ponownie.'; -$lang['t_err_field_num'] = 'Pole %s moe zawiera tylko wartoci numeryczne. Wr i sprbuj ponownie.'; -$lang['t_err_bad_container'] = 'Kontener ktry wybrae/a (%s) nie istnieje. Wr i sprbuj ponownie.'; -$lang['t_confirm_account_creation'] = 'Potwierd utworzenie konta'; -$lang['t_secret'] = '[tajne]'; -$lang['t_create_account'] = 'Utwrz konto'; -$lang['t_verify'] = 'Weryfikuj'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'Nowa Grupa Posix'; - -// New Address Template -$lang['t_new_address'] = 'Nowy wpis w Ksice Adresowej'; -$lang['t_organization'] = 'Organizacja'; -$lang['t_address'] = 'Adres'; -$lang['t_city'] = 'Miasto'; -$lang['t_postal_code'] = 'Kod pocztowy'; -$lang['t_street'] = 'Ulica'; -$lang['t_work_phone'] = 'Telefon subowy'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Telefon komrkowy'; -$lang['t_email'] = 'E-mail'; -$lang['t_container'] = 'Kontener'; -$lang['t_err_cn_blank'] = 'Nie moesz pozostawi pustego pola Nazwa. Wr i sprbuj ponownie.'; -$lang['t_confim_creation'] = 'Potwierd utworzenie wpisu:'; -$lang['t_create_address'] = 'Utwrz adres'; - -// default template -$lang['t_check_pass'] = 'Sprawd haso'; -$lang['t_auto_submit'] = '(Automatycznie wyliczane przy wysaniu)'; // '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = 'Porwnaj'; -$lang['comparing'] = 'Porwnuj nastpujce DN'; -$lang['compare_dn'] = 'Porwnaj inny DN z'; -$lang['with'] = 'z'; -$lang['compf_source_dn'] = 'rdowa DN'; -$lang['compf_dn_tooltip'] = 'Prwnaj t DN z inn'; -$lang['switch_entry'] = 'Zamie wpisy'; -$lang['no_value'] = 'Brak wartoci'; -$lang['compare_with'] = 'Porwnaj z innym wpisem'; -$lang['need_oclass'] = 'Musisz posiada jedn z nastpujcych klas obiektw, aby doda ten atrybut %s '; - -// Time out page -$lang['session_timed_out_1'] = 'Twoja sesja wyganie po'; -$lang['session_timed_out_2'] = 'min. nieaktywnoci. Zostaniesz automatycznie wylogowany/a.'; -$lang['log_back_in'] = 'Aby si zalogowa ponownie kliknij w nastpujcy link:'; -$lang['session_timed_out_tree'] = '(Sesja wygasa. Automatycznie wylogowano)'; -$lang['timeout_at'] = 'Brak aktywnoci wyloguje Ci o %s'; -?> diff --git a/lang/pt-br.php b/lang/pt-br.php deleted file mode 100644 index f89b128..0000000 --- a/lang/pt-br.php +++ /dev/null @@ -1,516 +0,0 @@ -To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Dica: Para ver o esquema de um atributo clique no nome do atributo.';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Alguns atributos (%s) foram modificados e esto destacados abaixo.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Um atributo (%s) foi modificado e est destacado abaixo';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Vizualizando objeto em modo somente-leitura.';//'Viewing entry in read-only mode.'; -$lang['no_new_attrs_available'] = 'novos atributos no disponveis para este objeto.';//'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'novos atributos binrios no disponveis para este objeto.';//'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Valor binrio';//'Binary value'; -$lang['add_new_binary_attr'] = 'Inserir novo atributo binrio';//'Add New Binary Attribute'; -$lang['alias_for'] = 'Nota: \'%s\' um alias para \'%s\'';//'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'download do valor';//'download value'; -$lang['delete_attribute'] = 'apagar atributo';//'delete attribute'; -$lang['true'] = 'verdadeiro';//'true'; -$lang['false'] = 'falso';//'false'; -$lang['none_remove_value'] = 'nenhum, remover valor';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'Deseja realmente apagar atributo';//'Really delete attribute'; -$lang['add_new_value'] = 'Inserir novo valor';//'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'As seguintes Classes de objetos so suportadas por este servidor LDAP.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Os seguintes tipos de atributos so suportadas por este servidor LDAP.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'As seguintes regras de consistncia so suportadas por este servidor LDAP.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'As seguintes sintaxes so suportadas por este servidor LDAP.';//'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']='O servidor no suporta o protocolo LDAP completamente.';//'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']='Sua verso do PHP no executa a consulta corretamente.';//'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']='Ou, por fim, o phpLDAPadmin no sabe como buscar o esquema para o seu servidor.';//'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Ir para uma classe de objetos';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Ir para um tipo de atributo';//'Jump to an attribute'; -$lang['jump_to_matching_rule'] = 'Ir para regras de consistncia';//'Jump to a matching rule'; -$lang['schema_for_server'] = 'Esquema para servidor';//'Schema for server'; -$lang['required_attrs'] = 'Atributos Obrigatrios';//'Required Attributes'; -$lang['optional_attrs'] = 'Atributos Opcionais';//'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Atributos Binrios Opcionais';//'Optional Binary Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['aliases']='Apelidos';//'Aliases'; -$lang['desc'] = 'Descrio';//'Description'; -$lang['no_description']='sem descrio';//'no description'; -$lang['name'] = 'Nome';//'Name'; -$lang['equality']='Igualdade';//'Equality'; -$lang['is_obsolete'] = 'Esta classe de objeto est obsoleta.';//'This objectClass is obsolete'; -$lang['inherits'] = 'Herda de';//'Inherits'; -$lang['inherited_from']='Herdado de';//inherited from'; -$lang['parent_to'] = 'Pai para';//'Parent to'; -$lang['jump_to_this_oclass'] = 'Ir para definio desta classe de objeto';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'OID da Regra de consistncia';//'Matching Rule OID'; -$lang['syntax_oid'] = 'OID da Sintaxe';//'Syntax OID'; -$lang['not_applicable'] = 'no aplicvel';//'not applicable'; -$lang['not_specified'] = 'no especificado';//not specified'; -$lang['character']='caracter';//'character'; -$lang['characters']='caracteres';//'characters'; -$lang['used_by_objectclasses']='Usado por classes de objetos';//'Used by objectClasses'; -$lang['used_by_attributes']='Usado por Atributos';//'Used by Attributes'; -$lang['oid']='OID'; -$lang['obsolete']='Obsoleto';//'Obsolete'; -$lang['ordering']='Ordenando';//'Ordering'; -$lang['substring_rule']='Regra de substring';//'Substring Rule'; -$lang['single_valued']='Avaliado sozinho';//'Single Valued'; -$lang['collective']='Coletivo';//'Collective'; -$lang['user_modification']='Alterao do usurio';//'User Modification'; -$lang['usage']='Uso';//'Usage'; -$lang['maximum_length']='Tamanho Mximo';//'Maximum Length'; -$lang['attributes']='Tipos de Atriburos';//'Attributes Types'; -$lang['syntaxes']='Sintaxes';//'Syntaxes'; -$lang['objectclasses']='Classe de Objetos';//'objectClasses'; -$lang['matchingrules']='Regra de consistncia';//'Matching Rules'; -$lang['could_not_retrieve_schema_from']='No foi possvel encontrar esquema de';//'Could not retrieve schema from'; -$lang['type']='Tipo';// 'Type'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objeto \'%s\' excludo com sucesso.';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Voc deve especificar um DN';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'No foi possvel excluir o objeto: %s';//'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Objeto inexistente: %s';//'No such entry: %s'; -$lang['delete_dn'] = 'Excluir %s';//'Delete %s'; -$lang['entry_is_root_sub_tree'] = 'Este objeto a raiz de uma sub-rvore e contm %s objetos.';//'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'Ver objetos';//'view entries'; -$lang['confirm_recursive_delete'] = 'o phpLDAPadmin pode excluir recursivamente este objeto e todos %s filhos. Veja abaixo uma lista de todos os objetos que esta ao vai excluir. Deseja fazer isso?';//'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Nota: isto potencialmente muito perigoso, faa isso por sua conta e risco. Esta operao no pode ser desfeita. Leve em considerao apelidos, referncias e outras coisas que podem causar problemas.';//'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Excluir todos os %s objetos';//'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'Progresso de excluso recursiva';//'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s e sub-rvore excludo com sucesso.';// 'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'Falha ao excluir objeto %s';//'Failed to delete entry %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'O atributo %s est marcado como somente leitura na configurao do phpLDAPadmin.';//'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Nome de atributo no especificado.';//'No attribute name specified.'; -$lang['no_dn_specified'] = 'DN no especificado';//'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Voc deixou o valor do atributo vazio. Por favor retorne e tente novamente.';//'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Falha ao inserir o atributo.';//'Failed to add the attribute.'; -$lang['file_empty'] = 'O arquivo que voc escolheu est vazio ou no existe. Por favor retorne e tente novamente.';//'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Erro de segurana: O arquivo que est sendo carregado pode ser malicioso.';//'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'Sua configurao do PHP desabilitou o upload de arquivos. Por favor verifique o php.ini antes de continuar.';//'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'O arquivo que voc carregou muito grande. Por favor verifique a configurao do upload_max_size no php.ini';//'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'O arquivo que voc selecionou foi carregado parcialmente, provavelmente por causa de um erro de rede.';//'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Tamanho mximo de arquivo: %s';//'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'Alterao bem sucedida!';//'Modification successful!'; -$lang['change_password_new_login'] = 'Voc alterou sua senha, voc deve conectar novamente com a sua nova senha.'; //'Since you changed your password, you must now login again with your new password.'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'Novos Atributos Obrigatrios';//'New Required Attributes'; -$lang['requires_to_add'] = 'Esta ao requer que voc insira';//'This action requires you to add'; -$lang['new_attributes'] = 'novos atributos';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instrues: Para poder inserir esta Classe de Objetos a este objeto, voc deve especificar';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'que esta Classe de Objetos requer. Voc pode faz-lo no formulrio abaixo:';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Inserir Classe de Objetos e Atributos';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Clique para abrir uma janela e selecionar um objeto (DN) graficamente';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Voc no pode realizar atualizaes enquanto o servidor estiver em modo somente leitura';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'ID do servidor invlido';//'Bad server id'; -$lang['not_enough_login_info'] = 'Informaes insuficientes para a conexo com o servidor. Por favor verifique sua configurao.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'No foi possvel conectar com o servidor LDAP.';//'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'No foi possvel conectar em "%s" na porta "%s"';//'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'No foi possvel executar operao ldap_mod_add.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'server_id invlido: ';//"Bad server_id: '; -$lang['success'] = 'Sucesso';//"Success'; -$lang['server_colon_pare'] = 'Servidor: ';//"Server: '; -$lang['look_in'] = 'Procurando em: ';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'ID do servidor no especificado na consulta!';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'DN no especificado na consulta!';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Backup...';//"Back Up...'; -$lang['no_entries'] = 'nenhum objeto';//"no entries'; -$lang['not_logged_in'] = 'No conectado';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'No foi possvel determinar a base DN';//"Could not determine base DN'; -$lang['reasons_for_error']='Isso pode ter acontecido por vrios motivos, os mais provvel so:';//'This could happen for several reasons, the most probable of which are:'; -$lang['please_report_this_as_a_bug']='Por favor informe isso como bug.';//'Please report this as a bug.'; -$lang['yes']='Sim';//'Yes' -$lang['no']='No';//'No' -$lang['go']='Ir';//'go' -$lang['delete']='Excluir';//'Delete'; -$lang['back']='Voltar';//'Back'; -$lang['object']='objeto';//'object'; -$lang['delete_all']='Excluir tudo';//'Delete all'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'dica';//'hint'; -$lang['bug'] = 'bug';//'bug'; -$lang['warning'] = 'aviso';//'warning'; -$lang['light'] = 'a palavra "light" de "light bulb"'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Continuar >>';//'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Inserir novo';//'Add new'; -$lang['value_to'] = 'valor para';//'value to'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Nome Distinto';// 'Distinguished Name'; -$lang['current_list_of'] = 'Lista atual de';//'Current list of'; -$lang['values_for_attribute'] = 'valores para atributo';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Nota: Voc vai receber um erro de "inappropriate matching" se voc no configurar uma regra de IGUALDADE no seu servidor LDAP para este atributo.'; //'Note: You will get an "inappropriate matching" error if you have not
    setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Entre com o valor que voc quer inserir: ';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Nota: talvez seja solicitado que voc entre com os atributos necessrios para esta classe de objetos';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'Sintaxe';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'Voc no pode realizar atualizaes enquanto o servidor estiver em modo somente leitura';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Voc deixou o DN de destino vazio.';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'O objeto de destino (%s) j existe.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'O container de destino (%s) no existe.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'O DN de origem e destino so o mesmo.';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'Copiando ';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'Progresso da cpia recursiva';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Construindo a imagem da rvore a ser copiada...';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Copiado com sucesso! Voc gostaria de ';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'ver o novo objeto';//"view the new entry'; -$lang['copy_failed'] = 'Falha ao copiar DN: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Aviso: arquivo modelo faltando, ';//'Warning: missing template file, '; -$lang['using_default'] = 'Usando o padro.';//'Using default.'; -$lang['template'] = 'Modelo';//'Template'; -$lang['must_choose_template'] = 'Voc deve escolher um modelo';//'You must choose a template'; -$lang['invalid_template'] = '%s um modelo invlido';// '%s is an invalid template'; -$lang['using_template'] = 'usando o modelo';//'using template'; -$lang['go_to_dn'] = 'Ir para %s';//'Go to %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar ';//"Copy '; -$lang['copyf_to_new_object'] = 'para um novo objeto';//"to a new object'; -$lang['copyf_dest_dn'] = 'DN de destino';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'O DN completo do novo objeto que ser criado a partir da cpia da origem';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Servidor de destino';//"Destination Server'; -$lang['copyf_note'] = 'Dica: Copiando entre diferentes servidores somente funciona se no houver violao de esquema';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Copia recursivamente todos filhos deste objeto tambm.';//"Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Cpia Recursiva';//'Recursive copy'; -$lang['filter'] = 'Filtro';//'Filter'; -$lang['filter_tooltip'] = 'Quando executar uma cpia recursiva, copiar somente os objetos que atendem a este filtro';// 'When performing a recursive copy, only copy those entries which match this filter'; - - -//create.php -$lang['create_required_attribute'] = 'Voc deixou vazio o valor de um atributo obrigatrio (%s).';//"Error, you left the value blank for required attribute '; -$lang['redirecting'] = 'Redirecionando...';//"Redirecting'; moved from create_redirection -> redirection -$lang['here'] = 'aqui';//"here'; renamed vom create_here -> here -$lang['create_could_not_add'] = 'No foi possvel inserir o objeto no servidor LDAP.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Criar Objeto';//"Create Object'; -$lang['createf_choose_temp'] = 'Escolher um modelo';//"Choose a template'; -$lang['createf_select_temp'] = 'Selecionar um modelo para o processo de criao';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'Prosseguir';//"Proceed >>'; -$lang['rdn_field_blank'] = 'Voc deixou o campo RDN vazio.';//'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'O container que voc especificou (%s) no existe. Por favor tente novamente.';// 'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Voc no selecionou nenhuma Classe de Objetos para este objeto. Por favor volte e faa isso.';//'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Dica: Voc deve escolher pelo menos uma Classe de Objetos estrutural';//'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'No servidor';//"On server'; -$lang['ctemplate_no_template'] = 'Nenhum modelo especificado.';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Seu arquivo de configurao determina que o modelo';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = ' vlido. Porm este modelo no existe no diretrio "templates/creation".';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; -$lang['create_step1'] = 'Passo 1 de 2: Nome e Classe(s) de Objetos';//'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Passo 2 de 2: Especifica atributos e valores';//'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Nome Distinto Relativo';//'Relative Distinguished Name'; -$lang['rdn'] = 'RDN';//'RDN'; -$lang['rdn_example'] = 'exemplo: cn=MinhaNovaPessoa';//'(example: cn=MyNewPerson)'; -$lang['container'] = 'Container';//'Container'; - - -// search.php -$lang['you_have_not_logged_into_server'] = 'Voc no conectou no servidor selecionado ainda, assim, voc no pode realizar buscas nele.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Clique aqui para conectar-se ao servidor';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Critrio desconhecido: ';// 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Se voc quer inserir seus prprios critrios lista. Certifique-se de editar o search.php para trat-los. Saindo.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Objetos encontrados: ';//'Entries found: '; -$lang['filter_performed'] = 'Filtro aplicado: ';//'Filter performed: '; -$lang['search_duration'] = 'Busca realizada pelo phpLDAPadmin em';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'segundos';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'O escopo no qual procurar';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (toda a sub-rvore)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (um nvel de profundidade)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (apenas a base dn)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Filtro de busca LDAP padro. Exemplo: (&(sn=Silva)(givenname=Pedro))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Filtro de Busca';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'A lista de atributos que devem ser mostrados nos resultados (separados por vrgula)';//'A list of attributes to display in the results (comma-separated)'; - -// search_form_simple.php -$lang['starts with'] = 'inicia com';//'starts with'; -$lang['ends with'] = 'termina com';//'ends with'; -$lang['sounds like'] = ' semelhante a';//'sounds like'; - - -// server_info.php -$lang['could_not_fetch_server_info'] = 'No foi possvel obter informao LDAP do servidor';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Informaes do servidor: ';//'Server info for: '; -$lang['server_reports_following'] = 'O servidor forneceu a seguinte informao sobre si mesmo';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Este servidor no tem nada a informar';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array danificado. Isto pode ser um bug do phpLDAPadmin. Por favor informe.';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'No foi possvel realizar a operao ldap_modify.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Voc confirma estas alteraes?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Atributo';//'Attribute'; -$lang['old_value'] = 'Valor Antigo';//'Old Value'; -$lang['new_value'] = 'Valor Novo';//'New Value'; -$lang['attr_deleted'] = '[atributo excludo]';//'[attribute deleted]'; -$lang['commit'] = 'Confirmar';//'Commit'; -$lang['cancel'] = 'Cancelar';//'Cancel'; -$lang['you_made_no_changes'] = 'Voc no fez alteraes';//'You made no changes'; -$lang['go_back'] = 'Voltar';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Use o menu esquerda para navegar';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Crditos';//'Credits'; -$lang['changelog'] = 'Log de Alteraes';//'ChangeLog'; -$lang['donate'] = 'Contribuir';//'Donate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nome de arquivo inseguro: ';//'Unsafe file name: '; -$lang['no_such_file'] = 'Arquivo inexistente: ';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Voc habilitou auto_uid_numbers para %s na sua configurao, mas voc no especificou auto_uid_number_mechanism. Por favor corrija este problema.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Voc especificou o "auto_uid_number_mechanism" como "uidpool" na sua configurao para o servidor %s, mas voc no especificou o audo_uid_number_uid_pool_dn. Por favor especifique-o antes de continuar.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'Parece que o uidPool que voc especificou na sua configurao (%s) no existe.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; -$lang['specified_uidpool'] = 'Voc especificou o "auto_uid_number_mechanism" como "busca" na sua configurao para o servidor %s, mas voc no especificou o "auto_uid_number_search_base". Por favor especifique-o antes de continuar.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'Problema ao conectar ao %s com as suas credenciais auto_uid. Por favor verifique seu arquivo de configurao.';// 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'Sua configurao do phpLDAPadmin especifica que o auto_uid_search_base invlido para o servidor %s';//'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'Voc especificou um valor invlido para auto_uid_number_mechanism ("%s") na sua configurao. Somente "uidpool" e "busca" so vlidos. Por favor corrija este problema.';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Erro: Voc tem um erro no seu arquivo de configurao. Os dois nicos valores permitidos para auth_type na seo $servers so \'config\' e \'form\'. Voc entrou \'%s\', que no permitido.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['php_install_not_supports_tls'] = 'Sua instalao do PHP no suporta TLS';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Impossvel iniciar TLS. Por favor verifique a configurao do servidor LDAP.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'No foi possvel conectar ao servidor anonimamente.';//'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'No foi possvel conectar ao servidor LDAP.';//'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Conexo annima';//'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Usurio ou senha invlido. Por favor tente novamente.';//'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Redirecionando... Clique aqui se nada acontecer.';//'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'Conexo estabelecida com sucesso no sevidor %s';//'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'No foi possvel criar o cookie.';//'Could not set cookie.'; -$lang['ldap_said'] = 'O servidor LDAP respondeu: %s';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Erro';//"Error'; -$lang['fbrowse'] = 'procurar';//"browse'; -$lang['delete_photo'] = 'Excluir imagem';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Sua instalao do PHP no suporta codificao blowfish.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Sua instalao do PHP no suporta codificao md5crypt.';//'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Sua instalao do PHP no tem a funo mhash(). Impossvel fazer transformaes SHA.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Foto jpeg contm erros
    ';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Erro nmero: %s (%s)';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Descrio: %s

    ';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Erro nmero: %s

    ';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Descrio: (descrio no disponvel
    ';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Isto um bug do phpLDAPadmin? Se for, por favor informe.';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Nmero do erro desconhecido: ';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '
    Voc encontrou um bug no-fatal no phpLDAPadmin!
    Erro:%s (%s)
    Arquivo:%s linha %s, solicitante %s
    Verso:PLA: %s, PHP: %s, SAPI: %s
    Servidor Web:%s
    Por favor informe este bug clicando aqui.

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = 'Parabns! Voc encontrou um bug no phpLDAPadmin.

    Erro:%s
    Nvel:%s
    Arquivo:%s
    Linha:%s
    Caller:%s
    PLA Vers&atile;o:%s
    PHP Vers&atile;o:%s
    PHP SAPI:%s
    Servidor Web:%s

    Por favor informe o bug clicando abaixo!';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar arquivo LDIF';//'Import LDIF File'; -$lang['select_ldif_file'] = 'Selecionar um arquivo LDIF';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Continuar >>';//'Proceed >>'; -$lang['dont_stop_on_errors'] = 'No parar quando der erro';//'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Inserindo...';//'Adding...'; -$lang['delete_action'] = 'Deletando...';//'Deleting...'; -$lang['rename_action'] = 'Renomeando...';//'Renaming...'; -$lang['modify_action'] = 'Alterando...';//'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Nenhuma verso encontrada. Assumindo 1.';//'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Uma linha dn vlida obrigatria.';//'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Arquivo carregado perdido.';//'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Nenhum arquivo LDIF especificado. Por favor tente novamente.';//'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Arquivo LDIF carregado est vazio.';// 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'vazio';//'empty'; -$lang['file'] = 'Arquivo';//'File'; -$lang['number_bytes'] = '%s bytes';//'%s bytes'; - -$lang['failed'] = 'Falhou';//'failed'; -$lang['ldif_parse_error'] = 'Erro Analisando Arquivo LDIF';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'No foi possvel inserir objeto:';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'No foi possvel renomear objeto:';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'No foi possvel excluir objeto:';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'No foi possvel alterar objeto:';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Linha Nmero:';//'Line Number:'; -$lang['ldif_line'] = 'Linha:';//'Line:'; - -//delete_form -$lang['sure_permanent_delete_object']='Voc tem certeza que deseja excluir este objeto permanentemente?';//'Are you sure you want to permanently delete this object?'; -$lang['permanently_delete_children']='Exluir permanentemente todos os objetos filho tambm?';//'Permanently delete all children also?'; - -$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a serem deletados: ';//'List of entries to be deleted:'; -$lang['dn'] = 'DN'; //'DN'; - -// Exports -$lang['export_format'] = 'Formato para exportar';// 'Export format'; -$lang['line_ends'] = 'Fins de linha'; //'Line ends'; -$lang['must_choose_export_format'] = 'Voc deve especificar um formato para exportar';//'You must choose an export format.'; -$lang['invalid_export_format'] = 'Formato para exportao invlido';//'Invalid export format'; -$lang['no_exporter_found'] = 'Nenhum exportador de arquivos encontrado.';//'No available exporter found.'; -$lang['error_performing_search'] = 'Erro encontrado enquanto fazia a pesquisa.';//'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Mostrando resultados %s atravs %s.';//'Showing results %s through %s.'; -$lang['searching'] = 'Pesquisando...';//'Searching...'; -$lang['size_limit_exceeded'] = 'Aviso, limite da pesquisa excedido.';//'Notice, search size limit exceeded.'; -$lang['entry'] = 'Objeto';//'Entry'; -$lang['ldif_export_for_dn'] = 'Exportao LDIF para: %s'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Gerado pelo phpLDAPadmin no %s';//'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Total de objetos';//'Total Entries'; -$lang['dsml_export_for_dn'] = 'Exportao DSLM para: %s';//'DSLM Export for: %s'; - -// logins -$lang['could_not_find_user'] = 'No foi possvel encontrar o usurio "%s"';//'Could not find a user "%s"'; -$lang['password_blank'] = 'Voc deixou a senha vazia.';//'You left the password blank.'; -$lang['login_cancelled'] = 'Login cancelado.';//'Login cancelled.'; -$lang['no_one_logged_in'] = 'Ningum est conectado neste servidor.';//'No one is logged in to that server.'; -$lang['could_not_logout'] = 'No foi possvel desconectar.';//'Could not logout.'; -$lang['unknown_auth_type'] = 'auth_type desconhecido: %s';//'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Desconectado com sucesso do servidor %s';//'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Autenticar no servidor %s';//'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexo NO criptografada.';//'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Voc no est usando \'https\'. O navegador internet vai transmitir as informaes de login sem criptografar.';// 'You are not use \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Login DN';//'Login DN'; -$lang['user_name'] = 'Nome de usurio';//'User name'; -$lang['password'] = 'Senha';//'Password'; -$lang['authenticate'] = 'Autenticar';//'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Selecionador de objeto';//'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'Voc deve configurar o phpLDAPadmin. Faa isso editando o arquivo \'config.php\'. Um arquivo de exemplo fornecido em \'config.php.example\'';// ';//'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Excluses no permitidas no modo somente leitura.';//'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Erro chamando mass_delete.php. Faltando mass_delete nas variveis POST.';//'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'a varivel POST mass_delete no um conjunto';//'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'Excluso em massa no habilitada. Por favor habilite-a no arquivo config.php antes de continuar';//'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Excluso em massa';//'Mass Deleting'; -$lang['mass_delete_progress'] = 'Progresso da excluso no servidor "%s"';//'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Conjunto mass_delete danificado.';//'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Voc no selecionou nenhum objeto para excluir';//'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Excluindo %s';//'Deleting %s'; -$lang['total_entries_failed'] = '%s de %s objetos falharam na excluso.';//'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Todos objetos foram excludos com sucesso.';//'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Confirme excluso em massa de %s objetos no servidor %s';//'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Sim, excluir!';//'Yes, delete!'; - - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Voc no pode renomear um objeto que tem objetos filhos (isto , a operao de renomear no permitida em objetos no-folha)';// 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Voc no alterou o RDN';//'You did not change the RDN'; -$lang['invalid_rdn'] = 'Valor RDN invlido';//'Invalid RDN value'; -$lang['could_not_rename'] = 'No foi possvel renomear o objeto';//'Could not rename the entry'; - - -?> diff --git a/lang/recoded/auto.php b/lang/recoded/auto.php deleted file mode 100644 index 512e010..0000000 --- a/lang/recoded/auto.php +++ /dev/null @@ -1,54 +0,0 @@ -"ca" // catalan - ," ca-"=>"ca" // - ," de "=>"de" // german - ," de-"=>"de" // for de-at, de-ch... - ," German "=>"de" // the browser Moz (1.5)submit German instead of de - ," en "=>"en" // englisch - ," en-"=>"en" // for en-us,en-gb,en-ca,.. - ," es "=>"es" // spainish - ," es-"=>"es" // es-cr, es-co,.... - ," fr "=>"fr" // french - ," fr-"=>"fr" // fr-lu,fr-ca,... - ," it "=>"it" // italien - ," it-"=>"it" // for it-ch (italien swiss).. - ," ja "=>"ja" // japanese - ," nl "=>"nl" // dutch - ," nl-"=>"nl" // for ne-be, only one? - ," pl "=>"pl" // polish - ," pl-"=>"pl" // maybe exist - ," pt "=>"pt-br" // brazilian portuguese - ," pt-br"=>"pt-br" // brazilian portuguese - ," ru "=>"ru" // russian - ," ru-"=>"ru" // ru- exits? - ," sv "=>"sv" //swedish - ," sv-"=>"sv" // swedisch to - ," zh-cn"=>"zh-cn" // simplified chinese - ," zh-tw"=>"zh-tw" // taiwan? - );// all supported languages in this array -// test - -$aHTTP_ACCEPT_LANGUAGE=" ".$HTTP_ACCEPT_LANGUAGE." "; -$aHTTP_ACCEPT_LANGUAGE=strtr($aHTTP_ACCEPT_LANGUAGE,","," ");// replace , with " " -$aHTTP_ACCEPT_LANGUAGE=strtr($aHTTP_ACCEPT_LANGUAGE,";"," ");// replace , with " " -$acceptMaxPos=strlen($aHTTP_ACCEPT_LANGUAGE);// initial value, no fit -//echo $aHTTP_ACCEPT_LANGUAGE."\n"; -foreach ($langSupport as $key=>$value) { - $acceptAktPos=strpos($aHTTP_ACCEPT_LANGUAGE,$key); - if ($acceptAktPos!==false // the test contained the substring - && ($acceptAktPos < $acceptMaxPos) // and is better than the one before - ) { $useLang=$value ; $acceptMaxPos=$acceptAktPos;} - // echo "$key=>$value:$acceptAktPos,$acceptMaxPos\n"; -} -//echo "used:$useLang\n"; -include realpath ("$useLang".".php");// this should include from recode/ position -$language=$useLang; -//echo "language:".$langugage; -?> diff --git a/lang/recoded/ca.php b/lang/recoded/ca.php deleted file mode 100644 index 0eb41a5..0000000 --- a/lang/recoded/ca.php +++ /dev/null @@ -1,345 +0,0 @@ -Per a borrar un atribut, buida el formulari de texte i fes click a Desar.'; -$lang['attr_schema_hint'] = 'Pista: Per veure l\'esquema d\'un atribut, fes click al nom de l\'atribut.'; -$lang['attrs_modified'] = 'Alguns atributs (%s) foren modificats i estan remarcats més abaix.'; -$lang['attr_modified'] = 'Un atribut (%s) fore modificat i està remarcat més abaix.'; -$lang['viewing_read_only'] = 'Mostrant l\'objecte en el mode de no alterar.'; -$lang['change_entry_rdn'] = 'Modificar el RDN d\'aquest objecte'; -$lang['no_new_attrs_available'] = 'No hi han atributs nous disponibles per aquest objecte'; -$lang['binary_value'] = 'Valor binari'; -$lang['add_new_binary_attr'] = 'Afegir valor binari'; -$lang['add_new_binary_attr_tooltip'] = 'Afegir atribut/valor binari d\'un arxiu'; -$lang['alias_for'] = 'Sinònim per a'; -$lang['download_value'] = 'Descarregar valor'; -$lang['delete_attribute'] = 'Esborrar atribut'; -$lang['true'] = 'veritat'; -$lang['false'] = 'fals'; -$lang['none_remove_value'] = 'cap, esborrar valor'; -$lang['really_delete_attribute'] = 'Esborrar realment l\'atribut?'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Les següents ObjectClass són presents en aquest servidor LDAP.'; -$lang['the_following_attributes'] = 'Les següents attributeTypes són presents en aquest servidor LDAP.'; -$lang['the_following_matching'] = 'Les següents matching rules són presents en aquest servidor LDAP.'; -$lang['the_following_syntaxes'] = 'Les següents sintaxis són presents en aquest servidor LDAP.'; -$lang['jump_to_objectclass'] = 'Saltar a una ObjectClass'; -$lang['jump_to_attr'] = 'Saltar a un atribut'; -$lang['schema_for_server'] = 'Esquema del servidor '; -$lang['required_attrs'] = 'Atributs Requerits (MUST)'; -$lang['optional_attrs'] = 'Atributs Opcionals (MAY)'; -$lang['OID'] = 'OID'; -$lang['desc'] = 'Descripció'; -$lang['name'] = 'Nom'; -$lang['is_obsolete'] = 'Aquesta ObjectClass és obsoleta'; -$lang['inherits'] = 'Hereda'; -$lang['jump_to_this_oclass'] = 'Saltar a aquesta ObjectClass'; -$lang['matching_rule_oid'] = 'OID de Matching Rule'; -$lang['syntax_oid'] = 'OID de Sintaxi'; -$lang['not_applicable'] = 'no es aplicable'; -$lang['not_specified'] = 'no especificada'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Entrada \'%s\' esborrada correctament.'; -$lang['you_must_specify_a_dn'] = 'Has d\'especificar un DN'; -$lang['could_not_delete_entry'] = 'No he pogut esborrar l\'entrada: %s'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nous atributs requerits'; -$lang['requires_to_add'] = 'Aquesta acció exigeix que s\'afegeixin'; -$lang['new_attributes'] = 'nous atributs'; -$lang['new_required_attrs_instructions'] = 'Instruccions: Per afegir aquesta ObjectClass a aquest objecte, s\'ha d\'especificar'; -$lang['that_this_oclass_requires'] = 'que aquest ObjectClass requereix. Es pot fer amb aquest formulari.'; -$lang['add_oclass_and_attrs'] = 'Afegir ObjectClass i Atributs'; - -// General -$lang['chooser_link_tooltip'] = 'Fer click per seleccionar un objecte gràficament'; -$lang['no_updates_in_read_only_mode'] = 'No es pot modificar l\'objecte si el servidor està operant en mode inalterable.'; -$lang['bad_server_id'] = 'L\'identificador de servidor està malament'; -$lang['not_enough_login_info'] = 'No tinc suficient informació per conectar al servidor. Si us plau configurar correctament l\'arxiu config.php'; -$lang['could_not_connect'] = 'No s\'ha pogut conectar al servidor LDAP'; -$lang['could_not_perform_ldap_mod_add'] = 'No s\'ha pogut fer l\'operació del ldap_mod_add.'; -$lang['bad_server_id_underline'] = 'L\'identificador del servidor està malament: '; -$lang['success'] = 'Exit'; -$lang['server_colon_pare'] = 'Servidor: '; -$lang['look_in'] = 'Buscant a: '; -$lang['missing_server_id_in_query_string'] = 'No està present l\'identificador del servidor a la URL'; -$lang['missing_dn_in_query_string'] = 'No està present el DN a la URL'; -$lang['back_up_p'] = 'Tornar a...'; -$lang['no_entries'] = 'no hi han entrades'; -$lang['not_logged_in'] = 'No estàs autenticat'; -$lang['could_not_det_base_dn'] = 'No he pogut determinar la base DN'; - -// Add value form -$lang['add_new'] = 'Afegir'; -$lang['value_to'] = 'valor a'; -$lang['server'] = 'Servidor'; -$lang['distinguished_name'] = 'Nom distinguit'; -$lang['current_list_of'] = 'La llista actual de'; -$lang['values_for_attribute'] = 'valors per a l\'atribut'; -$lang['inappropriate_matching_note'] = 'Nota: Sino has configurat una regla \'EQUALITY\' al servidor LDAP, rebràs un error \'inappropriate matching\''; -$lang['enter_value_to_add'] = 'Proveïr el valor per afegir: '; -$lang['new_required_attrs_note'] = 'Nota: Es posible que es requereixi afegir nous atributs per satisfer els requisits d\'aquesta ObjectClass'; -$lang['syntax'] = 'Sintaxi'; - -//copy.php -$lang['copy_server_read_only'] = 'No es poden realitzar les modificacions si el servidor està operant en mode inalterable'; -$lang['copy_dest_dn_blank'] = 'No se emplenat el formulari de DN.'; -$lang['copy_dest_already_exists'] = 'L\'entrada de destí (%s) encara existeix.'; -$lang['copy_dest_container_does_not_exist'] = 'El contenidor de destí (%s) no existeix.'; -$lang['copy_source_dest_dn_same'] = 'El DN de la font i el DN de destí son els mateixos.'; -$lang['copy_copying'] = 'Copiant '; -$lang['copy_recursive_copy_progress'] = 'El progrés de la còpia recurrent'; -$lang['copy_building_snapshot'] = 'Construïnt la \'foto\' de l\'arbre per a copiar... '; -$lang['copy_successful_like_to'] = 'Exit! Desitges '; -$lang['copy_view_new_entry'] = 'Veure el nou objecte?'; -$lang['copy_failed'] = 'Fallida al copiar DN: '; - -//edit.php -$lang['missing_template_file'] = 'Error: falta la plantilla, '; -$lang['using_default'] = 'Fent anar l\'arxiu per defecte.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar '; -$lang['copyf_to_new_object'] = 'a un objecte nou'; -$lang['copyf_dest_dn'] = 'DN de destí'; -$lang['copyf_dest_dn_tooltip'] = 'El DN sencer de la nova entrada a ser creada quan es copii l\'entrada font'; -$lang['copyf_dest_server'] = 'Servidor de destí'; -$lang['copyf_note'] = 'Nota: Copiar entre dos servidor funciona solsament si no hi han violacions de l\'esquema.'; -$lang['copyf_recursive_copy'] = 'Esborrar tots els fills recurrentment també?'; - - -//create.php -$lang['create_required_attribute'] = 'T\'has deixar el valor en blanc de l\'atribut requerit %s.'; -$lang['create_redirecting'] = 'Redirigint'; -$lang['create_here'] = 'aquí'; -$lang['create_could_not_add'] = 'No he pogut afegir l\'objecte al servidor LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Crear Objecte'; -$lang['createf_choose_temp'] = 'Escull una plantilla'; -$lang['createf_select_temp'] = 'Selecciona una plantilla per al procès de creació'; -$lang['createf_proceed'] = 'Procedir'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Al servidor'; -$lang['ctemplate_no_template'] = 'No s\'ha especificat cap plantilla a les variables del POST.'; -$lang['ctemplate_config_handler'] = 'La teva configuració especifica un manejador de'; -$lang['ctemplate_handler_does_not_exist'] = 'per aquesta plantilla. Però, aquest manejador no existeix al directori \'plantilla/creació\'.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Encara no t\'has autenticat al servidor selectionat, no pots fer cap recerca.'; -$lang['click_to_go_to_login_form'] = 'Clica aquí per anar al formulari d\'autenticació'; -$lang['unrecognized_criteria_option'] = 'Opció de criteri desconeguda: '; -$lang['if_you_want_to_add_criteria'] = 'Si vols afegir el teu propi criteri a la llista. Estigues segur d\'editar search.php per manejar-lo. Sortint.'; -$lang['entries_found'] = 'Entrades trobades: '; -$lang['filter_performed'] = 'Filtre realitzat: '; -$lang['search_duration'] = 'Recerca realitzada per phpLDAPadmin a'; -$lang['seconds'] = 'segons'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'L\'abast en el que buscar'; -$lang['scope_sub'] = 'Sub (tot el sub-arbre)'; -$lang['scope_one'] = 'Un (un nivell per d\'avall de la base)'; -$lang['scope_base'] = 'Base (sols base dn)'; -$lang['standard_ldap_search_filter'] = 'Filtre de recerca estàndar de LDAP. Exemple: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Filtre de recerca'; -$lang['list_of_attrs_to_display_in_results'] = 'Una llista d\'atributs per mostrar als resultats (separats per comes)'; -$lang['show_attributes'] = 'Mostrar atributs'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Buscar entrades les quals:'; -$lang['equals'] = 'sigui igual'; -$lang['starts with'] = 'comenci amb'; -$lang['contains'] = 'contingui'; -$lang['ends with'] = 'acabi amb'; -$lang['sounds like'] = 'soni com'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'No s\'ha pogut treure informació LDAP del servidor'; -$lang['server_info_for'] = 'Informació del servidor per a: '; -$lang['server_reports_following'] = 'El servidor mostra la següent informació sobre ell mateix'; -$lang['nothing_to_report'] = 'Aquest servidor no té res a mostrar.'; - -//update.php -$lang['update_array_malformed'] = 'l\'update_array està malformat. Aixó podria ser una errada del phpLDAPadmin. Si us plau reportala.'; -$lang['could_not_perform_ldap_modify'] = 'No he pogut executar l\'operació ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Vols fer aquests canvis?'; -$lang['attribute'] = 'Atribut'; -$lang['old_value'] = 'Valor vell'; -$lang['new_value'] = 'Valor nou'; -$lang['attr_deleted'] = '[atribut esborrat]'; -$lang['commit'] = 'Cometre'; -$lang['cancel'] = 'Cancel.lar'; -$lang['you_made_no_changes'] = 'No has fet cap canvi'; -$lang['go_back'] = 'Tornar enrera'; - -// welcome.php -$lang['welcome_note'] = 'Fes anar el menú de l\'esquerra per a navegar'; -$lang['credits'] = "Crèdits"; -$lang['changelog'] = "Històric de canvis"; -$lang['documentation'] = "Documentació"; - - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nom d\'arxiu insegur: '; -$lang['no_such_file'] = 'Arxiu no existent: '; - -//function.php -$lang['auto_update_not_setup'] = 'Has activat els auto_uid_numbers per %s a la teva configuració, - pero no has especificat l\'auto_uid_number_mechanism. Si us plau soluciona - aquest problema.'; -$lang['uidpool_not_set'] = 'Has especificat l\'auto_uid_number_mechanism com uidpool - a la teva configuració per al servidor %s, pero no has especificat el - audo_uid_number_uid_pool_dn. Si us plau especifica\'l avans de procedir.'; -$lang['uidpool_not_exist'] = 'Sembla ser que el uidPool que has especificat a la teva configuració (%s) - no existeix.'; -$lang['specified_uidpool'] = 'Has especificat l\'auto_uid_number_mechanism com search a la teva - configuració per al servidor %s, pero no has especificat el - auto_uid_number_search_base. Si us plau especifica\'l avans de procedir.'; -$lang['auto_uid_invalid_value'] = 'Has especificat un valor no vàlid per a l\'auto_uid_number_mechanism (%s) - a la teva configuració. Sols uidpool i search son vàlids. - Si us plau soluciona aquest problema.'; -$lang['error_auth_type_config'] = 'Error: Tens un error al teu arxiu de configuració. Els dos únics valors acceptats per - \'auth_type\' a la secció $servers son \'config\' i \'form\'. Tu has ficat \'%s\', - el qual no està acceptat. '; -$lang['php_install_not_supports_tls'] = 'La teva instalació de PHP no soporta TLS'; -$lang['could_not_start_tls'] = 'No he pogut iniciar el TLS.
    Revisa la teva configuració del servidor LDAP.'; -$lang['auth_type_not_valid'] = 'Tens un error a l\'arxiu de configuració. auth_type de %s no es vàlid.'; -$lang['ldap_said'] = 'LDAP diguè: %s

    '; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'mostrar'; -$lang['delete_photo'] = 'Esborrar foto'; -$lang['install_not_support_blowfish'] = 'La teva instalació de PHP no soporta el tipus d\'encriptació blowfish.'; -$lang['install_no_mash'] = 'La teva instalació de PHP no té la funció mhash(). No puc fer hash SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto conté errors
    '; -$lang['ferror_number'] = 'Error número: %s (%s)

    '; -$lang['ferror_discription'] = 'Descripció: %s

    '; -$lang['ferror_number_short'] = 'Error número: %s

    '; -$lang['ferror_discription_short'] = 'Descripció: (no hi ha descripció)
    '; -$lang['ferror_submit_bug'] = 'Es una errada del phpLDAPadmin? Si ho és, si us plau diguen\'s-ho.'; -$lang['ferror_unrecognized_num'] = 'Número d\'error desconegut: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Has trobat un error fatal del phpLDAPadmin!
    Error:%s (%s)
    Arxiu:%s línia %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Servidor Web:%s
    - Envía aquesta errada fent click aquí.

    '; -$lang['ferror_congrats_found_bug'] = 'Felicitats! Has trobat una errada al phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Nivell:%s
    Arxiu:%s
    Línia:%s
    Caller:%s
    Versió PLA:%s
    Versió PHP:%s
    PHP SAPI:%s
    Servidor Web:%s
    -
    - Si us plau envía aquesta errada fent click abaix!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar arxiu LDIF'; -$lang['select_ldif_file'] = 'Selecciona un arxiu LDIF:'; -$lang['select_ldif_file_proceed'] = 'Procedir >>'; - -//ldif_import -$lang['add_action'] = 'Afegint...'; -$lang['delete_action'] = 'Esborrant...'; -$lang['rename_action'] = 'Renombrant...'; -$lang['modify_action'] = 'Modificant...'; - -$lang['failed'] = 'fallat'; -$lang['ldif_parse_error'] = 'Error de parsejat LDIF'; -$lang['ldif_could_not_add_object'] = 'No he pogut afegir l\'objecte:'; -$lang['ldif_could_not_rename_object'] = 'No he pogut renombrar l\'objecte:'; -$lang['ldif_could_not_delete_object'] = 'No he pogut esborrar l\'objecte:'; -$lang['ldif_could_not_modify_object'] = 'No he pogut modificar l\'objecte:'; -$lang['ldif_line_number'] = 'Línia Número:'; -$lang['ldif_line'] = 'Línia:'; - -?> diff --git a/lang/recoded/cz.php b/lang/recoded/cz.php deleted file mode 100644 index 1ab9b98..0000000 --- a/lang/recoded/cz.php +++ /dev/null @@ -1,510 +0,0 @@ - - - * --- INSTRUCTIONS FOR TRANSLATORS --- - * - * If you want to write a new language file for your language, - * please submit the file on SourceForge: - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * Use the option "Check to Upload and Attach a File" at the bottom - * - * Thank you! - * - */ - -// Search form -$lang['simple_search_form_str'] = 'Rychlé vyhledávání'; -$lang['advanced_search_form_str'] = 'Rozšířené vyhledávání'; -$lang['server'] = 'Server'; -$lang['search_for_entries_whose'] = 'Vyhledat objekty kde'; -$lang['base_dn'] = 'Výchozí DN'; -$lang['search_scope'] = 'Oblast prohledávání'; -$lang['show_attributes'] = 'Zobrazovat atributy'; -$lang['Search'] = 'Vyhledat'; -$lang['predefined_search_str'] = 'Zvolte předdefinované vyhledávání'; -$lang['predefined_searches'] = 'Předdefinovaná vyhledávání'; -$lang['no_predefined_queries'] = 'V config.php nejsou definovány žádné dotazy.'; - -// Tree browser -$lang['request_new_feature'] = 'Napište si o novou funkci'; -$lang['report_bug'] = 'Nahlásit chybu'; -$lang['schema'] = 'schéma'; -$lang['search'] = 'vyhledat'; -$lang['create'] = 'vytvořit'; -$lang['info'] = 'info'; -$lang['import'] = 'import'; -$lang['refresh'] = 'obnovit'; -$lang['logout'] = 'odhlásit se'; -$lang['create_new'] = 'Vytvořit nový'; -$lang['view_schema_for'] = 'Zobrazit schéma pro'; -$lang['refresh_expanded_containers'] = 'Obnovit všechny otevřené složky'; -$lang['create_new_entry_on'] = 'Vytvořit nový objekt v'; -$lang['new'] = 'nový'; -$lang['view_server_info'] = 'Zobrazit serverem poskytované informace'; -$lang['import_from_ldif'] = 'Importovat data ze souboru LDIF'; -$lang['logout_of_this_server'] = 'Odhlásit se od tohoto serveru'; -$lang['logged_in_as'] = 'Přihlášen jako: '; -$lang['read_only'] = 'jen pro čtení'; -$lang['read_only_tooltip'] = 'Tento atribut byl administrátorem phpLDAPadminu označen jako "jen pro čtení".'; -$lang['could_not_determine_root'] = 'Nepodařilo se zjistit kořen Vašeho LDAP stromu.'; -$lang['ldap_refuses_to_give_root'] = 'Zdá se, že LDAP server je nastavený tak, že nezobrazuje svůj kořen.'; -$lang['please_specify_in_config'] = 'Nastavte ho prosím v souboru config.php'; -$lang['create_new_entry_in'] = 'Vytvořit nový objekt v'; -$lang['login_link'] = 'Přihlásit se...'; -$lang['login'] = 'přihlásit'; - -// Entry display -$lang['delete_this_entry'] = 'Smazat tento objekt'; -$lang['delete_this_entry_tooltip'] = 'Budete požádáni o potvrzení tohoto rozhodnutí'; -$lang['copy_this_entry'] = 'Kopírovat tento objekt'; -$lang['copy_this_entry_tooltip'] = 'Okopíruje tento objekt do jiného umístění, nového DN, nebo na jiný server'; -$lang['export'] = 'Export'; -$lang['export_tooltip'] = 'Uložit přepis objektu'; -$lang['export_subtree_tooltip'] = 'Uloží přepis tohoto objektu a všech jeho potomků'; -$lang['export_subtree'] = 'Exportovat podstrom'; -$lang['create_a_child_entry'] = 'Vytvořit nového potomka'; -$lang['rename_entry'] = 'Přejmenovat objekt'; -$lang['rename'] = 'Přejmenovat'; -$lang['add'] = 'Přidat'; -$lang['view'] = 'Zobrazit'; -$lang['view_one_child'] = 'Zobrazit potomka'; -$lang['view_children'] = 'Zobrazit potomky (%s)'; -$lang['add_new_attribute'] = 'Přidat nový atribut'; -$lang['add_new_objectclass'] = 'Přidat objectClass'; -$lang['hide_internal_attrs'] = 'Schovat interní atributy'; -$lang['show_internal_attrs'] = 'Zobrazit interní atributy'; -$lang['attr_name_tooltip'] = 'Klepnutím zobrazíte definiční schéma pro atribut typu \'%s\''; -$lang['none'] = 'žádný'; -$lang['no_internal_attributes'] = 'Žádné interní atributy'; -$lang['no_attributes'] = 'Tento objekt nemá atributy'; -$lang['save_changes'] = 'Uložit změny'; -$lang['add_value'] = 'přidat hodnotu'; -$lang['add_value_tooltip'] = 'Přidá další hodnotu k atributu \'%s\''; -$lang['refresh_entry'] = 'Obnovit'; -$lang['refresh_this_entry'] = 'Obnovit tento objekt'; -$lang['delete_hint'] = 'Rada: Pro smazání atributu vyprázděte textové políčko a klepněte na Uložit.'; -$lang['attr_schema_hint'] = 'Rada: K zobrazení schémata pro atribut klepněte na název atributu.'; -$lang['attrs_modified'] = 'Některé atributy (%s) byly modifikováný a jsou zvýrazněny dole.'; -$lang['attr_modified'] = 'Atribut (%s) byl změněn a je zvýrazněn dole.'; -$lang['viewing_read_only'] = 'Prohlížení objekt v módu "pouze pro čtení".'; -$lang['no_new_attrs_available'] = 'nejsou dostupné žádné nové atributy pro tento objekt'; -$lang['no_new_binary_attrs_available'] = 'nejsou dostupné žádné nové binární atributy pro tento objekt'; -$lang['binary_value'] = 'Binarní hodnota'; -$lang['add_new_binary_attr'] = 'Přidat nový binarní atribut'; -$lang['alias_for'] = 'Poznámka: \'%s\' je aliasem pro \'%s\''; -$lang['download_value'] = 'stáhnout data'; -$lang['delete_attribute'] = 'smazat atribut'; -$lang['true'] = 'true'; -$lang['false'] = 'false'; -$lang['none_remove_value'] = 'žádný, odebrat hodnotu'; -$lang['really_delete_attribute'] = 'Skutečně smazat atribut'; -$lang['add_new_value'] = 'Přidat novou hodnotu'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Následující objectClass jsou podporovány tímto LDAP serverem.'; -$lang['the_following_attributes'] = 'Následující attributeType jsou podporovány tímto LDAP serverem.'; -$lang['the_following_matching'] = 'Následující kritéria výběru jsou podporovány tímto LDAP serverem.'; -$lang['the_following_syntaxes'] = 'Následující syntaxe jsou podporovány tímto LDAP serverem.'; -$lang['schema_retrieve_error_1']='Server plně nepodporuje LDAP protocol.'; -$lang['schema_retrieve_error_2']='Vaše verze PHP korektně neprovede tento dotaz.'; -$lang['schema_retrieve_error_3']='Nebo možná phpLDAPadmin neví jak získat schéma pro Váš server.'; -$lang['jump_to_objectclass'] = 'Jdi na objectClass'; -$lang['jump_to_attr'] = 'Jdi na typ atributu'; -$lang['jump_to_matching_rule'] = 'Jdi na Matching Rule'; -$lang['schema_for_server'] = 'Schéma serveru'; -$lang['required_attrs'] = 'Vyžadované atributy'; -$lang['optional_attrs'] = 'Volitelné atributy'; -$lang['optional_binary_attrs'] = 'Volitelné binární atributy'; -$lang['OID'] = 'OID'; -$lang['aliases']='Aliasy'; -$lang['desc'] = 'Popis'; -$lang['no_description']='žádný popis'; -$lang['name'] = 'Název'; -$lang['equality']='Equality'; -$lang['is_obsolete'] = 'Tato objectClass je zastaralá'; -$lang['inherits'] = 'Odvozeno od objectClass'; -$lang['inherited_from'] = 'Odvozeno od objectClass'; -$lang['parent_to'] = 'Rodičovská objectClass'; -$lang['jump_to_this_oclass'] = 'Jdi na definici této objectClass'; -$lang['matching_rule_oid'] = 'Výběrové kritérium OID'; -$lang['syntax_oid'] = 'Syntaxe OID'; -$lang['not_applicable'] = 'nepoužitelný'; -$lang['not_specified'] = 'nespecifikovaný'; -$lang['character']='znak'; -$lang['characters']='znaků'; -$lang['used_by_objectclasses']='Používáno těmito objectClass'; -$lang['used_by_attributes']='Používají atributy'; -$lang['maximum_length']='Maximální délka'; -$lang['attributes']='Typy atributů'; -$lang['syntaxes']='Syntaxe'; -$lang['matchingrules']='Matching Rules'; -$lang['oid']='OID'; -$lang['obsolete']='Zastaralé'; -$lang['ordering']='Řazení'; -$lang['substring_rule']='Substring Rule'; -$lang['single_valued']='Single Valued'; -$lang['collective']='Collective'; -$lang['user_modification']='User Modification'; -$lang['usage']='Použití'; -$lang['could_not_retrieve_schema_from']='Nelze získat schéma z'; -$lang['type']='Typ'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objekt \'%s\' byl úspěšně odstraněn.'; -$lang['you_must_specify_a_dn'] = 'Musíte zadat DN'; -$lang['could_not_delete_entry'] = 'Nebylo možné odstranit objekt: %s'; -$lang['no_such_entry'] = 'Objekt neexistuje: %s'; -$lang['delete_dn'] = 'Smazat %s'; -$lang['permanently_delete_children'] = 'Odstranit také všechny potomky?'; -$lang['entry_is_root_sub_tree'] = 'Tento objekt je kořenem podstromu, který obsahuje %s objektů.'; -$lang['view_entries'] = 'zobrazit objekty'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin rekurzivně odstraní tento objekt a všech jeho %s potomků. Pozorně si prohlédněte seznam objektů, které tato operace odstraní. Přejete si pokračovat?'; -$lang['confirm_recursive_delete_note'] = 'Poznámka: tato operace může mít fatální následky a nelze ji vrátit zpět. Speciální pozornost věnujte aliasům, odkazům a ostatním věcem, které můžou způsobit problémy.'; -$lang['delete_all_x_objects'] = 'Smazat všech %s objektů'; -$lang['recursive_delete_progress'] = 'Průběh rekurzivního odstranění'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objekt %s a jeho podstrom byly úspěšně odstraněny.'; -$lang['failed_to_delete_entry'] = 'Nepodařilo se odstranit objekt %s'; -$lang['list_of_entries_to_be_deleted'] = 'Seznam objektů k odstranění:'; -$lang['sure_permanent_delete_object']='Jste si skutečně jisti, že chcete odstranit tento objekt?'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Atribut "%s" je v konfiguraci phpLDAPadminu označen jako "jen pro čtení".'; -$lang['no_attr_specified'] = 'Nebylo zadáno jméno atributu.'; -$lang['no_dn_specified'] = 'Nebylo zadáno DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Nevyplnili jste hodnotu atributu. Vraťte se zpět a akci opakujte.'; -$lang['failed_to_add_attr'] = 'Přidání atributu selhalo.'; -$lang['file_empty'] = 'Soubor, který jste zvolili je buď prázdný nebo neexistuje. Vraťte se prosím zpět a akci opakujte.'; -$lang['invalid_file'] = 'Bezpečnostní chyba: Soubor, který uploadujete může být závadný.'; -$lang['warning_file_uploads_disabled'] = 'V konfiguraci PHP jsou zakázány uploady souborů. Pro pokračování upravte prosím php.ini.'; -$lang['uploaded_file_too_big'] = 'Soubor, který se pokoušeli uložit je příliš veliký. Upravte prosím hodnotu upload_max_size v php.ini.'; -$lang['uploaded_file_partial'] = 'Při uploadu souboru došlo zřejmě k selhání sítě, neboť se podařilo získat jen část souboru.'; -$lang['max_file_size'] = 'Maximální velikost souboru: %s'; - -// Updating values -$lang['modification_successful'] = 'Úprava proběhla úspěšně!'; -$lang['change_password_new_login'] = 'Kvůli změně svého hesla se nyní musíte přihlásit znova - s novým heslem.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nový vyžadovaný atribut'; -$lang['requires_to_add'] = 'K provedení této akce musíte přidat'; -$lang['new_attributes'] = 'nové atributy'; -$lang['new_required_attrs_instructions'] = 'Návod: K přiřazení této objectClass k vybranému objektu musíte zadat'; -$lang['that_this_oclass_requires'] = 'atributy, které jsou touto objectClass vyžadovány. Můžete tak učinit v tomto formuláři.'; -$lang['add_oclass_and_attrs'] = 'Přidat objectClass a atributy'; -$lang['objectclasses'] = 'objectClassy'; - -// General -$lang['chooser_link_tooltip'] = 'Otevře popup okno, ve kterém zvolíte DN'; -$lang['no_updates_in_read_only_mode'] = 'Nelze provádět úpravy dokud je server v módu "pouze pro čtení"'; -$lang['bad_server_id'] = 'Špatné ID serveru'; -$lang['not_enough_login_info'] = 'Nedostatek informací pro přihlášení k serveru. Ověřte prosím nastavení.'; -$lang['could_not_connect'] = 'Nelze se připojit k LDAP serveru.'; -$lang['could_not_connect_to_host_on_port'] = 'Nelze se připojit k "%s" na portu "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nelze provést ldap_mod_add operaci.'; -$lang['bad_server_id_underline'] = 'server_id: '; -$lang['success'] = 'Hotovo'; -$lang['server_colon_pare'] = 'Server: '; -$lang['look_in'] = 'Prohlížení: '; -$lang['missing_server_id_in_query_string'] = 'V požadavku nebylo uvedeno žádné ID serveru!'; -$lang['missing_dn_in_query_string'] = 'V požadavku nebyl uveden žádný DN!'; -$lang['back_up_p'] = 'O úroveň výš...'; -$lang['no_entries'] = 'žádné objekty'; -$lang['not_logged_in'] = 'Nepřihlášen'; -$lang['could_not_det_base_dn'] = 'Nelze zjistit výchozí DN'; -$lang['please_report_this_as_a_bug']='Nahlašte toto prosím jako chybu.'; -$lang['reasons_for_error']='Toto se může přihodit z několika příčin. Nejpravděpodobnější jsou:'; -$lang['yes']='Ano'; -$lang['no']='Ne'; -$lang['go']='Jdi'; -$lang['delete']='Odstranit'; -$lang['back']='Zpět'; -$lang['object']='objekt'; -$lang['delete_all']='Odstranit vše'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'rada'; -$lang['bug'] = 'chyba'; -$lang['warning'] = 'upozornění'; -$lang['light'] = 'light'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Proveď >>'; - -// Add value form -$lang['add_new'] = 'Přidat nový'; -$lang['value_to'] = 'hodnota pro'; -$lang['distinguished_name'] = 'Distinguished Name'; -$lang['current_list_of'] = 'Současný výpis'; -$lang['values_for_attribute'] = 'hodnoty pro atribut'; -$lang['inappropriate_matching_note'] = 'Poznámka: Pokud nenastavíte na tomto LDAP serveru pravidlo
    EQUALITY pro tento atribut, dojde k chybě při výběru objektů.'; -$lang['enter_value_to_add'] = 'Zadejte hodnotu, kterou chcete přidat:'; -$lang['new_required_attrs_note'] = 'Poznámka: Není vyloučené, že budete vyzváni k zadání nových atributů vyžadovaných touto objectClass'; -$lang['syntax'] = 'Syntaxe'; - -//copy.php -$lang['copy_server_read_only'] = 'Nemůžete provádět změny dokud je server v módu "jen pro čtení"'; -$lang['copy_dest_dn_blank'] = 'Ponechali jste kolonku cílové DN prázdnou.'; -$lang['copy_dest_already_exists'] = 'Objekt (%s) již v cílovém DN existuje.'; -$lang['copy_dest_container_does_not_exist'] = 'Cílová složka (%s) neexistuje.'; -$lang['copy_source_dest_dn_same'] = 'Zdrojové a cílové DN se shodují.'; -$lang['copy_copying'] = 'Kopíruji '; -$lang['copy_recursive_copy_progress'] = 'Průběh rekurzivního kopírování'; -$lang['copy_building_snapshot'] = 'Sestavuji obraz stromu ke kopírování... '; -$lang['copy_successful_like_to'] = 'Kopie úspěšně dokončena! Přejete si '; -$lang['copy_view_new_entry'] = 'zobrazit nový objekt'; -$lang['copy_failed'] = 'Nepodařilo se okopírovat DN: '; - -//edit.php -$lang['missing_template_file'] = 'Upozornění: chybí šablona, '; -$lang['using_default'] = 'Používám výchozí.'; -$lang['template'] = 'Šablona'; -$lang['must_choose_template'] = 'Musíte zvolit šablonu'; -$lang['invalid_template'] = '%s je neplatná šablona'; -$lang['using_template'] = 'použítím šablony'; -$lang['go_to_dn'] = 'Jdi na %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopírovat '; -$lang['copyf_to_new_object'] = 'jako nový objekt'; -$lang['copyf_dest_dn'] = 'Cílové DN'; -$lang['copyf_dest_dn_tooltip'] = 'Celé DN nového objektu bude vytvořeno kopií zdrojového objektu'; -$lang['copyf_dest_server'] = 'Cílový server'; -$lang['copyf_note'] = 'Rada: Kopírování mezi servery funguje jedině za předpokladu, že nedojde k neshodě schémat'; -$lang['copyf_recursive_copy'] = 'Při kopírování zahrnout všechny potomky tohoto objektu.'; -$lang['recursive_copy'] = 'Rekurzivní kopie'; -$lang['filter'] = 'Filtr'; -$lang['filter_tooltip'] = 'Při rekurzivní kopii pracovat pouze s objekty, které splňují zvolený filtr'; - -//create.php -$lang['create_required_attribute'] = 'Nevyplnili jste pole pro vyžadovaný atribut %s.'; -$lang['redirecting'] = 'Přesměrovávám'; -$lang['here'] = 'zde'; -$lang['create_could_not_add'] = 'Nelze objekt do LDAP serveru přidat.'; - -//create_form.php -$lang['createf_create_object'] = 'Vytvořit objekt'; -$lang['createf_choose_temp'] = 'Vyberte šablonu'; -$lang['createf_select_temp'] = 'Zvolte šablonu pro vytvoření objektu'; -$lang['createf_proceed'] = 'Provést'; -$lang['rdn_field_blank'] = 'Ponechali jste pole RDN nevyplněné.'; -$lang['container_does_not_exist'] = 'Složka (%s) neexistuje. Opakujte prosím akci.'; -$lang['no_objectclasses_selected'] = 'Nepřiřadili jste žádné objectClass k tomuto objektu. Vraťte se prosím zpět a akci opakujte.'; -$lang['hint_structural_oclass'] = 'Nápověda: Musíte zvolit alespoň jednu structural objectClass.'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Na serveru'; -$lang['ctemplate_no_template'] = 'V POST požadavku nebyla zaslána žádná šablona.'; -$lang['ctemplate_config_handler'] = 'Vaše nastavení uvádí obsluhovač '; -$lang['ctemplate_handler_does_not_exist'] = 'pro tuto šablonu. Ale tento obsluhovač nelze v adresáři templates/creation nalézt.'; -$lang['create_step1'] = 'Krok 1 ze 2: Jméno a objectClass(y)'; -$lang['create_step2'] = 'Krok 2 ze 2: Atributy a hodnoty'; -$lang['relative_distinguished_name'] = 'Relativní Distinguished Name'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(příklad: cn=MujNovyUzivatel)'; -$lang['container'] = 'Složka'; -$lang['alias_for'] = 'Alias k %s'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nelze provádět vyhledávání na serveru bez předchozího přihlášení.'; -$lang['click_to_go_to_login_form'] = 'Klepnutím budete přesměrováni na formulář k přihlášení'; -$lang['unrecognized_criteria_option'] = 'Neznámá vyhledávací kritéria: '; -$lang['if_you_want_to_add_criteria'] = 'Pokud si přejete přidat svoje vlastní vyhledávací kritéria, ujistěte se, že jste je přidali do search.php.'; -$lang['entries_found'] = 'Nalezené objekty: '; -$lang['filter_performed'] = 'Uplatněný filtr: '; -$lang['search_duration'] = 'Vyhledávání dokončeno za'; -$lang['seconds'] = 'sekund'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Oblast vyhledávání'; -$lang['scope_sub'] = 'Celý podstrom'; -$lang['scope_one'] = 'O jednu úroveň níž'; -$lang['scope_base'] = 'Pouze výchozí DN'; -$lang['standard_ldap_search_filter'] = 'Standardní LDAP vyhledávací filtr. Přiklad: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Vyhledávací filtr'; -$lang['list_of_attrs_to_display_in_results'] = 'Seznam atributů zobrazených ve výsledku hledání (oddělené čárkou)'; -$lang['show_attributes'] = 'Zobrazit atributy'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Vyhledat objekty kde'; -$lang['equals'] = 'je'; -$lang['starts with'] = 'začíná na'; -$lang['contains'] = 'obsahuje'; -$lang['ends with'] = 'končí na'; -$lang['sounds like'] = 'zní jako'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nelze získat informace ze serveru LDAP'; -$lang['server_info_for'] = 'Server info pro: '; -$lang['server_reports_following'] = 'Server o sobě poskytuje následující informace'; -$lang['nothing_to_report'] = 'Server neposkytuje žádné informace.'; - -//update.php -$lang['update_array_malformed'] = 'update_array je poškozené. Může se jednat o chybu v phpLDAPadmin. Prosíme Vás, abyste chybu nahlásili.'; -$lang['could_not_perform_ldap_modify'] = 'Nelze provést operaci ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Přejete si provést tyto změny?'; -$lang['attribute'] = 'Atribut'; -$lang['old_value'] = 'Původní hodnota'; -$lang['new_value'] = 'Nová hodnota'; -$lang['attr_deleted'] = '[atribut odstraněn]'; -$lang['commit'] = 'Odeslat'; -$lang['cancel'] = 'Storno'; -$lang['you_made_no_changes'] = 'Neprovedli jste žádné změny'; -$lang['go_back'] = 'Zpět'; - -// welcome.php -$lang['welcome_note'] = 'K navigaci použijte prosím menu v levé části obrazovky'; -$lang['credits'] = 'Autoři'; -$lang['changelog'] = 'ChangeLog'; -$lang['donate'] = 'Podpořit projekt'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nebezpečný název souboru: '; -$lang['no_such_file'] = 'Soubor nelze nalézt: '; - -//function.php -$lang['auto_update_not_setup'] = 'V konfiguraci jste zapnuli podporu auto_uid_numbers pro %s, ale nespecifikovali jste auto_uid_number_mechanism. Napravte prosím nejprve tento problém.'; -$lang['uidpool_not_set'] = 'V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako uidpool, ale neuvedli jste audo_uid_number_uid_pool_dn. Napravte prosím nejprve tento problém.'; -$lang['uidpool_not_exist'] = 'Zdá se, že uidPool uvedený v konfiguraci (%s) neexistuje.'; -$lang['specified_uidpool'] = 'V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako search, ale neuvedli jste auto_uid_number_search_base. Napravte prosím nejprve tento problém.'; -$lang['auto_uid_invalid_credential'] = 'Se zadanými přístupovými oprávněními se nelze připojit k %s a získat auto_uid. Zkontrolujte prosím konfiguraci.'; -$lang['bad_auto_uid_search_base'] = 'V konfiguraci phpLDAPadminu je uveden neplatný parametr auto_uid_search_base pro server %s'; -$lang['auto_uid_invalid_value'] = 'V konfiguraci je uvedena neplatná hodnota auto_uid_number_mechanism (%s). Platné hodnoty jsou pouze uidpool a search. Napravte prosím nejprve tento problém.'; -$lang['error_auth_type_config'] = 'Chyba: Ve svém konfiguračním souboru jste u položky $servers[\'auth_type\'] uvedli chybnou hodnotu \'%s\'. Platné hodnoty jsou pouze \'config\' a \'form\'.'; -$lang['php_install_not_supports_tls'] = 'Tato instalace PHP neobsahuje podporu pro TLS'; -$lang['could_not_start_tls'] = 'Nelze inicializovat TLS.
    Zkontolujte prosím konfiguraci svého LDAP serveru.'; -$lang['could_not_bind_anon'] = 'K serveru se nelze připojit anonymně.'; -$lang['could_not_bind'] = 'Nelze se připojit k serveru LDAP.'; -$lang['anonymous_bind'] = 'Připojit anonymně'; -$lang['bad_user_name_or_password'] = 'Nesprávné jméno nebo heslo. Opakujte přihlášení.'; -$lang['redirecting_click_if_nothing_happens'] = 'Přesměrovávám... Klepněte sem, pokud se nic nestane.'; -$lang['successfully_logged_in_to_server'] = 'Úspěšně jste se přihlásili k serveru %s'; -$lang['could_not_set_cookie'] = 'Cookie nemohla být uložena.'; -$lang['ldap_said'] = 'Odpověď LDAP serveru: %s

    '; -$lang['ferror_error'] = 'Chyba'; -$lang['fbrowse'] = 'procházet'; -$lang['delete_photo'] = 'Odstranit fotografii'; -$lang['install_not_support_blowfish'] = 'Tato instalace PHP neobsahuje podporu pro šifru Blowfish.'; -$lang['install_not_support_md5crypt'] = 'Tato instalace PHP neobsahuje podporu pro šifru md5crypt.'; -$lang['install_no_mash'] = 'Tato instalace PHP nepodporuje funkci mhash(). Nelze aplikovat SHA hash.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto obsahuje chyby
    '; -$lang['ferror_number'] = 'Číslo chyby: %s (%s)

    '; -$lang['ferror_discription'] = 'Popis: %s

    '; -$lang['ferror_number_short'] = 'Číslo chyby: %s

    '; -$lang['ferror_discription_short'] = 'Popis: (popis není k dispozici)
    '; -$lang['ferror_submit_bug'] = 'Pokud je toto chyba v phpLDAPadmin, napište nám o tom.'; -$lang['ferror_unrecognized_num'] = 'Neznámé číslo chyby: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Narazili jste na nezávažnou, droubnou až zanedbatelnou chybu v phpLDAPadmin!
    Chyba:%s (%s)
    Soubor:%s řádka %s, voláno z %s
    Verze:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Klepnutím prosím ohlášte chybu.

    '; -$lang['ferror_congrats_found_bug'] = 'Blahopřejeme! Nalezli jste chybu v phpLDAPadmin. :-)

    - - - - - - - - - - -
    Chyba:%s
    Vážnost:%s
    Soubor:%s
    Řádka:%s
    Voláno z:%s
    Verze PLA:%s
    Verze PHP:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Klepnutím dole prosím ohlašte chybu!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importovat soubor LDIF'; -$lang['select_ldif_file'] = 'Zvolte soubor LDIF:'; -$lang['select_ldif_file_proceed'] = 'Proveď >>'; -$lang['dont_stop_on_errors'] = 'Ignorovat chyby'; - -//ldif_import -$lang['add_action'] = 'Přidávání...'; -$lang['delete_action'] = 'Odstraňování...'; -$lang['rename_action'] = 'Přejmenovávání...'; -$lang['modify_action'] = 'Upravování...'; -$lang['warning_no_ldif_version_found'] = 'Nebyla nalezena verze. Předpokládám 1.'; -$lang['valid_dn_line_required'] = 'Je vyžadován platný řádek s DN.'; -$lang['missing_uploaded_file'] = 'Soubor LDIF nebyl nalezen.'; -$lang['no_ldif_file_specified.'] = 'Neuvedli jste LDIF soubor. Opakujte prosím akci.'; -$lang['ldif_file_empty'] = 'Soubor LDIF je prázdný.'; -$lang['empty'] = 'prázdný'; -$lang['file'] = 'Soubor'; -$lang['number_bytes'] = '%s bajtů'; - -$lang['failed'] = 'selhal'; -$lang['ldif_parse_error'] = 'Chyba v souboru LDIF'; -$lang['ldif_could_not_add_object'] = 'Nelze přidat objekt:'; -$lang['ldif_could_not_rename_object'] = 'Nelze přejmenovat objekt:'; -$lang['ldif_could_not_delete_object'] = 'Nelze odstranit objekt:'; -$lang['ldif_could_not_modify_object'] = 'Nelze upravit objekt:'; -$lang['ldif_line_number'] = 'Číslo řádku:'; -$lang['ldif_line'] = 'Řádek:'; - -// Exports -$lang['export_format'] = 'Formát exportu'; -$lang['line_ends'] = 'Konce řádků'; -$lang['must_choose_export_format'] = 'Musíte zvolit exportní formát.'; -$lang['invalid_export_format'] = 'Neplatný exportní formát'; -$lang['no_exporter_found'] = 'Nebyla nalezena žádná aplikace pro export.'; -$lang['error_performing_search'] = 'Během vyhledávání došlo k chybě.'; -$lang['showing_results_x_through_y'] = 'Výsledky od %s do %s.'; -$lang['searching'] = 'Vyhledávám...'; -$lang['size_limit_exceeded'] = 'Byl překročen limitní parametr pro vyhledávání.'; -$lang['entry'] = 'Objekt'; -$lang['ldif_export_for_dn'] = 'LDIF Export objektu: %s'; -$lang['generated_on_date'] = 'Generováno phpLDAPadminem dne %s'; -$lang['total_entries'] = 'Celkem objektů'; -$lang['dsml_export_for_dn'] = 'DSLM Export objektu: %s'; - -// logins -$lang['could_not_find_user'] = 'Nelze nalézt uživatele "%s"'; -$lang['password_blank'] = 'Nezadali jste uživatelské heslo.'; -$lang['login_cancelled'] = 'Přihlašování zrušeno.'; -$lang['no_one_logged_in'] = 'Nikdo není přihlášen k tomuto serveru.'; -$lang['could_not_logout'] = 'Nelze se odhlásit.'; -$lang['unknown_auth_type'] = 'Neznámý auth_type: %s'; -$lang['logged_out_successfully'] = 'Odhlášení od serveru %s proběhlo úspěšně.'; -$lang['authenticate_to_server'] = 'Ověření vůči serveru %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Upozornění: Toto spojení není šifrováné.'; -$lang['not_using_https'] = 'Nepřipojujete se pomocí \'https\'. Prohlížeč odešle Vaše přihlášení v nešifrované podobě.'; -$lang['login_dn'] = 'Přihlašovací DN'; -$lang['user_name'] = 'Uživatel'; -$lang['password'] = 'Heslo'; -$lang['authenticate'] = 'Přihlásit'; - -// Entry browser -$lang['entry_chooser_title'] = 'Zvolit objekt'; - -// Index page -$lang['need_to_configure'] = 'Nejprve je třeba phpLDAPadmin nakonfigurovat. Toho docílíte upravou souboru \'config.php\'. Ukázková konfigurace je k nalezení v souboru \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Mazání je v režimu "jen pro čtení" zakázáno.'; -$lang['error_calling_mass_delete'] = 'Chyba při volání mass_delete.php. V POSTu chybí proměnná mass_delete.'; -$lang['mass_delete_not_array'] = 'mass_delete v POSTu není pole.'; -$lang['mass_delete_not_enabled'] = 'Hromadý výmaz není umožněn. Můžete ho povolit v souboru config.php.'; -$lang['mass_deleting'] = 'Hromadný výmaz'; -$lang['mass_delete_progress'] = 'Průběh odstraňování na serveru "%s"'; -$lang['malformed_mass_delete_array'] = 'Zdeformované pole mass_delete.'; -$lang['no_entries_to_delete'] = 'Nevybrali jste žádné objekty k odstranění.'; -$lang['deleting_dn'] = 'Odstraňuji %s'; -$lang['total_entries_failed'] = '%s z %s objektů se nepodařilo odstranit.'; -$lang['all_entries_successful'] = 'Všechny objekty byly úspěšně odstraněny.'; -$lang['confirm_mass_delete'] = 'Potvďte hromadný výmaz v počtu %s objektů na serveru %s'; -$lang['yes_delete'] = 'Ano, odstranit!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nelze přejmenovat objekt, který má potomky. Toto se například vztahuje na všechny objekty, které nejsou typu "list".'; -$lang['no_rdn_change'] = 'Nezměnili jste RDN'; -$lang['invalid_rdn'] = 'Neplatná hodnota RDN'; -$lang['could_not_rename'] = 'Objekt nelze přejmenovat'; - -?> diff --git a/lang/recoded/de.php b/lang/recoded/de.php deleted file mode 100644 index 5de6f92..0000000 --- a/lang/recoded/de.php +++ /dev/null @@ -1,567 +0,0 @@ - - * Uwe Ebel - * Modifikationen von Dieter Kluenter - * - * - * $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/de.php,v 1.22 2004/07/20 19:47:32 i18phpldapadmin Exp $ - * Update auf CVS-Version von en.php 1.79 - * Verwendete CVS-Version von en.php 1.65 - */ - -// Search form -$lang['simple_search_form_str'] = 'Einfache Suche';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Experten Suche';//'Advanced Search Form'; -$lang['server'] = 'Server';//'Server'; -$lang['search_for_entries_whose'] = 'Suche nach Einträgen die';//'Search for entries whose'; -$lang['base_dn'] = 'Base DN';//'Base DN'; -$lang['search_scope'] = 'Suchbereich';//'Search Scope'; -//$lang['search_ filter'] = 'Suchfilter';//'Search Filter'; -$lang['show_attributes'] = 'Zeige Attribute';//'Show Attributtes'; -$lang['Search'] = 'Suchen';//'Search'; -$lang['equals'] = 'gleich';//'equals'; -//$lang['starts_with'] = 'beginnt mit';//'starts with'; -$lang['contains'] = 'enthält';//'contains'; -//$lang['ends_with'] = 'endet mit';//'ends with'; -//$lang['sounds_like'] = 'ähnlich wie';//'sounds like'; -$lang['predefined_search_str'] = 'oder ein von dieser Liste auswählen';//'or select a predefined search'; -$lang['predefined_searches'] = 'Vordefinierte Suche';//'Predefined Searches'; -$lang['no_predefined_queries'] = 'Keine Abfragen sind in der config.php definiert';// 'No queries have been defined in config.php.'; -$lang['export_results'] = 'Ergebnisse exportieren';// 'export results'; -$lang['unrecoginzed_search_result_format'] = 'Das Suchergebnisformat ist nicht erkennbar: %s';//'Unrecognized search result format: %s'; -$lang['format'] = 'Format';// 'Format'; -$lang['list'] = 'Liste';// 'list'; -$lang['table'] = 'Tabelle';// 'table'; -$lang['bad_search_display'] = 'Die config.php gibt einen falsche Wert für $default_search_display: %s vor. Bitte in der Konfiguration korrigieren.';//'Your config.php specifies an invalid value for $default_search_display: %s. Please fix it'; - - - -// Tree browser -$lang['request_new_feature'] = 'Anfragen von neuen Möglichkeiten';//'Request a new feature'; -//$lang['see_open_requests'] = 'Siehe offene Anfragen';//'see open requests'; -$lang['report_bug'] = 'Einen Fehler berichten';//'Report a bug'; -//$lang['see_open_bugs'] = 'Siehe offene Fehler';//'see open bugs'; -$lang['schema'] = 'Schema';//'schema'; -$lang['search'] = 'suche';//'search'; -$lang['refresh'] = 'aktualisieren';//'refresh'; -$lang['create'] = 'Erstellen';//'create'; -$lang['info'] = 'Info';//'info'; -$lang['import'] = 'Import';//'import'; -$lang['logout'] = 'abmelden';//'logout'; -$lang['create_new'] = 'Neuen Eintrag erzeugen';//'Create New'; -$lang['new'] = 'Neu';//'new'; -$lang['view_schema_for'] = 'Zeige Schema für';//'View schema for'; -$lang['refresh_expanded_containers'] = 'Aktualisiere alle geöffneten Container von';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Erzeuge einen neuen Eintrag auf';//'Create a new entry on'; -$lang['view_server_info'] = 'Zeige Server Informationen';//'View server-supplied information'; -$lang['import_from_ldif'] = 'Importiere Einträge von einer LDIF-Datei';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Von diesem Server abmelden';//'Logout of this server'; -$lang['logged_in_as'] = 'Angemeldet als: ';//'Logged in as: '; -$lang['read_only'] = 'nur lesen';//'read only'; -$lang['read_only_tooltip'] = 'Diese Attribut wurde vom phpLDAPadmin-Adminstrator als nur lesend markiert.';//This attribute has been flagged as read only by the phpLDAPadmin administrator'; -$lang['could_not_determine_root'] = 'Konnte die Basis ihres LDAP Verzeichnises nicht ermitteln';//'Could not determin the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Es scheint das ihr LDAP Server nicht dazu konfiguriert wurde seine Basis bekanntzugeben';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Bitte in config.php angeben';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Neuen Eintrag erzeugen auf';//'Create a new entry in'; -$lang['login_link'] = 'Anmelden...';//'Login...'; -$lang['login'] = 'Anmelden';//'login'; - -// Entry display -$lang['delete_this_entry'] = 'Diesen Eintrag löschen';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Für diese Entscheidung wird nochmals nachgefragt.';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'Diesen Eintrag kopieren';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Kopiere diese Object an eine anderen Ort: ein neuer DN oder einen anderen Server.';//'Copy this object to another location, a new DN, or another server'; -$lang['export'] = 'Exportieren';//'Export to LDIF'; -$lang['export_lcase'] = 'exportieren';//'export'; -$lang['export_tooltip'] = 'Speichere einen Abzug diese Objektes';//'Save an LDIF dump of this object'; -$lang['export_subtree_tooltip'] = 'Speicher eine Abzug ab diesem Objekt und alle seine Untereinträge';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree'] = 'Export Unterbaum nach LDIF';//'Export subtree to LDIF'; -//$lang['export_mac'] = 'Zeilenende für Macintosh';//'Macintosh style line ends'; -//$lang['export_win'] = 'Zeilenende für Windows';//'Windows style line ends'; -//$lang['export_unix'] = 'Zeilenende für Unix';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'Erzeuge einen Untereintrag';//'Create a child entry'; -//$lang['add_a_jpeg_photo'] = 'Ein JPEG-Foto hinzufügen';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'Eintrag umbenennen';//'Rename Entry'; -$lang['rename'] = 'Umbenennen';//'Rename'; -$lang['add'] = 'Hinzufügen';//'Add'; -$lang['view'] = 'Ansehen';//'View'; -$lang['view_one_child'] = 'Zeige einen Untereintrag';//'View 1 child'; -$lang['view_children'] = 'Zeige %s Untereinträge';//'View %s children'; -$lang['add_new_attribute'] = 'Neues Attribut hinzufügen';//'Add New Attribute'; -// DELETED $lang['add_new_attribute_tooltip'] = 'Füge ein neues Attribut/Wert zu diesem Eintrag hinzu';// 'Add a new attribute/value to this entry'; -$lang['add_new_objectclass'] = 'Neue ObjectClass hinzufügen';//'Add new ObjectClass'; -//$lang['internal_attributes'] = 'Interne Attribute';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'Verdecke interne Attribute';//'Hide internal attributes'; -$lang['show_internal_attrs'] = 'Zeige interne Attribute';//'Show internal attributes'; -//$lang['internal_attrs_tooltip'] = 'Attribute werden automatisch vom System erzeugt.';//'Attributes set automatically by the system'; -//$lang['entry_attributes'] = 'Attribute des Eintrages';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'Klicken sie um die Schemadefinition für den Attributtyp "%s" anzuzeigen.';//'Click to view the schema defintion for attribute type \'%s\''; -//$lang['click_to_display'] = 'Klicken zum Ansehen';//'click to display'; -//$lang['hidden'] = 'verdeckt';//'hidden'; -$lang['none'] = 'Keine';//'none'; -$lang['no_internal_attributes'] = 'Keine internen Attribute.';//'No internal attributes'; -$lang['no_attributes'] = 'Dieser Eintrag hat keine Attribute.';//'This entry has no attributes'; -$lang['save_changes'] = 'Änderungen speichern';//'Save Changes'; -$lang['add_value'] = 'Wert hinzufügen';//'add value'; -$lang['add_value_tooltip'] = 'Füge einen weiteren Wert dem Attribut hinzu';//'Add an additional value to this attribute'; -$lang['refresh_entry'] = 'Auffrischen';// 'Refresh'; -$lang['refresh_this_entry'] = 'Aktualisiere den Entrag';//'Refresh this entry'; -$lang['delete_hint'] = 'Hinweis: Um ein Attribut zu löschen, leeren Sie den Inhalt des Wertes.';//'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tipp:Um das Schema für ein Attribut anzusehen, genügt ein klick auf den Attributnamen';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Einige Attribute (%s) wurden verändert und sind hervorgehoben.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Ein Attribut (%s) wurde verändert und ist hervorgehoben.';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Zeige Eintrag im Nurlesemodus';//'Viewing entry in read-only mode.'; -//$lang['change_entry_rdn'] = 'Ändere den RDN des Eintrages';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'Keine weiteren Attribute verfügbar für diesen Eintrag';//'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'Keine weiteren Binären Attribute verfügbar für diesen Eintrag.';//'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Binärwert';//'Binary value'; -$lang['add_new_binary_attr'] = 'Neuen Binärwert hinzufügen';//'Add New Binary Attribute'; -// DELETE $lang['add_new_binary_attr_tooltip'] = 'Füge einen neuen Binäwert (Attribut/Wert) aus einer Datei hinzu.';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'Alias für';//'Alias for'; -$lang['required_for'] = 'Notwendige Attribute für die Objektklasse(n) %s';//'Required attribute for objectClass(es) %s'; -$lang['download_value'] = 'Wert herunterladen';//'download value'; -$lang['delete_attribute'] = 'Lösche Attribut';//'delete attribute'; -$lang['true'] = 'Wahr';//'true'; -$lang['false'] = 'Falsch';//'false'; -$lang['none_remove_value'] = 'nichts, entferne den Wert';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'Lösche das Attribut wirklich';//'Really delete attribute'; -$lang['add_new_value'] = 'Neuen Wert hinzufügen';//'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Die folgenden Objektklassen werden vom LDAP-Server unterstützt.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Die folgenden Attribute werden vom LDAP-Server unterstützt.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Die folgenden Suchregeln werden vom LDAP-Server unterstützt.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Die folgenden Syntaxe werden vom LDAP-Server unterstützt.';//'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']='Der Server unterstützt nicht vollständig das LDAP-Protokoll.';//'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']='Die verwendete PHP-Version setzte keine korrekte LDAP-Abfrage ab.';//'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']='Oder phpLDAPadmin konnte nicht das Schema für den Server abfragen.';//'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Gehe zur objectClass';//'Jump to an objectClass'; -$lang['view_schema_for_oclass'] = 'Zeige die Schemabeschreibung für diese Objektklasse';//'View the schema description for this objectClass'; -$lang['jump_to_attr'] = 'Gehe zum Attribut';//'Jump to an attribute'; -$lang['jump_to_matching_rule'] = 'Gehe zur Treffer Regel'; // 'Jump to a matching rule'; - -$lang['schema_for_server'] = 'Schema für Server';//'Schema for server'; -$lang['required_attrs'] = 'Notwendige Attribute';//'Required Attributes'; -$lang['required'] = 'notwendig';//'required'; -$lang['optional_attrs'] = 'Optionale Attribute';//'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Optinales Binärattribut';//'Optional Binary Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['aliases']='Pseudonym(e)';//'Aliases'; -$lang['desc'] = 'Beschreibung';//'Description'; -$lang['no_description']='Keine Beschreibung';//'no description'; -$lang['name'] = 'Name';//'Name'; -$lang['equality']='Gleichheit';// 'Equality'; -$lang['is_obsolete'] = 'Diese objectClass ist veraltet';//'This objectClass is obsolete'; -$lang['inherits'] = 'Abgeleitet von';//'Inherits'; -$lang['inherited_from']='abgeleitet von';//inherited from'; -$lang['parent_to'] = 'Knoten von';//'Parent to'; -$lang['jump_to_this_oclass'] = 'Gehe zur objectClass Definition';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Treffer-Regel OID';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax OID';//'Syntax OID'; -$lang['not_applicable'] = 'nicht anwendbar';//'not applicable'; -$lang['not_specified'] = 'nicht spezifiziert';//not specified'; -$lang['character']='Zeichen';//'character'; -$lang['characters']='Zeichen';//'characters'; -$lang['used_by_objectclasses']='Verwendet von den Objektklassen';//'Used by objectClasses'; -$lang['used_by_attributes']='Verwendet in den Attributen';//'Used by Attributes'; -$lang['oid']='OID'; // 'OID' -$lang['obsolete']='Veraltet';//'Obsolete'; -$lang['ordering']='Ordnung';//'Ordering'; -$lang['substring_rule']='Teilstring Regel';//'Substring Rule'; -$lang['single_valued']='Einzelner Wert';//'Single Valued'; -$lang['collective']='Sammlung';//'Collective'; -$lang['user_modification']='Benutzer Änderung';//'User Modification'; -$lang['usage']='Verwendung';//'Usage'; -$lang['maximum_length']='Maximale Grösse';//'Maximum Length'; -$lang['attribute_types']='Attribut Typen';//'Attribute Types'; -$lang['attributes']='Attribut Typen';//'Attributes Types'; -$lang['syntaxes']='Syntaxe';//'Syntaxes'; -$lang['objectclasses']='Objekt Klassen';//'objectClasses'; -$lang['matchingrules']='Treffer Regeln';//'Matching Rules'; -$lang['could_not_retrieve_schema_from']='Das Schema konnte nicht abgefragt werden. Betrifft die Einstellung des Servers:';//'Could not retrieve schema from'; -$lang['type']='Typ';// 'Type'; -$lang['no_such_schema_item'] = 'Kein Schema Eintrag für Element: %s';//'No such schema item: "%s"'; - - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Der Eintrag \'%s\' wurde erfolgreich gelöscht.';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Ein DN muss angegeben werden.';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Konnte den Eintrag nicht löschen: %s';//'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Keinen solchen Eintrag: %s';//'No such entry: %s'; -$lang['delete_dn'] = 'Löschen von %s';//'Delete %s'; -//$lang['permanently_delete_children'] = 'Ebenso dauerhaftes Löschen aller Untereinträge?';//'Permanently delete all children also?'; -$lang['entry_is_root_sub_tree'] = 'Dies ist ein Root-Eintrag und beinhaltet einen Unterbaum mit %s Einträgen.';//'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'Zeige Einträge';//'view entries'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin kann diesen Eintrag und die %s Untereinträge rekursiv löschen. Unten ist eine Liste der Einträge angegeben die von diesem Löschen betroffen wären. Sollen alle Einträge gelöscht werden?';//'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Hinweis: Dies ist sehr gefährlich und erfolgt auf eines Risiko. Die Ausführung kann nicht rückgängig gemacht werden. Dies betrifft ebenso Aliase, Referenzen und andere Dinge die zu Problemen führen können.';//'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Löschen aller "%s" Objekte';//'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'Rekursives Löschen in Arbeit';//'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Erfolgreiches Löschen des Eintrages "%s" und dessen Unterbaums.';// 'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'Fehler beim Löschen des Eintrages %s.';//'Failed to delete entry %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Das Attribut "%s" ist in der phpLDAPadmin Konfiguration als nur lesend deklariert.';//'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Kein Attributname angegeben.';//'No attribute name specified.'; -$lang['no_dn_specified'] = 'Kein DN angegeben.';//'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Der Wert des Attributes wurde leergelassen. Bitte zurück gehen und erneut versuchen.';//'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Fehler beim Hinzufügen des Attributes';//'Failed to add the attribute.'; -$lang['file_empty'] = 'Die ausgewählte Datei ist entweder nicht vorhanden oder leer. Bitte zurückgehen und nochmals versuchen.';//'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Sicherheitsfehler: Die hochgeladene Datei kann bösartig sein.';//'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'Die PHP-Konfiguration (php.ini) gestattet es nicht Dateien hochzuladen. Bitte die php.ini hierzu überprüfen.';//'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'Die hochgeladene Datei ist größer als die maximal erlaubte Datei aus der "php.ini". Bitte in der php.ini den Eintrag "upload_max_size" überprüfen.';//'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'Die auswählte Datei wurde nur unvollständig hochgeladen.';//'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Maximal Dateigröße ist: %s';//'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'Änderung war erfolgreich!';//'Modification successful!'; -$lang['change_password_new_login'] = 'Da das Passwort geändert wurde müssen Sie sich erneut einloggen.'; //'Since you changed your password, you must now login again with your new password.'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'Neue benötigte Attribute';//'New Required Attributes'; -$lang['requires_to_add'] = 'Diese Aktion zwingt sie folgendes hinzuzufügen';//'This action requires you to add'; -$lang['new_attributes'] = 'neue Attribute';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Anleitung: Um diese objectClass hinzuzufügen müssen sie ';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'die von dieser objectClass benötigt werden. Sie können dies in diesem Formular machen.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'ObjectClass und Attribute hinzufügen';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Klicken um einen Eintrag (DN) grafisch auszuwählen.';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Sie können keine Aktualisierungen durchführen während der Server sich im \'nur lese\'-modus befindet';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Ungültige Server ID';//'Bad server id'; -$lang['not_enough_login_info'] = 'Nicht genügend Angaben zur Anmeldung am Server. Bitte überprüfen sie ihre Konfiguration';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Konnte keine Verbindung zum LDAP Server herstellen.';//'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'Konnte keine Verbindung zum Server "%s" am Port "%s" erstellen.';//'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Kann keine \'ldap_mod_add\' Operationen durchführen.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Ungültige Server ID:';//"Bad server_id: '; -$lang['success'] = 'Erfolgreich';//"Success'; -$lang['server_colon_pare'] = 'Server';//"Server: '; -$lang['look_in'] = 'Sehe nach in:';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Keine Server ID in der Anfrage angegeben';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Kein DN in der Anfrage angegeben';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Eine Ebene höher...';//"Back Up...'; -$lang['no_entries'] = 'Keine Einträge';//"no entries'; -$lang['not_logged_in'] = 'Nicht eingeloggt';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'Konnten Basis-DN nicht ermitteln.';//"Could not determine base DN'; -$lang['reasons_for_error']='Dies kann mehrere Gründe haben. Die häufigsten sind:';//'This could happen for several reasons, the most probable of which are:'; -$lang['please_report_this_as_a_bug']='Bitte senden Sie dies als einen Fehlerbericht.';//'Please report this as a bug.'; -$lang['yes']='Ja';//'Yes' -$lang['no']='Nein';//'No' -$lang['go']='Weiter';//'go' -$lang['delete']='Löschen';//'Delete'; -$lang['back']='Zurück';//'Back'; -$lang['object']='Objekt';//'object'; -//$lang['objects']='Objekte';//'objects'; -$lang['delete_all']='Lösche alle';//'Delete all'; -$lang['url_bug_report']=''+$lang['url_bug_report'];//'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'Hinweis';//'hint'; -$lang['bug'] = 'Programmfehler';//'bug'; -$lang['warning'] = 'Warnung';//'warning'; -$lang['light'] = 'light'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Weiter';//'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Neu hinzufügen';//'Add new'; -$lang['value_to'] = 'Wert auf';//'value to'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Distinguished Name (eindeutiger Name)';// 'Distinguished Name'; -$lang['current_list_of'] = 'Aktuelle Liste von';//'Current list of'; -$lang['values_for_attribute'] = 'Werte des Attributes';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Info: Sie werden einen "inappropriate matching" Fehler erhalten, falls sie nicht'; //'Note: You will get an "inappropriate matching" error if you have not
    ' . - ' eine "EQUALITY" Regel für dieses Attribut auf ihren LDAP Server eingerichtet haben.';//'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Geben sie den Wert ein den sie hinzufügen möchten:';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Info: Sie werden gegebenenfalles gezwungen sein neue Attribute hinzuzufügen.';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'Syntax';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'Sie können keine Aktualisierungen durchführen während der Server sich im \'nur lese\'-modus befindet';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Sie haben kein Ziel DN angegeben';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'Der Zieleintrag (%s) existiert bereits.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'Der Zielcontainer (%s) existiert nicht.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'Ursprung DN und Ziel DN sind identisch';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'Kopieren';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekursives Kopieren im Gange';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Erzeuge Speicherauszug des zu kopierenden Verzeichnisses';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieren erfolgreich! Wollen sie den';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'neuen Eintrag ansehen';//"view the new entry'; -$lang['copy_failed'] = 'Kopieren des DN fehlgeschlagen: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Warnung: Template Datei nicht gefunden';//'Warning: missing template file, '; -$lang['using_default'] = 'Standardeinstellung verwenden';//'Using default.'; -$lang['template'] = 'Vorlage';//'Template'; -$lang['must_choose_template'] = 'Eine Vorlage muss ausgewählt sein';//'You must choose a template'; -$lang['invalid_template'] = 'Die Vorlage "%s" ist ungültig';// '%s is an invalid template'; -$lang['using_template'] = 'Verwende Vorlage';//'using template'; -$lang['go_to_dn'] = 'Gehe zu %s';//'Go to %s'; -$lang['structural_object_class_cannot_remove'] = 'Dies ist eine strukturelle Objektklasse und kann nicht entfernt werden.';//'This is a stuctural ObjectClass and cannot be removed.'; -$lang['structural'] = 'Strukturell';//'stuctural'; - - - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiere';//"Copy '; -$lang['copyf_to_new_object'] = 'in ein neues Objekt';//"to a new object'; -$lang['copyf_dest_dn'] = 'Ziel DN';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'Der komplette DN des Eintrages der beim Kopieren erzeugt wird.';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Zielserver';//"Destination Server'; -$lang['copyf_note'] = 'Info: Kopieren zwischen unterschiedlichen Servern funktioniert nur wenn keine Unvereinbarkeiten im Schema auftreten';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Rekursiv kopiert auch alle Unterobjekte';//"Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Rekursives kopieren';//'Recursive copy'; -$lang['filter'] = 'Filter';//'Filter'; -$lang['filter_tooltip'] = 'Bei der Ausfürung des rekursiven Kopierens werden nur die Einträge verwendet, die mit dem Filter übereinstimmen';// 'When performing a recursive copy, only copy those entries which match this filter'; - - -//create.php -$lang['create_required_attribute'] = 'Fehler, sie haben einen Wert für ein benötigtes Attribut frei gelassen.';//"Error, you left the value blank for required attribute '; -$lang['redirecting'] = 'Weiterleitung';//"Redirecting'; moved from create_redirection -> redirection -$lang['here'] = 'hier';//"here'; renamed vom create_here -> here -$lang['create_could_not_add'] = 'Konnte das Objekt dem LDAP-Server nicht hinzufügen.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Erzeuge einen neuen Eintag';//"Create Object'; -$lang['createf_choose_temp'] = 'Vorlage wählen';//"Choose a template'; -$lang['createf_select_temp'] = 'Wählen sie eine Vorlage für das Objekt';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'Weiter';//"Proceed >>'; -$lang['rdn_field_blank'] = 'Das RDN Feld wurde leer gelassen.';//'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'Der angegenben Eintrag (%s) ist nicht vorhanden. Bitte erneut versuchen.';// 'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Es wurde kein ObjectClasses für diesen Eintrag ausgewählt. Bitte zurückgehen und korrigieren';//'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Hinweis: Es muss mindestens ein Strukturelle ObjectClass ausgewählt sein.';//'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Auf dem Server';//"On server'; -$lang['ctemplate_no_template'] = 'Keine Vorlage angegeben in den POST Variabeln';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Ihre Konfiguration spezifiziert für diese Vorlage die Routine';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = '. Diese Routine existiert nicht im \'templates/creation\' Verzeichnis';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; -$lang['create_step1'] = 'Schritt 1 von 2: Name und Objektklasse(n)';//'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Schritt 2 von 2: Bestimmen der Attribute und Werte';//'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Relativer Distingushed Name';//'Relative Distinguished Name'; -$lang['rdn'] = 'RDN';//'RDN'; -$lang['rdn_example'] = '(Beispiel: cn=MeineNeuePerson)';//'(example: cn=MyNewPerson)'; -$lang['container'] = 'Behälter';//'Container'; - - -// search.php -$lang['you_have_not_logged_into_server'] = 'Sie haben sich am ausgewählten Server nicht angemeldet. Sie können keine Suche durchführen.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klicken sie hier um zur Anmeldeseite zu gelangen';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Unbekannte Option';// 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Falls eigene Auswahlkriterien hinzugefügt werden sollen, muss \'search.php\' editiert werden';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Gefundene Einträge: ';//'Entries found: '; -$lang['filter_performed'] = 'Angewanter Filter: ';//'Filter performed: '; -$lang['search_duration'] = 'Suche durch phpLDAPadmin ausgeführt in';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'Sekunden';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Bereich der durchsucht wird.';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (Suchbasis und alle Unterverzeichnisebenen)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (Suchbasis und eine Unterverzeichnisebene)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (Nur Suchbasis)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP Suchfilter. Bsp.: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Suchfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'Kommaseparierte Liste der anzuzeigenden Attribute.';//'A list of attributes to display in the results (comma-separated)'; - -// search_form_simple.php -$lang['starts with'] = 'beginnt mit';//'starts with'; -$lang['ends with'] = 'endet auf';//'ends with'; -$lang['sounds like'] = 'klingt wie';//'sounds like'; - - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Konnte keine LDAP Informationen vom Server empfangen';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Serverinformationen für: ';//'Server info for: '; -$lang['server_reports_following'] = 'Der Server meldete die folgenden Informationen über sich';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Der Server hat keine Informationen gemeldet';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'Das "update_array" wird falsch dargestellt. Dies könnte ein phpLDAPadmin Fehler sein. Bitte Berichten sie uns davon.';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Konnte die \'ldap_modify\' Operation nicht ausführen.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Wollen sie diese Änderungen übernehmen?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Attribute';//'Attribute'; -$lang['old_value'] = 'Alter Wert';//'Old Value'; -$lang['new_value'] = 'Neuer Wert';//'New Value'; -$lang['attr_deleted'] = '[Wert gelöscht]';//'[attribute deleted]'; -$lang['commit'] = 'Anwenden';//'Commit'; -$lang['cancel'] = 'Abbruch';//'Cancel'; -$lang['you_made_no_changes'] = 'Sie haben keine Änderungen vorgenommen.';//'You made no changes'; -$lang['go_back'] = 'Zurück';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Benutzen sie das Menu auf der linken Seite zur Navigation.';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Vorspann';//'Credits'; -$lang['changelog'] = 'Änderungsdatei';//'ChangeLog'; -//$lang['documentation'] = 'Dokumentation';// 'Documentation'; -$lang['donate'] = 'Spende';//'Donate'; - -$lang['purge_cache'] = 'Cache bereinigen';//'Purge caches'; -$lang['no_cache_to_purge'] = 'Kein Cache zu bereinigen';//'No cache to purge.'; -$lang['done_purging_caches'] = 'Es wurden %s Bytes aus dem Cache bereinigt.';//'Purged %s bytes of cache.'; - - - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Unsicherer Dateiname:';//'Unsafe file name: '; -$lang['no_such_file'] = 'Keine Datei unter diesem Namen';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = '"auto_uid_numbers" wurde in der Konfiguration (%s) aktiviert, aber der Mechanismus (auto_uid_number_mechanism) nicht. Bitte diese Problem korrigieren.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Der Mechanismus "auto_uid_number_mechanism" ist als "uidpool" für den Server (%s) festgelegt, jedoch wurde nicht der "auto_uid_number_uid_pool_dn" festgelegt. Bitte korrigieren und dann weiter verfahren.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; - -$lang['uidpool_not_exist'] = 'Es scheint so, dass der "uidPool" - der in der Konfiguration festgelegt ist - nicht vorhanden ist.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; - -$lang['specified_uidpool'] = 'Der "auto_uid_number_mechanism" wurde auf "search" in der Konfiguration des Servers (%s) festgelegt, aber es wurde der Wert fü "auto_uid_number_search_base" nicht gesetzt. Bitte korrigieren und dann weiter verfahren.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['bad_auto_uid_search_base'] = 'Die phpLDAPadmin Konfiguration für den Server "%s" gibt eine ungültige Suchbasis für "auto_uid_search_base" an.';//'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_credential'] = 'Konnte nicht mit "%s" verbinden';// 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['auto_uid_invalid_value'] = 'Es wurde ein ungültiger Wert für "auto_uid_number_mechanism" (%s) festgelegt. Gültig sind nur die Werte "uidpool" und "search". Bitte den Fehler korrigieren. ';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Fehler: Ein Fehler ist in der Konfiguration (config.php) aufgetreten. Die einzigen beiden erlaubten Werte im Konfigurationsteil "auth_type" zu einem LDAP-Server ist "config" oder "form". Eingetragen ist aber "%s", was nicht erlaubt ist.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['unique_attrs_invalid_credential'] = 'Es konnten nicht an "%s" mit dem Berechtigungsnachweis von "unique_attrs" verbunden werden. Bitte die Konfigurationdatei (config.php) überprüfen.';//'Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file.'; -$lang['unique_attr_failed'] = 'Der Versuch von "%s" (%s) an "%s%" ist nicht erlaubt. Das Attibut/Wert gehört zu einem anderen Eintrag. Vielleicht möchten Sie nach dem Wert suchen?';// ERROR DONT'T USE HTML!!! //'Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'; - - -$lang['php_install_not_supports_tls'] = 'Die verwendete PHP-Version unterstützt kein TLS (verschlüsselte Verbindung).';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'TLS konnte nicht gestartet werden. Bitte die LDAP-Server-Konfiguration überprüfen.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Konnte keine Anonymous Anmeldung zum Server herstellen.';//'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'Konnte keine Verbindung zum LDAP-Server herstellen';//'Could not bind to the LDAP server.'; -//$lang['anon_required_for_login_attr'] = 'Bei der Verwendung des Anmeldeprozedur "login_attr" muss der Server Anonymous Anmelden zulassen.';//'When using the login_attr feature, the LDAP server must support anonymous binds.'; -$lang['anonymous_bind'] = 'Anonymous anmelden';//'Anonymous Bind'; -//$lang['auth_type_not_valid'] = 'Die Konfigurationsdatei enthält einen Fehler. Der Eintrag für \'auth_type\' mit \'%s\' ist nicht gültig';// 'You have an error in your config file. auth_type of %s is not valid.'; -$lang['bad_user_name_or_password'] = 'Falscher Benutzername oder Passwort. Bitte erneut versuchen.';//'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Automatische Umleitung. Falls dies nicht automatisch erfolgt dann hier klicken.';//'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'Erfolgreich am Server %s angemeldet';//'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Konnte kein \'Cookie\' setzten.';//'Could not set cookie.'; -$lang['ldap_said'] = 'LDAP meldet: %s';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Fehler';//"Error'; -$lang['fbrowse'] = 'Überfliegen';//"browse'; -$lang['delete_photo'] = 'Lösche Foto';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Die verwendete PHP-Version unterstützt keine Blowfish Verschlüsselung.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Die eingesetzte PHP-Version unterstützt keine MD5-Verschlüsselung.';//'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Die verwendete PHP-Version unterstützt nicht die Funktion mhash(), daher kann kein SHA Hash verwendet werden.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Die Bilddatei enthält Fehler';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Fehlernummer: %s (%s)';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Beschreibung: %s';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Fehlernummer: %s';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Beschreibung: (keine Beschreibung verfügbar)';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Ist das ein phpLDAPadmin Fehler? Wenn dies so ist, dann bitte darüber berichten';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Unbekannte Fehlernummer:';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '

    Ein nicht fataler Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = '
    Gratulation, einen Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    ';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importiere LDIF Datei';//'Import LDIF File'; -$lang['select_ldif_file'] = 'LDIF Datei auswählen';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Ausführen';//'Proceed >>'; -$lang['dont_stop_on_errors'] = 'Bei einem Fehler nicht unterbrechen sondern weitermachen.';//'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Hinzufügen...';//'Adding...'; -$lang['delete_action'] = 'Entfernen...';//'Deleting...'; -$lang['rename_action'] = 'Umbenennen...';//'Renaming...'; -$lang['modify_action'] = 'Abändern...';//'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Keine Version gefunden. Gehe von der Version 1 aus.';//'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Eine gültige DN Zeile wird benötigt.';//'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Hochgeladene Datei fehlt.';//'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Kein LDIF-Datei angegeben. Bitte erneut versuchen.';//'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Die hochgeladene LDIF-Datei ist leer.';// 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'leer';//'empty'; -$lang['file'] = 'Datei';//'File'; -$lang['number_bytes'] = '%s Bytes';//'%s bytes'; - -$lang['failed'] = 'fehlgeschlagen';//'failed'; -$lang['ldif_parse_error'] = 'LDIF Pars Fehler';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Konnte das Objekt nicht hinzufügen:';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Konnte das Objekt nicht umbenennen:';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Konnte das Objekt nicht entfernen:';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Konnte das Objekt nicht abändern:';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Anzahl Zeilen:';//'Line Number:'; -$lang['ldif_line'] = 'Zeile:';//'Line:'; - -//delete_form -$lang['sure_permanent_delete_object']='Sind Sie sicher das Sie dauerhaft den Eintrag löschen wollen?';//'Are you sure you want to permanently delete this object?'; -$lang['permanently_delete_children']='Lösche alles und auch die Untereinträge?';//'Permanently delete all children also?'; -//$lang['info_delete_recursive_1']='Dieser Objekt-Eintrag hat weitere Untereinträge';//'This object is the root of a sub-tree containing objects.'; -//$lang['info_delete_recursive_2']='phpLDAPadmin kann rekursiv diesen Objekt-Eintrag mit all seinen Untereinträgen löschen.';//'phpLDAPadmin can recursively delete this object and all of its children.'; -//$lang['info_delete_recursive_3']='Unten ist eine Liste mit allen Einträgen (DN) aufgeführt die gelöscht werden. Soll dies wirklich durchgeführt werden?';//'See below for a list of DNs that this will delete. Do you want to do this?'; -//$lang['note_delete_noundo']='Hinweis: Dies ist sehr gefährlich. Die Aktion kann nicht rückgängig gemacht werden. Synomyme (alias) und ähnliche Einträge können zu Problemen führen.'; // 'Note: This is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases and other such things that may cause problems.'; -//$lang['list_of_dn_delete']='Liste aller DN(s) die mit dieser Aktion mitgelöscht werden.';//'A list of all the DN(s) that this action will delete:'; -//$lang['cannot_delete_base_dn']='Der Basis DN kann nicht gelöscht werden';//'You cannot delete the base DN entry of the LDAP server.'; - -$lang['list_of_entries_to_be_deleted'] = 'List der Einträge die gelöscht werden:';//'List of entries to be deleted:'; -$lang['dn'] = 'DN'; //'DN'; - -// Exports -$lang['export_format'] = 'Export Format';// 'Export format'; -$lang['line_ends'] = 'Zeilenende'; //'Line ends'; -$lang['must_choose_export_format'] = 'Bitte ein Exportformat auswählen';//'You must choose an export format.'; -$lang['invalid_export_format'] = 'Unglültiges Export-Format';//'Invalid export format'; -$lang['no_exporter_found'] = 'Keinen gültigen Exporter gefunden.';//'No available exporter found.'; -$lang['error_performing_search'] = 'Ein Fehler trat während des Suchvorgangs auf';//'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Zeige die Ergebnisse von %s bis %s.';//'Showing results %s through %s.'; -$lang['searching'] = 'Suche...';//'Searching...'; -$lang['size_limit_exceeded'] = 'Hinweis, das Limit der Suchtreffer wurde überschritten.';//'Notice, search size limit exceeded.'; -$lang['entry'] = 'Eintrag';//'Entry'; -$lang['ldif_export_for_dn'] = 'LDIF Export von: %s'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Erstellt von phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) am %s';//'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Anzahl der Eintraege';//'Total Entries'; -$lang['dsml_export_for_dn'] = 'DSLM Export von:';//'DSLM Export for: %s'; -$lang['include_system_attrs'] = 'Einbinden von System-Attributen';//'Include system attributes'; - - -// logins -$lang['could_not_find_user'] = 'Konnte den Benutzer %s nicht finden.';//'Could not find a user "%s"'; -$lang['password_blank'] = 'Das Passwort wurde leer gelassen';//'You left the password blank.'; -$lang['login_cancelled'] = 'Anmeldung abgebrochen';//'Login cancelled.'; -$lang['no_one_logged_in'] = 'Niemand ist an diesem Server angemeldet';//'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Konnte nicht abgemeldet werden';//'Could not logout.'; -//$lang['browser_close_for_http_auth_type'] = 'You must close your browser to logout whie in \'http\' authentication mode'; -$lang['unknown_auth_type'] = 'Unbekannter Authentifizierungsart: %s';//'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Erfolgreich vom Server %s abgemeldet.';//'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Authentifizierung mit Server %s';//'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Achtung: Diese Webverbindung ist unverschlüsselt.';//'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Es wird keine verschlüsselte Verbindung (\'https\') verwendet. Der Webbrowser übermittelt die Anmeldeinformationen im Klartext.';// 'You are not use \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Anmelde DN';//'Login DN'; -$lang['user_name'] = 'Benutzername';//'User name'; -$lang['password'] = 'Passwort';//'Password'; -$lang['authenticate'] = 'Authentifizierung';//'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Einträge auswählen';//'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'phpLDAPadmin muss konfiguriert werden. Bitte die Datei "config.php" erstellen. Ein Beispiel einer "config.php" liegt als Datei "config.php.example" bei.';// ';//'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Löschen ist im Nur-Lese-Modus nicht erlaubt.';//'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Fehler im Aufruf von "mass_delete.php". "mass_delete" ist in den POST-Variablen nicht vorhanden.';//'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['search_attrs_wrong_count'] = 'Die config.php beinhaltet einen fehlerhaften Eintrag. Die anzahl der Attribute in $search_attributes und $search_attributes_diplay ist unterschiedlich';//'Your config.php has an error. The number of attributes in $search_attributes and $search_attributes_display is different'; -$lang['mass_delete_not_array'] = 'Die POST-Variable "mass_delete" ist kein Array.';//'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = '"Viel-Löschen" ist nicht aktiviert. Bitte in der der "config.php" aktivieren vor dem Weitermachen.';//'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Viel-Löschen';//'Mass Deleting'; -$lang['mass_delete_progress'] = 'Löschprozess auf Server "%s"';//'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Das Array "mass_delete" ist falsch dargestellt.';//'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Es wurde kein zu löschender Eintrag ausgewählt.';//'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Lösche "%s"';//'Deleting %s'; -$lang['total_entries_failed'] = '%s von %s Einträgen konnten nicht gelöscht werden.';//'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Alle Einträge wurden erfolgreich gelöscht.';//'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Bitte das Löschen von %s Einträgen auf dem Server %s bestätigen';//'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Ja, Löschen!';//'Yes, delete!'; - - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Das Umbenennen von einem Eintrag mit Untereinträgen ist nicht Möglich. Es ist nur auf den Untersten Einträgen gestattet.';// 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Der RDN wurde nicht verändert';//'You did not change the RDN'; -$lang['invalid_rdn'] = 'Ungültiger RDN Wert';//'Invalid RDN value'; -$lang['could_not_rename'] = 'Der Eintrag konnte nicht umbenannt werden';//'Could not rename the entry'; - - -?> diff --git a/lang/recoded/en.php b/lang/recoded/en.php deleted file mode 100644 index e30f15c..0000000 --- a/lang/recoded/en.php +++ /dev/null @@ -1,697 +0,0 @@ -bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE.'; -$lang['server_info_for'] = 'Server info for: '; -$lang['server_reports_following'] = 'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Do you want to make these changes?'; -$lang['attribute'] = 'Attribute'; -$lang['old_value'] = 'Old Value'; -$lang['new_value'] = 'New Value'; -$lang['attr_deleted'] = '[attribute deleted]'; -$lang['commit'] = 'Commit'; -$lang['cancel'] = 'Cancel'; -$lang['you_made_no_changes'] = 'You made no changes'; -$lang['go_back'] = 'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Use the menu to the left to navigate'; -$lang['credits'] = 'Credits'; -$lang['changelog'] = 'ChangeLog'; -$lang['documentation'] = 'Documentation'; -$lang['donate'] = 'Donate'; -$lang['pla_logo'] = 'phpLDAPadmin logo'; - -// Donate.php -$lang['donation_instructions'] = 'To donate funds to the phpLDAPadmin project, use one of the PayPal buttons below.'; -$lang['donate_amount'] = 'Donate %s'; - -$lang['purge_cache'] = 'Purge caches'; -$lang['no_cache_to_purge'] = 'No cache to purge.'; -$lang['done_purging_caches'] = 'Purged %s bytes of cache.'; -$lang['purge_cache_tooltip'] = 'Purge all cached data in phpLDAPadmin, including server schemas.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Unsafe file name: '; -$lang['no_such_file'] = 'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'You have enabled auto_uid_numbers for %s in your configuration, - but you have not specified the auto_uid_number_mechanism. Please correct - this problem.'; -$lang['uidpool_not_set'] = 'You specified the "auto_uid_number_mechanism" as "uidpool" - in your configuration for server %s, but you did not specify the - audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s") - does not exist.'; -$lang['specified_uidpool'] = 'You specified the "auto_uid_number_mechanism" as "search" in your - configuration for server %s, but you did not specify the - "auto_uid_number_search_base". Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'You specified an invalid value for auto_uid_number_mechanism ("%s") - in your configration. Only "uidpool" and "search" are valid. - Please correct this problem.'; -$lang['error_auth_type_config'] = 'Error: You have an error in your config file. The only three allowed values - for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', - which is not allowed. '; -$lang['unique_attrs_invalid_credential'] = 'Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file.'; -$lang['unique_attr_failed'] = 'Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry.'; -$lang['php_install_not_supports_tls'] = 'Your PHP install does not support TLS.'; -$lang['could_not_start_tls'] = 'Could not start TLS. Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Bad username or password. Please try again.'; -$lang['successfully_logged_in_to_server'] = 'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Could not set cookie.'; -$lang['ldap_said'] = 'LDAP said: %s'; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'browse'; -$lang['delete_photo'] = 'Delete Photo'; -$lang['install_not_support_ext_des'] = 'Your system crypt library does not support extended DES encryption.'; -$lang['install_not_support_blowfish'] = 'Your system crypt library does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Your system crypt library does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Error number: %s (%s)'; -$lang['ferror_discription'] = 'Description: %s

    '; -$lang['ferror_number_short'] = 'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '

    - - - -
    - You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'Congratulations! You found a bug in phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Import LDIF File'; -$lang['select_ldif_file'] = 'Select an LDIF file:'; -$lang['dont_stop_on_errors'] = 'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Adding...'; -$lang['delete_action'] = 'Deleting...'; -$lang['rename_action'] = 'Renaming...'; -$lang['modify_action'] = 'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Missing uploaded file.'; -$lang['no_ldif_file_specified'] = 'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'empty'; -$lang['file'] = 'File'; -$lang['number_bytes'] = '%s bytes'; -$lang['php_upload'] = 'Your PHP.INI does not have file_uploads = ON. Please enable file uploads in PHP.'; - -$lang['failed'] = 'Failed'; -$lang['ldif_parse_error'] = 'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Could not modify object:'; -$lang['ldif_line_number'] = 'Line Number:'; -$lang['ldif_line'] = 'Line:'; - -// Exports -$lang['export_format'] = 'Export format'; -$lang['line_ends'] = 'Line ends'; -$lang['must_choose_export_format'] = 'You must choose an export format.'; -$lang['invalid_export_format'] = 'Invalid export format'; -$lang['no_exporter_found'] = 'No available exporter found.'; -$lang['error_performing_search'] = 'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Showing results %s through %s.'; -$lang['searching'] = 'Searching...'; -$lang['size_limit_exceeded'] = 'Notice, search size limit exceeded.'; -$lang['entry'] = 'Entry'; -$lang['ldif_export_for_dn'] = 'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s'; -$lang['total_entries'] = 'Total Entries'; -$lang['dsml_export_for_dn'] = 'DSLM Export for: %s'; -$lang['include_system_attrs'] = 'Include system attributes'; -$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)'; - -// logins -$lang['password_blank'] = 'You left the password blank.'; -$lang['no_one_logged_in'] = 'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Could not logout.'; -$lang['unknown_auth_type'] = 'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'You are not using \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'User name'; -$lang['password'] = 'Password'; -$lang['authenticate'] = 'Authenticate'; -$lang['login_not_allowed'] = 'Sorry, you are not allowed to use phpLDAPadmin with this LDAP server.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Mass Deleting'; -$lang['mass_delete_progress'] = 'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Deleting %s'; -$lang['total_entries_failed'] = '%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Yes, delete!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'You did not change the RDN'; -$lang['invalid_rdn'] = 'Invalid RDN value'; -$lang['could_not_rename'] = 'Could not rename the entry'; - -// Password checker -$lang['passwords_match'] = 'Passwords match!'; -$lang['passwords_do_not_match'] = 'Passwords do not match!'; -$lang['password_checker_tool'] = 'Password Checker Tool'; -$lang['to'] = 'To'; - -// Templates -$lang['using'] = 'Using the'; -$lang['switch_to'] = 'You may switch to the '; -$lang['default_template'] = 'default template'; - -// template_config -$lang['user_account'] = 'User Account (posixAccount)'; -$lang['address_book_inet'] = 'Address Book Entry (inetOrgPerson)'; -$lang['address_book_moz'] = 'Address Book Entry (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Kolab User Entry'; -$lang['organizational_unit'] = 'Organisational Unit'; -$lang['new_organizational_unit'] = 'New Organisational Unit'; -$lang['organizational_role'] = 'Organisational Role'; -$lang['posix_group'] = 'Posix Group'; -$lang['samba_machine'] = 'Samba NT Machine'; -$lang['samba3_machine'] = 'Samba 3 NT Machine'; -$lang['samba_user'] = 'Samba User'; -$lang['samba3_user'] = 'Samba 3 User'; -$lang['samba3_group'] = 'Samba 3 Group Mapping'; -$lang['dns_entry'] = 'DNS Entry'; -$lang['simple_sec_object'] = 'Simple Security Object'; -$lang['courier_mail_account'] = 'Courier Mail Account'; -$lang['courier_mail_alias'] = 'Courier Mail Alias'; -$lang['ldap_alias'] = 'LDAP Alias'; -$lang['sendmail_cluster'] = 'Sendmail Cluster'; -$lang['sendmail_domain'] = 'Sendmail Domain'; -$lang['sendmail_alias'] = 'Sendmail Alias'; -$lang['sendmail_virt_dom'] = 'Sendmail Virtual Domain'; -$lang['sendmail_virt_users'] = 'Sendmail Virtual Users'; -$lang['sendmail_relays'] = 'Sendmail Relays'; -$lang['custom'] = 'Custom'; -$lang['samba_domain_name'] = 'My Samba domain Name'; -$lang['administrators'] = 'Administrators'; -$lang['users'] = 'Users'; -$lang['guests'] = 'Guests'; -$lang['power_users'] = 'Power Users'; -$lang['account_ops'] = 'Account Operators'; -$lang['server_ops'] = 'Server Operators'; -$lang['print_ops'] = 'Print Operators'; -$lang['backup_ops'] = 'Backup Operators'; -$lang['replicator'] = 'Replicator'; -$lang['unable_smb_passwords'] = ' Unable to create the Samba passwords. Please, check the configuration in template_config.php'; -$lang['err_smb_conf'] = 'Error: You have an error in your samba confguration.'; -$lang['err_smb_no_name_sid'] = 'Error: A name and a sid for your samba domain need to be provided.'; -$lang['err_smb_no_name'] = 'Error: No name provided for samba domain.'; -$lang['err_smb_no_sid'] = 'Error: No sid provided for samba domain.'; - -// Samba Account Template -$lang['samba_account'] = 'Samba Account'; -$lang['samba_account_lcase'] = 'samba account'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'New User Account'; -$lang['t_hint_customize'] = 'Hint: To customize this template, edit the file templates/creation/new_user_template.php'; -$lang['t_name'] = 'Name'; -$lang['t_first_name'] = 'First name'; -$lang['t_last_name'] = 'Last name'; -$lang['t_first'] = 'first'; -$lang['t_last'] = 'last'; -$lang['t_state'] = 'State'; -$lang['t_common_name'] = 'Common name'; -$lang['t_user_name'] = 'User Name'; -$lang['t_password'] = 'Password'; -$lang['t_encryption'] = 'Encryption'; -$lang['t_login_shell'] = 'Login Shell'; -$lang['t_home_dir'] = 'Home Directory'; -$lang['t_uid_number'] = 'UID Number'; -$lang['t_auto_det'] = '(automatically determined)'; -$lang['t_group'] = 'Group'; -$lang['t_gid_number'] = 'GID Number'; -$lang['t_uid'] = 'User ID'; -$lang['t_err_passwords'] = 'Your passwords don\'t match. Please go back and try again.'; -$lang['t_err_field_blank'] = 'You cannot leave the %s blank. Please go back and try again.'; -$lang['t_err_field_num'] = 'You can only enter numeric values for the %s field. Please go back and try again.'; -$lang['t_err_bad_container'] = 'The container you specified (%s) does not exist. Please go back and try again.'; -$lang['t_confirm_account_creation'] = 'Confirm account creation'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'Create Account'; -$lang['t_verify'] = 'Verify'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'New Posix Group'; - -// New Address Template -$lang['t_new_address'] = 'New Address Book Entry'; -$lang['t_organization'] = 'Organisation'; -$lang['t_address'] = 'Address'; -$lang['t_city'] = 'City'; -$lang['t_postal_code'] = 'Postal code'; -$lang['t_street'] = 'Street'; -$lang['t_work_phone'] = 'Work phone'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Mobile'; -$lang['t_email'] = 'Email'; -$lang['t_container'] = 'Container'; -$lang['t_err_cn_blank'] = 'You cannot leave the Common Name blank. Please go back and try again.'; -$lang['t_confim_creation'] = 'Confirm entry creation:'; -$lang['t_create_address'] = 'Create Address'; - -// default template -$lang['t_check_pass'] = 'Check password...'; -$lang['t_auto_submit'] = '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = 'Compare'; -$lang['comparing'] = 'Comparing the following DNs'; -$lang['compare_dn'] = 'Compare another DN with'; -$lang['with'] = 'with '; -$lang['compf_source_dn'] = 'Source DN'; -$lang['compf_dn_tooltip'] = 'Compare this DN with another'; -$lang['switch_entry'] = 'Switch Entry'; -$lang['no_value'] = 'No Value'; -$lang['compare_with'] = 'Compare with another entry'; -$lang['need_oclass'] = 'You need one of the following ObjectClass(es) to add this attribute %s.'; - -// Time out page -$lang['session_timed_out_1'] = 'Your Session timed out after'; -$lang['session_timed_out_2'] = 'min. of inactivity. You have been automatically logged out.'; -$lang['log_back_in'] = 'To log back in please click on the following link:'; -$lang['session_timed_out_tree'] = '(Session timed out. Automatically logged out.)'; -$lang['timeout_at'] = 'Inactivity will log you off at %s'; - -$lang['template_mustattr'] = 'Attribute [%s] is a MUST attribute, so it cannot be disabled.'; -$lang['template_nextpage'] = 'We are missing a page for [%s] attributes.'; -?> diff --git a/lang/recoded/es.php b/lang/recoded/es.php deleted file mode 100644 index 74fc3a7..0000000 --- a/lang/recoded/es.php +++ /dev/null @@ -1,655 +0,0 @@ - - */ - -// Search form -$lang['simple_search_form_str'] = 'Formulario de búsqueda sencilla'; -$lang['advanced_search_form_str'] = 'Formulario de búsqueda avanzada'; -$lang['server'] = 'Servidor'; -$lang['search_for_entries_whose'] = 'Buscar objetos que'; -$lang['base_dn'] = 'DN base'; -$lang['search_scope'] = 'Ámbito de búsqueda'; -$lang['show_attributes'] = 'Mostrar atributos'; -$lang['attributes'] = 'Atributos'; -$lang['Search'] = 'Buscar'; -$lang['predefined_search_str'] = 'Seleccionar una búsqueda predefinida'; -$lang['predefined_searches'] = 'Búsquedas predefinidas'; -$lang['no_predefined_queries'] = 'No hay ninguna búsqueda predefinida en config.php.'; -$lang['export_results'] = 'exportar resultados'; -$lang['unrecoginzed_search_result_format'] = 'Formato de resultado de búsqueda no reconocido: %s'; -$lang['format'] = 'Formato'; -$lang['list'] = 'lista'; -$lang['table'] = 'tabla'; -$lang['bad_search_display'] = 'Su config.php especifica un valor no válido para $default_search_display: %s. Por favor, arréglelo'; -$lang['page_n'] = 'Página %d'; -$lang['no_results'] = 'La búsqueda no ha encontrado resultados.'; - -// Tree browser -$lang['request_new_feature'] = 'Solicitar una nueva funcionalidad'; -$lang['report_bug'] = 'Informar de un error'; -$lang['schema'] = 'esquema'; -$lang['search'] = 'buscar'; -$lang['create'] = 'crear'; -$lang['info'] = 'info'; -$lang['import'] = 'importar'; -$lang['refresh'] = 'refrescar'; -$lang['logout'] = 'salir'; -$lang['create_new'] = 'Crear nuevo objeto'; -$lang['view_schema_for'] = 'Ver el esquema del'; -$lang['refresh_expanded_containers'] = 'Refrescar todos los contenedores extendidos del'; -$lang['create_new_entry_on'] = 'Crear un nuevo objeto en el'; -$lang['new'] = 'nuevo'; -$lang['view_server_info'] = 'Ver la información enviada por el servidor'; -$lang['import_from_ldif'] = 'Importar desde un fichero LDIF'; -$lang['logout_of_this_server'] = 'Desconectar del servidor'; -$lang['logged_in_as'] = 'Conectado como: '; -$lang['this_base_dn_is_not_valid'] = 'Esta DN base no es válida.'; -$lang['this_base_dn_does_not_exist'] = 'Este objeto no existe.'; -$lang['read_only'] = 'sólo lectura'; -$lang['read_only_tooltip'] = 'Este atributo ha sido marcado como de sólo lectura por el administrador de phpLDAPadmin'; -$lang['could_not_determine_root'] = 'No se ha podido determinar la raíz de su árbol LDAP.'; -$lang['ldap_refuses_to_give_root'] = 'Parece que el servidor LDAP ha sido configurado para no revelar su raíz.'; -$lang['please_specify_in_config'] = 'Por favór, especifíquela en config.php'; -$lang['create_new_entry_in'] = 'Crear nuevo objeto en'; -$lang['login_link'] = 'Autentificación'; -$lang['login'] = 'conectar'; -$lang['base_entry_does_not_exist'] = 'Este objeto base no existe.'; -$lang['create_it'] = '¿Crearlo?'; - -// Entry display -$lang['delete_this_entry'] = 'Borrar este objeto'; -$lang['delete_this_entry_tooltip'] = 'Se le pedirá confirmación'; -$lang['copy_this_entry'] = 'Copiar este objeto'; -$lang['copy_this_entry_tooltip'] = 'Copiar este objeto en otro sitio: un nuevo DN u otro servidor'; -$lang['export'] = 'Exportar'; -$lang['export_lcase'] = 'exportar'; -$lang['export_tooltip'] = 'Exportar este objeto'; -$lang['export_subtree_tooltip'] = 'Exportar este objeto y todos sus hijos'; -$lang['export_subtree'] = 'Exportar subárbol'; -$lang['create_a_child_entry'] = 'Crear un objeto hijo'; -$lang['rename_entry'] = 'Renombrar objeto'; -$lang['rename'] = 'Renombrar'; -$lang['add'] = 'Añadir'; -$lang['view'] = 'Ver'; -$lang['view_one_child'] = 'Ver 1 hijo'; -$lang['view_children'] = 'Ver %s hijos'; -$lang['add_new_attribute'] = 'Añadir atributo'; -$lang['add_new_objectclass'] = 'Añadir ObjectClass'; -$lang['hide_internal_attrs'] = 'Ocultar atributos internos'; -$lang['show_internal_attrs'] = 'Mostrar atributos internos'; -$lang['attr_name_tooltip'] = 'Haga click para ver el esquema del atributo de tipo \'%s\''; -$lang['none'] = 'ninguno'; -$lang['no_internal_attributes'] = 'No hay atributos internos'; -$lang['no_attributes'] = 'Este objeto no tiene atributos'; -$lang['save_changes'] = 'Guardar cambios'; -$lang['add_value'] = 'añadir valor'; -$lang['add_value_tooltip'] = 'Añadir un valor al atributo \'%s\''; -$lang['refresh_entry'] = 'Refrescar'; -$lang['refresh_this_entry'] = 'Refrescar este objeto'; -$lang['delete_hint'] = 'Nota: para borrar un atributo, borre su atributo y haga click en guardar.'; -$lang['attr_schema_hint'] = 'Nota: Para ver el esquema de un atributo, haga click en su nombre.'; -$lang['attrs_modified'] = 'Se han modificado algunos atributos (%s) que se encuentran destacados mas abajo.'; -$lang['attr_modified'] = 'Se ha modificado algún atributo (%s) que se encuentra destacado más abajo.'; -$lang['viewing_read_only'] = 'Nota: Modo de sólo lectura.'; -$lang['no_new_attrs_available'] = 'no hay nuevos atributos en este objeto'; -$lang['no_new_binary_attrs_available'] = 'no hay nuevos atributos binarios en este objeto'; -$lang['binary_value'] = 'Valor binario'; -$lang['add_new_binary_attr'] = 'Añadir atributo binario'; -$lang['alias_for'] = 'Nota: \'%s\' es un alias de \'%s\''; -$lang['required_for'] = 'Atributo requerido para la(s) clase(s) de objeto %s'; -$lang['download_value'] = 'descargar valor'; -$lang['delete_attribute'] = 'borrar atributo'; -$lang['true'] = 'verdadero'; -$lang['false'] = 'falso'; -$lang['none_remove_value'] = 'ninguno, borrar valor'; -$lang['really_delete_attribute'] = '¿Borrar realmente el atributo'; -$lang['add_new_value'] = 'Añadir valor'; - -// Schema browser -$lang['the_following_objectclasses'] = 'El servidor LDAP soporta las siguientes clases de objeto:'; -$lang['the_following_attributes'] = 'El servidor LDAP soporta los siguientes tipos de atributo:'; -$lang['the_following_matching'] = 'El servidor LDAP soporta las siguientes reglas de coincidencia:'; -$lang['the_following_syntaxes'] = 'El servidor LDAP soporta las siguientes sintaxis:'; -$lang['schema_retrieve_error_1']='El servidor LDAP no soporta el protocolo LDAP en su totalidad.'; -$lang['schema_retrieve_error_2']='Su versión de PHP no realiza la petición correctamente.'; -$lang['schema_retrieve_error_3']='O el phpLDAPadmin no sabe como obtener el esquema del servidor.'; -$lang['jump_to_objectclass'] = 'Ir a la clase de objeto'; -$lang['view_schema_for_oclass'] = 'Ver la descripción del esquema para esta clase de objeto.'; -$lang['jump_to_attr'] = 'Ir al tipo de atributo'; -$lang['jump_to_matching_rule'] = 'Ir a la regla de coincidencia'; -$lang['schema_for_server'] = 'Esquema del servidor'; -$lang['required_attrs'] = 'Atributos requeridos'; -$lang['required'] = 'requerido'; -$lang['optional_attrs'] = 'Atributos opcionales'; -$lang['optional_binary_attrs'] = 'Atributos binarios opcionales'; -$lang['OID'] = 'OID'; -$lang['aliases']='Alias'; -$lang['desc'] = 'Descripción'; -$lang['no_description']='sin descripción'; -$lang['name'] = 'Nombre'; -$lang['equality']='Igualdad'; -$lang['is_obsolete'] = 'Esta clase de objeto es obsoleta.'; -$lang['inherits'] = 'Hereda de'; -$lang['inherited_from'] = 'Heredado de'; -$lang['parent_to'] = 'Padre de'; -$lang['jump_to_this_oclass'] = 'Ir a la definición de esta clase de objeto'; -$lang['matching_rule_oid'] = 'OID de la regla de coincidencia'; -$lang['syntax_oid'] = 'OID de sintaxis'; -$lang['not_applicable'] = 'no aplicable'; -$lang['not_specified'] = 'no especificado'; -$lang['character'] = 'carácter'; -$lang['characters'] = 'caracteres'; -$lang['used_by_objectclasses'] = 'Usado por la clase de objeto'; -$lang['used_by_attributes'] = 'Usado por los atributos'; -$lang['maximum_length'] = 'Longitud máxima'; -$lang['attribute_types']='Tipos de atributo'; -$lang['syntaxes'] = 'Sintaxis'; -$lang['matchingrules'] = 'Reglas de coincidencia'; -$lang['oid'] = 'OID'; -$lang['obsolete'] = 'Obsoleto'; -$lang['ordering'] = 'Ordenación'; -$lang['substring_rule'] = 'Regla de subcadena'; -$lang['single_valued'] = 'Univaludado'; -$lang['collective'] = 'Colectivo'; -$lang['user_modification'] = 'Modificado por el usuario'; -$lang['usage'] = 'Uso'; -$lang['could_not_retrieve_schema_from'] = 'No se ha podido obtener el esquema de'; -$lang['type'] = 'Tipo'; -$lang['no_such_schema_item'] = 'No hay tal ítem en el esquema: "%s"'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objeto %s borrado correctamente.'; -$lang['you_must_specify_a_dn'] = 'Debe especificar un DN'; -$lang['could_not_delete_entry'] = 'No se ha podido borrar el objeto %s'; -$lang['no_such_entry'] = 'No hay tal objeto %s'; -$lang['delete_dn'] = 'Borrar %s'; -$lang['permanently_delete_children'] = '¿Borrar también todos los hijos?'; -$lang['entry_is_root_sub_tree'] = 'Este objeto es la raíz de un subárbol que contiene %s objetos.'; -$lang['view_entries'] = 'ver objetos'; -$lang['confirm_recursive_delete'] = 'phpLDAPadmin puede borrar recursivamente este objeto y sus %s hijos. Vea más abajo la lista de objetos que se borrarán ahora. ¿Todavía quiere hacerlo?'; -$lang['confirm_recursive_delete_note'] = 'Nota: es potencialmente peligroso y debe hacerlo a su cuenta y riesgo. Esta operación NO puede deshacerse. Tome en consideración alias, referencias y otras cosas que puedan causar problemas.'; -$lang['delete_all_x_objects'] = 'Borrar los %s objetos'; -$lang['recursive_delete_progress'] = 'Progreso de la borración recursiva'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s y su subárbol borrado correctamente.'; -$lang['failed_to_delete_entry'] = 'Error al borrar el objeto %s'; -$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a borrar:'; -$lang['sure_permanent_delete_object']='¿Está seguro de querer borrar este objeto?'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'El atributo "%s" está marcado como de sólo lectura en la configuración de phpLDAPadmin.'; -$lang['no_attr_specified'] = 'No se ha especificado ningún nombre de atributo.'; -$lang['no_dn_specified'] = 'No se ha especificado ningún DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Ha dejado en blanco el valor del atributo. Por favor, vuelva atrás e inténtelo de nuevo.'; -$lang['failed_to_add_attr'] = 'Error al añadir atributo.'; -$lang['file_empty'] = 'El fichero que ha escogido no existe o está vacío. Por favor vuelva atrás e inténtelo de nuevo.'; -$lang['invalid_file'] = 'Error de seguridad: El fichero que está enviando puede ser malicioso.'; -$lang['warning_file_uploads_disabled'] = 'Su configuración del PHP ha desactivado la recepción de ficheros. Por favor revise php.ini antes de continuar.'; -$lang['uploaded_file_too_big'] = 'El fichero que está enviando es demasiado grande. Por favor revise el ajuste "upload_max_size" en php.ini.'; -$lang['uploaded_file_partial'] = 'El fichero que ha seleccionado sólo se ha recibido parcialmente debido a un error de red.'; -$lang['max_file_size'] = 'Tamaño máximo de fichero: %s'; - -// Updating values -$lang['modification_successful'] = '¡Modificación realizada correctamente!'; -$lang['change_password_new_login'] = 'Como ha cambiado su contraseña, debe conectarse de nuevo empleando la nueva.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nuevos atributos requeridos'; -$lang['requires_to_add'] = 'Esta acción requiere que añada'; -$lang['new_attributes'] = 'nuevos atributos'; -$lang['new_required_attrs_instructions'] = 'Instrucciones: Para poder añadir esta clase a este objeto, debe especificar'; -$lang['that_this_oclass_requires'] = 'que esta clase requiere. Puede hacerlo en este formulario.'; -$lang['add_oclass_and_attrs'] = 'Añadir clase de objeto y atributos'; -$lang['objectclasses'] = 'Clases de objeto'; - -// General -$lang['chooser_link_tooltip'] = 'Haga click en el diálogo emergente para seleccionar un DN de forma gráfica'; -$lang['no_updates_in_read_only_mode'] = 'No puede realizar cambios cuando el servidor está funcionando en modo de sólo lectura'; -$lang['bad_server_id'] = 'Identificador de servidor no válido'; -$lang['not_enough_login_info'] = 'No hay información suficiente para conectar con el servidor. Por favor, revise su configuración.'; -$lang['could_not_connect'] = 'No se ha podido conectar con el servidor LDAP.'; -$lang['could_not_connect_to_host_on_port'] = 'No se ha podido conectar con "%s" en el puerto "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'No se ha podido realizar la operación "ldap_mod_add".'; -$lang['bad_server_id_underline'] = 'Identificador de servidor no válido: '; -$lang['success'] = 'Éxito'; -$lang['home'] = 'Inicio'; -$lang['help'] = 'Ayuda'; -$lang['success'] = 'Éxito'; -$lang['server_colon_pare'] = 'Servidor: '; -$lang['look_in'] = 'Buscando en: '; -$lang['missing_server_id_in_query_string'] = '¡No se ha especificado ningún servidor en la petición!'; -$lang['missing_dn_in_query_string'] = '¡No se ha especificado ningún DN en la petición!'; -$lang['back_up_p'] = 'Volver'; -$lang['no_entries'] = 'no hay objetos'; -$lang['not_logged_in'] = 'No está conectado'; -$lang['could_not_det_base_dn'] = 'No se puede determinar el DN base'; -$lang['please_report_this_as_a_bug']='Por favor informe de este error.'; -$lang['reasons_for_error']='Esto puede suceder por varias razones, las más probables son:'; -$lang['yes']='Sí'; -$lang['no']='No'; -$lang['go']='Ir'; -$lang['delete']='Borrar'; -$lang['back']='Atrás'; -$lang['object']='objeto'; -$lang['delete_all']='Borrar todo'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'nota'; -$lang['bug'] = 'error'; -$lang['warning'] = 'aviso'; -$lang['light'] = 'bombilla'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Proceder >>'; - -// Add value form -$lang['add_new'] = 'Añadir'; -$lang['value_to'] = 'valor de'; -$lang['distinguished_name'] = 'Nombre distinguido'; -$lang['current_list_of'] = 'Lista actual de'; -$lang['values_for_attribute'] = 'valores del atributo'; -$lang['inappropriate_matching_note'] = 'Nota: Si no ha creado una regla de igualdad en el servidor LDAP para este atributo, obtendrá un error de coincidencia inapropiada ("inappropriate matching").'; -$lang['enter_value_to_add'] = 'Introduzca el valor a añadir:'; -$lang['new_required_attrs_note'] = 'Nota: puede que tenga que introducir nuevos atributos que esta clase de objeto requiera'; -$lang['syntax'] = 'Sintaxis'; - -//copy.php -$lang['copy_server_read_only'] = 'No puede realizar modificaciones cuando el servidor está en modo de sólo lectura'; -$lang['copy_dest_dn_blank'] = 'Ha dejado el campo DN en blanco.'; -$lang['copy_dest_already_exists'] = 'El objeto destino (%s) ya existe.'; -$lang['copy_dest_container_does_not_exist'] = 'El contenedor destino (%s) no existe.'; -$lang['copy_source_dest_dn_same'] = 'El DN origen y destino son iguales.'; -$lang['copy_copying'] = 'Copiando '; -$lang['copy_recursive_copy_progress'] = 'Progreso de la copia recursiva'; -$lang['copy_building_snapshot'] = 'Creando imagen del árbol a copiar... '; -$lang['copy_successful_like_to'] = '¡Copia correcta! ¿Le gustaría '; -$lang['copy_view_new_entry'] = 'ver el nuevo objeto'; -$lang['copy_failed'] = 'Error al copiar el DN: '; - -//edit.php -$lang['missing_template_file'] = 'Aviso: falta el fichero de plantilla, '; -$lang['using_default'] = 'usando la plantilla por defecto.'; -$lang['template'] = 'Plantilla'; -$lang['must_choose_template'] = 'Debes escoger una plantilla'; -$lang['invalid_template'] = '%s no es una plantilla válida'; -$lang['using_template'] = 'usando plantilla'; -$lang['go_to_dn'] = 'Ir a %s'; -$lang['structural_object_class_cannot_remove'] = 'Esta es una clase de objeto estructural y no se puede eliminar.'; -$lang['structural'] = 'estructural'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar '; -$lang['copyf_to_new_object'] = 'a un objeto nuevo'; -$lang['copyf_dest_dn'] = 'DN destino'; -$lang['copyf_dest_dn_tooltip'] = 'El DN completo del objeto a crear'; -$lang['copyf_dest_server'] = 'Servidor destino'; -$lang['copyf_note'] = 'Nota: Sólo se puede copiar entre servidores diferentes cuando no hay violaciones de esquema'; -$lang['copyf_recursive_copy'] = 'También copiar recursivamente todos los hijos de este objeto.'; -$lang['recursive_copy'] = 'Copia recursiva'; -$lang['filter'] = 'Filtro'; -$lang['search_filter'] = 'Filtro de búsqueda'; -$lang['filter_tooltip'] = 'Cuando se realice una copia recursiva, copiar sólo los objetos que superen el filtrado'; - -//create.php -$lang['create_required_attribute'] = 'Ha dejado el valor del atributo requerido (%s) en blanco.'; -$lang['redirecting'] = 'Redirigiendo...'; -$lang['here'] = 'aquí'; -$lang['create_could_not_add'] = 'No se ha podido añadir el objeto al servidor LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Crear objeto'; -$lang['createf_choose_temp'] = 'Escoja una plantilla'; -$lang['createf_select_temp'] = 'Seleccione una plantilla para el proceso de creación'; -$lang['save_as_file'] = 'Guardar como fichero'; -$lang['rdn_field_blank'] = 'Ha dejado el campo RDN en blanco.'; -$lang['container_does_not_exist'] = 'El contenedor que ha especificado (%s) no existe. Por favor inténtelo de nuevo.'; -$lang['no_objectclasses_selected'] = 'No ha seleccionado ninguna clase para este objeto. Por favor, vuelva atrás y hágalo ahora.'; -$lang['hint_structural_oclass'] = 'Nota: Debe escoger al menos una clase de objeto estructural'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'En el servidor'; -$lang['ctemplate_no_template'] = 'No se ha especificado ninguna plantilla en las variables POST.'; -$lang['template_not_readable'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no se puede leer debido a que sus permisos son demasiado restrictivos.'; -$lang['template_does_not_exist'] = 'Su configuración especifica un fichero "%s" para esta plantilla pero dicho fichero no existe en el directorio templates/creation.'; -$lang['create_step1'] = 'Paso 1 de 2: Nombre y clase(s) de objeto'; -$lang['create_step2'] = 'Paso 2 de 2: Especifique attributos y valores'; -$lang['relative_distinguished_name'] = 'Nombre Distinguido Relativo (RDN)'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(ejemplo: cn=nuevaPersona)'; -$lang['container'] = 'Contenedor'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Todavía no ha conectado con el servidor, así que no puede realizar búsquedas.'; -$lang['click_to_go_to_login_form'] = 'Pulse aquí para ir al formulario de conexión'; -$lang['unrecognized_criteria_option'] = 'Criterio no reconocido: '; -$lang['if_you_want_to_add_criteria'] = 'Si quiere puede añadir su propios criterios a la lista. Asegúrese de editar search.php para manejarlos. Saliendo...'; -$lang['entries_found'] = 'Objetos encontrados: '; -$lang['filter_performed'] = 'Filtrado realizado: '; -$lang['search_duration'] = 'Búsqueda realizada por phpLDAPadmin en'; -$lang['seconds'] = 'segundos'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Ámbito de búsqueda'; -$lang['scope_sub'] = 'Sub (subárbol completo)'; -$lang['scope_one'] = 'One (un nivel bajo la base)'; -$lang['scope_base'] = 'Base (sólo la base)'; -$lang['standard_ldap_search_filter'] = 'Filtro de búsqueda LDAP estándar. Ejemplo: (&(sn=Picapiedra)(givenname=Pedro))'; -$lang['search_filter'] = 'Filtro de búsqueda'; -$lang['list_of_attrs_to_display_in_results'] = 'Lista de atributos para mostrar en los resultados (separados por comas)'; -$lang['show_attributes'] = 'Mostrar atributos'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Buscar entradas en las que'; -$lang['equals'] = 'sea igual a'; -$lang['starts with'] = 'comience por'; -$lang['contains'] = 'contenga'; -$lang['ends with'] = 'acabe en'; -$lang['sounds like'] = 'suene como'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'No se ha podido obtener ninguna información del servidor LDAP. Esto puede deberse a este error es su versión de PHP o quizás su servidor LDAP posee controles de acceso que privan a los clientes de acceso al RootDSE.'; -$lang['server_info_for'] = 'Información sobre el servidor: '; -$lang['server_reports_following'] = 'El servidor LDAP envía la siguiente información:'; -$lang['nothing_to_report'] = 'Este servidor no tiene nada sobre lo que informar.'; - -//update.php -$lang['update_array_malformed'] = 'El array update_array no está bien formado. Esto puede indicar un error de phpLDAPadmin. Por favor, informe de ello.'; -$lang['could_not_perform_ldap_modify'] = 'No se ha podido realizar la operación "ldap_modify".'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = '¿Quiere realizar estos cambios?'; -$lang['attribute'] = 'Atributo'; -$lang['old_value'] = 'Valor anterior'; -$lang['new_value'] = 'Nuevo valor'; -$lang['attr_deleted'] = '[atributo borrado]'; -$lang['commit'] = 'Cometer'; -$lang['cancel'] = 'Cancelar'; -$lang['you_made_no_changes'] = 'No ha realizado cambios'; -$lang['go_back'] = 'Volver atrás'; - -// welcome.php -$lang['welcome_note'] = 'Use el menú de la izquierda para navegar'; -$lang['credits'] = 'Creditos'; -$lang['changelog'] = 'Lista de cambios'; -$lang['donate'] = 'Donar'; -$lang['pla_logo'] = 'logotipo de phpLDAPadmin'; - -// Donate.php -$lang['donation_instructions'] = 'Para donar fondos al proyecto phpLDAPadmin, use uno de los botones de abajo.'; -$lang['donate_amount'] = 'Donar %s'; - -$lang['purge_cache'] = 'Borrar cachés'; -$lang['no_cache_to_purge'] = 'No hay que borrar ningún caché.'; -$lang['done_purging_caches'] = 'Se han borrado %s bytes de caché.'; -$lang['purge_cache_tooltip'] = 'Se han borrado todos los datos en el caché de phpLDAPadmin, incluyendo los esquemas del servidor.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nombre de fichero no seguro: '; -$lang['no_such_file'] = 'No hay tal fichero: '; - -//function.php -$lang['auto_update_not_setup'] = 'Ha activado "auto_uid_numbers" para %s en su configuración, - pero no ha especificado el mecanismo "auto_uid_number_mechanism". Por favor, corrija este problema'; -$lang['uidpool_not_set'] = 'Ha especificado el mecanismo "auto_uid_number_mechanism" como "uidpool" - en su configuración para el servidor %s, pero no ha especificado - "audo_uid_number_uid_pool_dn". Por favor, verifiquelo antes de continuar.'; -$lang['uidpool_not_exist'] = 'Parece ser que el "uidPool" que ha especificado en su configuración ("%s") - no existe.'; -$lang['specified_uidpool'] = 'Ha especificado "auto_uid_number_mechanism" como "search" en la - configuración del servidor %s, pero no ha especificado - "auto_uid_number_search_base". Por favor, especifíquelo antes de continuar.'; -$lang['auto_uid_invalid_credential'] = 'Imposible conectar con %s con sus credenciales "auto_uid". Por favor, verifique su fichero de configuración.'; -$lang['bad_auto_uid_search_base'] = 'Su configuración de phpLDAPadmin especifica "auto_uid_search_base" como no válida para el servidor %s'; -$lang['auto_uid_invalid_value'] = 'Ha especificado un valor no válido para el mecanismo "auto_uid_number_mechanism" ("%s") - en su configuración. Sólo son válidos "uidpool" y "search". Por favor, corrija este problema.'; -$lang['error_auth_type_config'] = 'Error: Tiene un error en su fichero de configurción. Los tres únicos valores para "auth_type" - en la sección $servers son \'session\', \'cookie\', y \'config\'. Usted ha introducido \'%s\', - que no está permitido. '; -$lang['unique_attrs_invalid_credential'] = 'Imposible conectarse a %s con sus credenciales unique_attr. Por favor, revise su fichero de configuración.'; -$lang['unique_attr_failed'] = 'Su intento de añadir %s (%s) a
    %s
    NO se ha permitido. Tal atributo/valor pertenece a otro objeto.

    Probablemente desee buscar tal objeto.'; -$lang['php_install_not_supports_tls'] = 'Su instalación de PHP no soporta TLS.'; -$lang['could_not_start_tls'] = 'No se ha podido iniciar TLS. Por favor, revise su configuración LDAP.'; -$lang['could_not_bind_anon'] = 'No se ha podido conectar con el servidor de forma anónima.'; -$lang['could_not_bind'] = 'No se ha podido conectar con el servidor LDAP.'; -$lang['anonymous_bind'] = 'Conexión anónima'; -$lang['bad_user_name_or_password'] = 'Nombre de usuario o contraseña incorrectos. Por favor, inténtelo de nuevo.'; -$lang['redirecting_click_if_nothing_happens'] = 'Redirigiendo... Pulse aquí si no sucede nada.'; -$lang['successfully_logged_in_to_server'] = 'Ha conectado con el servidor %s.'; -$lang['could_not_set_cookie'] = 'No se ha podido guardar la cookie.'; -$lang['ldap_said'] = 'LDAP ha dicho: %s'; -$lang['ferror_error'] = 'Error'; -$lang['fbrowse'] = 'seleccionar'; -$lang['delete_photo'] = 'Borrar foto'; -$lang['install_not_support_blowfish'] = 'Su instalación de PHP no soporta encriptación blowfish.'; -$lang['install_not_support_md5crypt'] = 'Su instalación de PHP no soporta encriptación md5crypt.'; -$lang['install_no_mash'] = 'Su instalación de PHP no posee la función mhash(). No se pueden realizar hashes SHA.'; -$lang['jpeg_contains_errors'] = 'La foto jpegPhoto contiene errores
    '; -$lang['ferror_number'] = 'Error número: %s (%s)'; -$lang['ferror_discription'] = 'Descripción: %s

    '; -$lang['ferror_number_short'] = 'Error número: %s

    '; -$lang['ferror_discription_short'] = 'Descripción: (no existe descripción disponible)
    '; -$lang['ferror_submit_bug'] = '¿Es éste un error de phpLDAPadmin? Si es así, por favor informe sobre ello.'; -$lang['ferror_unrecognized_num'] = 'Número de error no reconocido: '; -$lang['ferror_nonfatil_bug'] = '

    -
    - ¡Ha encontrado un error no fatal en phpLDAPadmin!
    Error:%s (%s)
    Fichero:%s línea %s, caller %s
    Versiones:PLA: %s, PHP: %s, SAPI: %s -
    Servidor web:%s
    - Por favor, informe de este error pulsando aquí.

    '; -$lang['ferror_congrats_found_bug'] = '¡Felicidades! Ha encontrado un error en phpLDAPadmin.

    - - - - - - - - - - -
    Error:%s
    Nivel:%s
    Fichero:%s
    Línea:%s
    Caller:%s
    Verisón PLA:%s
    Versión PHP:%s
    PHP SAPI:%s
    Servidor web:%s
    -
    - Por favor, informe sobre este error haciendo click más abajo!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar fichero LDIF'; -$lang['select_ldif_file'] = 'Seleccione un fichero LDIF:'; -$lang['dont_stop_on_errors'] = 'Ignorar errores'; - -//ldif_import -$lang['add_action'] = 'Añadiendo...'; -$lang['delete_action'] = 'Borrando...'; -$lang['rename_action'] = 'Renombrando...'; -$lang['modify_action'] = 'Modificando...'; -$lang['warning_no_ldif_version_found'] = 'No se ha encontrado versión. Asumiendo 1.'; -$lang['valid_dn_line_required'] = 'Se requiere una línea válida.'; -$lang['missing_uploaded_file'] = 'Falta el fichero enviado.'; -$lang['no_ldif_file_specified.'] = 'No se ha especificado un fichero LDIF. Por favor, inténtelo de nuevo.'; -$lang['ldif_file_empty'] = 'El fichero LDIF enviado está vacío.'; -$lang['empty'] = 'vacío'; -$lang['file'] = 'Fichero'; -$lang['number_bytes'] = '%s bytes'; - -$lang['failed'] = 'Error'; -$lang['ldif_parse_error'] = 'Error al parsear LDIF'; -$lang['ldif_could_not_add_object'] = 'No se ha podido añadir objeto:'; -$lang['ldif_could_not_rename_object'] = 'No se ha podido renombrar el objeto:'; -$lang['ldif_could_not_delete_object'] = 'No se ha podido borrar el objeto:'; -$lang['ldif_could_not_modify_object'] = 'No se ha podido modificar el objeto:'; -$lang['ldif_line_number'] = 'Número de línea:'; -$lang['ldif_line'] = 'Línea:'; - -// Exports -$lang['export_format'] = 'Formato de exportación'; -$lang['line_ends'] = 'Fin de línea'; -$lang['must_choose_export_format'] = 'Debe escoger un formato de exportación.'; -$lang['invalid_export_format'] = 'Formato de exportación no válido'; -$lang['no_exporter_found'] = 'No se ha encontrado ningún exportador válido.'; -$lang['error_performing_search'] = 'Se ha encontrado un error al realizar la búsqueda.'; -$lang['showing_results_x_through_y'] = 'Mostrando los resultados de %s a %s.'; -$lang['searching'] = 'Buscando...'; -$lang['size_limit_exceeded'] = 'Nota: se ha excedido el tiempo de búsqueda.'; -$lang['entry'] = 'Objeto'; -$lang['ldif_export_for_dn'] = 'Exportación LDIF de: %s'; -$lang['generated_on_date'] = 'Generado por phpLDAPadmin el %s'; -$lang['total_entries'] = 'Entradas totales'; -$lang['dsml_export_for_dn'] = 'Exportación DSLM de: %s'; -$lang['include_system_attrs'] = 'Incluir atributos de sistema'; -$lang['csv_spreadsheet'] = 'CSV (Hoja de cálculo)'; - -// logins -$lang['could_not_find_user'] = 'No se ha podido encontrar el usuario "%s"'; -$lang['password_blank'] = 'Ha dejado la contraseña en blanco.'; -$lang['login_cancelled'] = 'Conexión cancelada.'; -$lang['no_one_logged_in'] = 'No hay nadie conectado con el servidor.'; -$lang['could_not_logout'] = 'No se ha podido desconectar.'; -$lang['unknown_auth_type'] = 'Tipo de autentificación "auth_type" desconocido: %s'; -$lang['logged_out_successfully'] = 'Se ha desconectado del servidor %s'; -$lang['authenticate_to_server'] = 'Autentificación del servidor %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexión no está encriptada.'; -$lang['not_using_https'] = 'No está usando \'https\'. El navegador web enviará su información sin encriptar.'; -$lang['login_dn'] = 'Login'; -$lang['user_name'] = 'Nombre de usuario'; -$lang['password'] = 'Contraseña'; -$lang['authenticate'] = 'Entrar'; - -// Entry browser -$lang['entry_chooser_title'] = 'Selector de objetos'; - -// Index page -$lang['need_to_configure'] = 'Debe configurar phpLDAPadmin, editando el fichero \'config.php\'. Se proporciona un fichero de configuración de ejemplo en \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'No se permiten borrados en modo de sólo lectura.'; -$lang['error_calling_mass_delete'] = 'Error al llamar a "mass_delete.php". Falta la variable POST "mass_delete".'; -$lang['mass_delete_not_array'] = 'La variable POST "mass_delete" no es un array.'; -$lang['mass_delete_not_enabled'] = 'No está activado el borrado masivo. Por favor, actívelo en config.php antes de continuar.'; -$lang['search_attrs_wrong_count'] = 'Su config.php tiene un error. El número de atributos en $search_attributes y $search_attributes_display es diferente'; -$lang['mass_deleting'] = 'Efectuando borrado masivo'; -$lang['mass_delete_progress'] = 'Borrado en progreso en el servidor "%s"'; -$lang['malformed_mass_delete_array'] = 'Array de borrado masivo mal formado.'; -$lang['no_entries_to_delete'] = 'No ha seleccionado objetos para borrar.'; -$lang['deleting_dn'] = 'Borrando %s'; -$lang['total_entries_failed'] = 'No han podido borrarse %s de %s objetos.'; -$lang['all_entries_successful'] = 'Todos los objetos han sido borrados.'; -$lang['confirm_mass_delete'] = 'Confirmar borrado masivo de %s objetos en el servidor %s'; -$lang['yes_delete'] = '¡Sí, borrar!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'No puede renombrar un objeto que tenga hijos'; -$lang['no_rdn_change'] = 'No ha cambiado el RDN'; -$lang['invalid_rdn'] = 'Valor RDN no válido'; -$lang['could_not_rename'] = 'No se ha podido renombrar el objeto'; - -// General errors -$lang['php5_unsupported'] = 'phpLDAPadmin no soporta todavía PHP 5. Si continúa encontrará probablemente extraños errores.'; -$lang['mismatched_search_attr_config'] = 'Su configuración tiene un error. $search_attributes debe tener el mismo número de atributos que $search_attributes_display.'; - -// Password checker -$lang['passwords_match'] = '¡Las contraseñas coinciden!'; -$lang['passwords_do_not_match'] = '¡Las contraseñas no coinciden!'; -$lang['password_checker_tool'] = 'Herramienta de comprobación de contraseñas'; -$lang['compare'] = 'Comparar'; -$lang['to'] = 'con'; - -// Templates -$lang['using'] = 'Usando la'; -$lang['template'] = 'plantilla'; -$lang['switch_to'] = 'Puede cambair a la '; -$lang['default_template'] = 'plantilla por defecto'; - -// template_config -$lang['user_account'] = 'Cuenta de Usuario (posixAccount)'; -$lang['address_book_inet'] = 'Entrada del libro de direcciones (inetOrgPerson)'; -$lang['address_book_moz'] = 'Entrada del libro de direcciones (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Entrada de Usuario Kolab'; -$lang['organizational_unit'] = 'Unidad Organizativa'; -$lang['organizational_role'] = 'Rol Organizativo'; -$lang['posix_group'] = 'Grupo Posix'; -$lang['samba_machine'] = 'Ordenador con Samba NT'; -$lang['samba3_machine'] = 'Ordenador con Samba 3 NT'; -$lang['samba_user'] = 'Usuario de Samba'; -$lang['samba3_user'] = 'Usuario de Samba 3'; -$lang['samba3_group'] = 'Mapeo de Grupo de Samba 3'; -$lang['dns_entry'] = 'Entrada DNS'; -$lang['simple_sec_object'] = 'Objeto de Seguridad Simple'; -$lang['courier_mail_account'] = 'Cuenta de Correo Courier'; -$lang['courier_mail_alias'] = 'Alias de Correo Courier'; -$lang['ldap_alias'] = 'Alias de LDAP'; -$lang['sendmail_cluster'] = 'Cluster de Sendmail'; -$lang['sendmail_domain'] = 'Dominio de Sendmail'; -$lang['sendmail_alias'] = 'Alias de Sendmail'; -$lang['sendmail_virt_dom'] = 'Dominio Virtual de Sendmail'; -$lang['sendmail_virt_users'] = 'Usuarios Virtuales de Sendmail'; -$lang['sendmail_relays'] = 'Relés de Sendmail'; -$lang['custom'] = 'A medida'; -$lang['samba_domain_name'] = 'Mi Nombre de Dominio de Samba'; -$lang['administrators'] = 'Administradores'; -$lang['users'] = 'Usuarios'; -$lang['guests'] = 'Invitados'; -$lang['power_users'] = 'Usuarios Privilegiados'; -$lang['account_ops'] = 'Administradores de Cuentas'; -$lang['server_ops'] = 'Administradores de Servidor'; -$lang['print_ops'] = 'Administradores de Impresión'; -$lang['backup_ops'] = 'Administradores de Copias de Seguridad'; -$lang['replicator'] = 'Replicador'; -$lang['unable_smb_passwords'] = ' Imposible crear las contraseñas de Samba. Por favor, revise la configuración en template_config.php'; -$lang['err_smb_conf'] = 'Error: Tiene un error en su configuración de Samba.'; -$lang['err_smb_no_name_sid'] = 'Error: Necesita indicar el nombre y el sid de su dominio Samba.'; -$lang['err_smb_no_name'] = 'Error: No se ha indicado el nombre del dominio Samba.'; -$lang['err_smb_no_sid'] = 'Error: No se ha indicado el sid del dominio Samba.'; - -// Samba Account Template -$lang['samba_account'] = 'Cuenta Samba'; -$lang['samba_account_lcase'] = 'cuenta samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nueva cuenta de usuario'; -$lang['t_hint_customize'] = 'Nota: Para modificar esta plantilla, edite el fichero templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nombre'; -$lang['t_first_name'] = 'Nombre propio'; -$lang['t_last_name'] = 'Apellido'; -$lang['t_first'] = 'nombre propio'; -$lang['t_last'] = 'apellido'; -$lang['t_common_name'] = 'Nombre común'; -$lang['t_user_name'] = 'Nombre de Usuario'; -$lang['t_password'] = 'Contraseña'; -$lang['t_encryption'] = 'Encriptación'; -$lang['t_login_shell'] = 'Shell de entrada'; -$lang['t_home_dir'] = 'Directorio de usuario'; -$lang['t_uid_number'] = 'Número UID'; -$lang['t_auto_det'] = '(determinado automáticamente)'; -$lang['t_group'] = 'Grupo'; -$lang['t_gid_number'] = 'Número GID'; -$lang['t_err_passwords'] = 'Sus contraseñas no coinciden. Por favor, vuelva atrás e inténtelo de nuevon.'; -$lang['t_err_field_blank'] = 'No puede dejar en blanco el %s. Por favor, vuelva atrás e inténtelo de nuevo.'; -$lang['t_err_field_num'] = 'Sólo puede introducir valores numéricos en el campo %s. Por favor, vuelva atrás e inténtelo de nuevo.'; -$lang['t_err_bad_container'] = 'El contenedor que ha especificado (%s) no existe. Por favor, vuelva atrás e inténtelo de nuevo.'; -$lang['t_confirm_account_creation'] = 'Confirmar creación de cuenta'; -$lang['t_secret'] = '[secreta]'; -$lang['t_create_account'] = 'Crear cuenta'; - -// New Address Template -$lang['t_new_address'] = 'Nueva entrada en el libro de direcciones'; -$lang['t_organization'] = 'Organización'; -$lang['t_address'] = 'Dirección'; -$lang['t_city'] = 'Ciudad'; -$lang['t_postal_code'] = 'Código postal'; -$lang['t_street'] = 'Calle'; -$lang['t_work_phone'] = 'Teléfono de trabajo'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Móvil'; -$lang['t_email'] = 'Email'; -$lang['t_container'] = 'Contenedor'; -$lang['t_err_cn_blank'] = 'No puede dejar el campo "Nombre Común" en blanco. Por favor, vuelva atrás e inténtelo de nuevo.'; -$lang['t_confim_creation'] = 'Confirmar creación de entrada:'; -$lang['t_create_address'] = 'Crear dirección'; - -// default template -$lang['t_check_pass'] = 'Compruebe la contraseña...'; - -?> - diff --git a/lang/recoded/fr.php b/lang/recoded/fr.php deleted file mode 100644 index 8484643..0000000 --- a/lang/recoded/fr.php +++ /dev/null @@ -1,694 +0,0 @@ -anomalie dans votre version de PHP ou peut-être que votre serveur LDAP a un contrôle d\'accès défini qui empèche les clients LDAP d\'accéder au RootDSE.'; -$lang['server_info_for'] = 'Info serveur pour : '; -$lang['server_reports_following'] = 'Le serveur rapporte les informations suivantes à propos de lui-même'; -$lang['nothing_to_report'] = 'Ce serveur n\'a rien à rapporter.'; - -//update.php -$lang['update_array_malformed'] = 'update_array est malformé. C\'est peut-être une anomalie de phpLDAPadmin. Veuillez la rapporter.'; -$lang['could_not_perform_ldap_modify'] = 'Impossible d\'effectuer une opération ldap_modify.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Voulez-vous effectuer ces modifications ?'; -$lang['attribute'] = 'Attribut'; -$lang['old_value'] = 'Ancienne valeur'; -$lang['new_value'] = 'Nouvelle valeur'; -$lang['attr_deleted'] = '[attribut supprimé]'; -$lang['commit'] = 'Valider'; -$lang['cancel'] = 'Annuler'; -$lang['you_made_no_changes'] = 'Vous n\'avez fait aucune modification'; -$lang['go_back'] = 'Revenir'; -$lang['unable_create_samba_pass'] = 'Impossible de créer le mot de passe Samba. Veuillez vérifier votre configuration dans template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'Utiliser le menu de gauche pour naviguer'; -$lang['credits'] = 'Crédits'; -$lang['changelog'] = 'ChangeLog'; -$lang['documentation'] = 'Documentation'; -$lang['donate'] = 'Donation'; -$lang['pla_logo'] = 'Logo phpLDAPadmim'; - -// Donate.php -$lang['donation_instructions'] = 'Pour contribuer financièrement au projet phpLDAPadmin, utilisez un des boutons PayPal ci-dessous.'; -$lang['donate_amount'] = 'Donner %s'; - -$lang['purge_cache'] = 'Purger les caches'; -$lang['no_cache_to_purge'] = 'Aucun cache à purger.'; -$lang['done_purging_caches'] = '%s octets de cache purgés.'; -$lang['purge_cache_tooltip'] = 'Purge toutes les données cachées dans phpLDAPadmin, incluant les schémas de serveur.'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nom de fichier non sûr : '; -$lang['no_such_file'] = 'Pas de tel fichier : '; - -//function.php -$lang['auto_update_not_setup'] = 'Vous avez activé auto_uid_numbers pour %s dans votre configuration, - mais vous n\'avez pas spécifié de mécanisme auto_uid_number_mechanism. Veuillez corriger - ce problème.'; -$lang['uidpool_not_set'] = 'Vous avez défini « auto_uid_number_mechanism » comme « uidpool » - dans votre configuration pour le serveur %s, mais vous n\'avez pas spécifié le - auto_uid_number_uid_pool_dn. Veuillez le spécifier avant de procéder.'; -$lang['uidpool_not_exist'] = 'Il semble que le uidPool que vous avez spécifié dans votre configuration (« %s ») - n\'existe pas.'; -$lang['specified_uidpool'] = 'Vous avez spécifié le « auto_uid_number_mechanism » comme « search » dans votre - configuration du serveur %s, mais vous n\'avez pas spécifié le - « auto_uid_number_search_base ». Veuillez le spécifier avant de procéder.'; -$lang['auto_uid_invalid_credential'] = 'Incapable de se connecter à %s avec votre crédentiel auto_uid . Veuillez vérifier votre fichier de configuration.'; -$lang['bad_auto_uid_search_base'] = 'Votre configuration de phpLDAPadmin spécifie un auto_uid_search_base non valide pour le serveur %s'; -$lang['auto_uid_invalid_value'] = 'Vous avez spécifié une valeur non valide pour pour auto_uid_number_mechanism ("%s") - dans votre configuration. Seul « uidpool » et « search » sont valides. - Veuillez corriger ce problème.'; -$lang['error_auth_type_config'] = 'Erreur : Vous avez une erreur dans votre fichier de configuration. Les seuls trois valeurs autorisées - pour auth_type dans la section $servers sont « session », « cookie », et « config ». Vous avez saisi « %s », - qui n\'est pas autorisée. '; -$lang['unique_attrs_invalid_credential'] = 'Impossible de se connecter à %s avec votre crédentiel unique_attrs. Veuillez vérifier votre fichier de configuration.'; -$lang['unique_attr_failed'] = 'Votre tentative d\'ajouter %s (%s) à
    %s
    n\'est pas autorisée. Cet attribut/valeur appartient à une autre entrée.

    Vous souhaitez rechercher cette entrée.'; -$lang['php_install_not_supports_tls'] = 'Votre installation de PHP ne supporte pas TLS.'; -$lang['could_not_start_tls'] = 'Impossible de démarrer TLS. Veuillez vérifier la configuration de votre serveur LDAP.'; -$lang['could_not_bind_anon'] = 'Impossible de se connecter anonymement au serveur.'; -$lang['could_not_bind'] = 'Impossible de se connecter au serveur LDAP.'; -$lang['anonymous_bind'] = 'Connexion anonyme'; -$lang['bad_user_name_or_password'] = 'Mauvais nom d\'utilisateur ou mot de passe. Veuillez réessayer.'; -$lang['successfully_logged_in_to_server'] = 'Connexion au serveur %s avec succès'; -$lang['could_not_set_cookie'] = 'Impossible de définir le cookie.'; -$lang['ldap_said'] = 'LDAP dit : %s'; -$lang['ferror_error'] = 'Erreur'; -$lang['fbrowse'] = 'parcourir'; -$lang['delete_photo'] = 'Supprimer la photo'; -$lang['install_not_support_ext_des'] = 'Votre bibliothèque système crypt ne supporte pas le chiffrement DES étendu.'; -$lang['install_not_support_blowfish'] = 'Votre bibliothèque système crypt ne supporte pas le chiffrement blowfish.'; -$lang['install_not_support_md5crypt'] = 'Votre bibliothèque système crypt ne supporte pas le chiffrement md5crypt.'; -$lang['install_no_mash'] = 'Votre installation PHP n\'a pas de fonction mhash(). Impossible de faire de signature SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto contient des erreurs
    '; -$lang['ferror_number'] = 'Erreur numéro : %s (%s)'; -$lang['ferror_discription'] = 'Description : %s

    '; -$lang['ferror_number_short'] = 'Erreur numéro : %s

    '; -$lang['ferror_discription_short'] = 'Description : (aucune description disponible)
    '; -$lang['ferror_submit_bug'] = 'Est-ce une anomalie phpLDAPadmin ? Si c\'est le cas, veuillez la rapporter.'; -$lang['ferror_unrecognized_num'] = 'Numéro d\'erreur non reconnu: '; -$lang['ferror_nonfatil_bug'] = '

    - - - -
    - Vous avez trouvé une anomalie phpLDAPadmin non fatale !
    Erreur :%s (%s)
    Fichier :%s ligne %s, appelant %s
    Versions :PLA : %s, PHP : %s, SAPI : %s -
    Serveur Web :%s
    Veuillez vérifier et voir si cette anomalie a déjà été rapportée ici.
    Si elle n\'a pas été rapportée, vous pouver rapporter cette anomalie en cliquant ici.

    '; -$lang['ferror_congrats_found_bug'] = 'Félicitations ! Vous avez trouvé une anomalie dans phpLDAPadmin.

    - - - - - - - - - - -
    Erreur :%s
    Niveau :%s
    Fichier :%s
    Ligne :%s
    Appelant :%s
    Version PLA :%s
    Version PHP :%s
    SAPI PHP :%s
    Serveur Web :%s
    -
    - Veuillez rapporter cette anomalie en cliquant ci-dessous !'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importer un fichier LDIF'; -$lang['select_ldif_file'] = 'Sélectionner un fichier LDIF :'; -$lang['dont_stop_on_errors'] = 'Ne pas vous arrêter sur les erreurs'; - -//ldif_import -$lang['add_action'] = 'Ajout...'; -$lang['delete_action'] = 'Suppression...'; -$lang['rename_action'] = 'Renommage...'; -$lang['modify_action'] = 'Modification...'; -$lang['warning_no_ldif_version_found'] = 'Aucune version trouvé. Assume 1.'; -$lang['valid_dn_line_required'] = 'Une ligne dn valide est requise.'; -$lang['missing_uploaded_file'] = 'Fichier téléchargé manquant.'; -$lang['no_ldif_file_specified'] = 'Aucun fichier LDIF spécifié. Veuillez essayer de nouveau.'; -$lang['ldif_file_empty'] = 'Le fichier LDIF téléchargé est manquant.'; -$lang['empty'] = 'vide'; -$lang['file'] = 'Fichier'; -$lang['number_bytes'] = '%s octets'; - -$lang['failed'] = 'Échoue'; -$lang['ldif_parse_error'] = 'Erreur d\'analyse LDIF'; -$lang['ldif_could_not_add_object'] = 'Impossible d\'ajouter un objet :'; -$lang['ldif_could_not_rename_object'] = 'Impossible de renommer l\'objet :'; -$lang['ldif_could_not_delete_object'] = 'Impossible de supprimer l\'objet :'; -$lang['ldif_could_not_modify_object'] = 'Impossible de modifier l\'objet :'; -$lang['ldif_line_number'] = 'Numéro de ligne :'; -$lang['ldif_line'] = 'Ligne :'; - -// Exports -$lang['export_format'] = 'Format d\'exportation'; -$lang['line_ends'] = 'Les lignes se finissent par'; -$lang['must_choose_export_format'] = 'Vous devez choisir un format d\'exportation.'; -$lang['invalid_export_format'] = 'Format d\'exportation non valide'; -$lang['no_exporter_found'] = 'Aucun filtre d\'exportation trouvé.'; -$lang['error_performing_search'] = 'Une erreur est survenue lors de la recherche.'; -$lang['showing_results_x_through_y'] = 'Affichage des résultats %s à %s.'; -$lang['searching'] = 'Recherche en cours...'; -$lang['size_limit_exceeded'] = 'Attention, la taille limite de recherche est dépassée.'; -$lang['entry'] = 'Entrée'; -$lang['ldif_export_for_dn'] = 'Exportation LDIF pour : %s'; -$lang['generated_on_date'] = 'Généré par phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) pour %s'; -$lang['total_entries'] = 'Entrées totales'; -$lang['dsml_export_for_dn'] = 'Exportation DSLM pour : %s'; -$lang['include_system_attrs'] = 'Inclure les attributs système'; -$lang['csv_spreadsheet'] = 'CSV (feuille de calcul)'; - -// logins -$lang['password_blank'] = 'Vous avez laissé le mot de passe vide.'; -$lang['no_one_logged_in'] = 'Personne n\'est connecté sur ce serveur.'; -$lang['could_not_logout'] = 'Impossible de se déconnecter.'; -$lang['unknown_auth_type'] = 'auth_type inconnu : %s'; -$lang['logged_out_successfully'] = 'Déconnexion du serveur avec succès %s'; -$lang['authenticate_to_server'] = 'Authentification auprès du serveur %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Avertissement : la connexion Web n\'est pas chiffré.'; -$lang['not_using_https'] = 'Vous n\'utilisez pas « https ». Le navigateur Web transmettra les informations de connexion en clair.'; -$lang['login_dn'] = 'DN de connexion'; -$lang['user_name'] = 'Nom d\'utilisateur'; -$lang['password'] = 'Mot de passe'; -$lang['authenticate'] = 'Authentification'; -$lang['login_not_allowed'] = 'Désolé, vous n\'êtes pas autorisé à utiliser phpLDAPadmin avec ce serveur LDAP.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Sélecteur d\'entrées'; - -// Index page -$lang['need_to_configure'] = 'Vous avez besoin de configurer phpLDAPadmin. Éditez le fichier « config.php » pour le faire. un exemple de fichier de configuration est fournit dans « config.php.example »'; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Supprimer n\'est pas autorisé en lecture seule.'; -$lang['error_calling_mass_delete'] = 'Erreur lors de l\'applel de mass_delete.php. Il manque mass_delete dans les variables POST.'; -$lang['mass_delete_not_array'] = 'La variable POST mass_delete n\'est pas un tableau.'; -$lang['mass_delete_not_enabled'] = 'La suppression de masse n\'est pas activé. Veuillez l\'activer dans config.php avant de procéder.'; -$lang['mass_deleting'] = 'Suppression de masse'; -$lang['mass_delete_progress'] = 'Progression de la suppression sur le serveur « %s »'; -$lang['malformed_mass_delete_array'] = 'Tableau mass_delete malformé.'; -$lang['no_entries_to_delete'] = 'Vous n\'avez sélectionné aucune entrées à supprimer.'; -$lang['deleting_dn'] = 'Suppression de %s'; -$lang['total_entries_failed'] = '%s sur %s entrées n\'ont pu être effacées.'; -$lang['all_entries_successful'] = 'Toutes les entrées ont été supprimées avec succès.'; -$lang['confirm_mass_delete'] = 'Confirmer la suppression de masse de %s entrées sur le serveur %s'; -$lang['yes_delete'] = 'Oui, supprimer !'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Vous ne pouvez renommer une entrée qui a des sous-entrées (cad, l\'opération de renommage n\'est pas autorisé sur des entrées non terminales)'; -$lang['no_rdn_change'] = 'Vous n\'avez pas modifié le RDN'; -$lang['invalid_rdn'] = 'Valeur RDN non valide'; -$lang['could_not_rename'] = 'Impossible de renommer l\'entrée'; - -// Password checker -$lang['passwords_match'] = 'Correspondance du mot de passe !'; -$lang['passwords_do_not_match'] = 'Les mots de passe ne correspondent pas !'; -$lang['password_checker_tool'] = 'Outil de vérification de mot de passe'; -$lang['to'] = 'Vers'; - -// Templates -$lang['using'] = 'En utilisant le'; -$lang['switch_to'] = 'Vous pouvez basculer vers '; -$lang['default_template'] = 'modèle par défaut'; - -// template_config -$lang['user_account'] = 'Compte utilisateur (posixAccount)'; -$lang['address_book_inet'] = 'Entrée de carnet d\'adresses (inetOrgPerson)'; -$lang['address_book_moz'] = 'Entrée de carnet d\'adresses (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Entrée d\'utilisateur Kolab'; -$lang['organizational_unit'] = 'Unité organisationnelle'; -$lang['new_organizational_unit'] = 'Nouvelle unité organisationnelle'; -$lang['organizational_role'] = 'Rôle organisationnel'; -$lang['posix_group'] = 'Groupe Posix'; -$lang['samba_machine'] = 'Machine NT Samba'; -$lang['samba3_machine'] = 'Machine NT Samba 3'; -$lang['samba_user'] = 'Utilisateur Samba'; -$lang['samba3_user'] = 'Utilisateur Samba 3'; -$lang['samba3_group'] = 'Groupe de mappage Samba 3'; -$lang['dns_entry'] = 'Entrée DNS'; -$lang['simple_sec_object'] = 'Object de sécurité simple'; -$lang['courier_mail_account'] = 'Compte de messagerie'; -$lang['courier_mail_alias'] = 'Alias de compte de messagerie'; -$lang['ldap_alias'] = 'Alias LDAP'; -$lang['sendmail_cluster'] = 'Cluster Sendmail'; -$lang['sendmail_domain'] = 'Domaine Sendmail'; -$lang['sendmail_alias'] = 'Alias Sendmail'; -$lang['sendmail_virt_dom'] = 'Domaine virtuel Sendmail'; -$lang['sendmail_virt_users'] = 'Utilisateurs virtuels Sendmail'; -$lang['sendmail_relays'] = 'Relais Sendmail'; -$lang['custom'] = 'personnalisé'; -$lang['samba_domain_name'] = 'Mon nom de domaine Samba'; -$lang['administrators'] = 'Administrateurs'; -$lang['users'] = 'Utilisateurs'; -$lang['guests'] = 'Invités'; -$lang['power_users'] = 'Utilisateurs avec pouvoir'; -$lang['account_ops'] = 'Opérateurs de comptes'; -$lang['server_ops'] = 'Opérateurs de serveurs'; -$lang['print_ops'] = 'Opérateurs d\'impression'; -$lang['backup_ops'] = 'Opérateurs de sauvegarde'; -$lang['replicator'] = 'Duplicateurs'; -$lang['unable_smb_passwords'] = ' Impossible de créer les mots de passe Samba. Veuillez vérifier la configuration dans template_config.php'; -$lang['err_smb_conf'] = 'Erreur : vous avez une erreur dans votre confguration Samba.'; -$lang['err_smb_no_name_sid'] = 'Erreur : un nom et un sid doivent être fournit pour votre domaine Samba.'; -$lang['err_smb_no_name'] = 'Erreur : aucun nom fournit pour le domaine Samba.'; -$lang['err_smb_no_sid'] = 'Erreur : aucun sid fournit pour le domaine Samba.'; - -// Samba Account Template -$lang['samba_account'] = 'Compte Samba'; -$lang['samba_account_lcase'] = 'compte samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nouveau compte utilisateur'; -$lang['t_hint_customize'] = 'astuce : pour personnaliser ce modèle, éditez le fichier templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nom'; -$lang['t_first_name'] = 'Prénom'; -$lang['t_last_name'] = 'Nom de famille'; -$lang['t_first'] = 'premier'; -$lang['t_last'] = 'dernier'; -$lang['t_state'] = 'État'; -$lang['t_common_name'] = 'Nom commun'; -$lang['t_user_name'] = 'Nom d\'utilisateur'; -$lang['t_password'] = 'Mot de passe'; -$lang['t_encryption'] = 'Chiffrement'; -$lang['t_login_shell'] = 'Shell de connexion'; -$lang['t_home_dir'] = 'Dossier personnel'; -$lang['t_uid_number'] = 'UID'; -$lang['t_auto_det'] = '(déterminé automatiquement)'; -$lang['t_group'] = 'Groupe'; -$lang['t_gid_number'] = 'GID'; -$lang['t_uid'] = 'ID utilisateur'; -$lang['t_err_passwords'] = 'Vos mots de passe ne correspondent pas. Veuillez revenir et réessayer.'; -$lang['t_err_field_blank'] = 'Vous ne pouvez laisser %s vide. Veuillez revenir et réessayer.'; -$lang['t_err_field_num'] = 'Vous ne pouvez entrez que des valeurs numériques pour le champ %s. Veuillez revenir et réessayer.'; -$lang['t_err_bad_container'] = 'Le conteneur que vous avez spécifié (%s) n\'existe pas. Veuillez revenir et réessayer.'; -$lang['t_confirm_account_creation'] = 'Confirmer la création du compte'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'Créer un compte'; -$lang['t_verify'] = 'Vérifier'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'Nouveau groupe Posix'; - -// New Address Template -$lang['t_new_address'] = 'Nouvelle entrée de carnet d\'adresses'; -$lang['t_organization'] = 'Organisation'; -$lang['t_address'] = 'Adresse'; -$lang['t_city'] = 'Ville'; -$lang['t_postal_code'] = 'Code postal'; -$lang['t_street'] = 'Rue'; -$lang['t_work_phone'] = 'Téléphone (bureau)'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Mobile'; -$lang['t_email'] = 'Courriel'; -$lang['t_container'] = 'Conteneur'; -$lang['t_err_cn_blank'] = 'Vousne pouvez pas laissez le Nom commun vide. Veuiller revenir er réessayer.'; -$lang['t_confim_creation'] = 'Confirmer la création de l\'entrée :'; -$lang['t_create_address'] = 'Créer l\'adresse'; - -// default template -$lang['t_check_pass'] = 'Vérifier l\'adresse...'; -$lang['t_auto_submit'] = '(Évaluation automatique lors de la soumission.)'; - -// compare form -$lang['compare'] = 'Comparer'; -$lang['comparing'] = 'Compararaison des DNs suivants'; -$lang['compare_dn'] = 'Comparer un autre DN avec'; -$lang['with'] = 'avec '; -$lang['compf_source_dn'] = 'DN source'; -$lang['compf_dn_tooltip'] = 'Comparer cn DN avec un autre'; -$lang['switch_entry'] = 'Basculer l\'entrée'; -$lang['no_value'] = 'Aucune valeur'; -$lang['compare_with'] = 'Comparer avec une autre entrée'; -$lang['need_oclass'] = 'Vous avez besoin d\'un autre ObjectClass(es) pour ajouter cet attribut %s.'; - -// Time out page -$lang['session_timed_out_1'] = 'Votre session s\'est terminé avec'; -$lang['session_timed_out_2'] = 'min. d\'inactivité. Vous avez été automatiquement déconnecté.'; -$lang['log_back_in'] = 'Pour vous reconnecter, veuillez cliquer sur le lien suivant :'; -$lang['session_timed_out_tree'] = '(Session expirée. Déconnexion automatique.)'; -$lang['timeout_at'] = 'L\'inactivité vous déconnectera à %s'; -?> diff --git a/lang/recoded/hu.php b/lang/recoded/hu.php deleted file mode 100644 index 6f0ee89..0000000 --- a/lang/recoded/hu.php +++ /dev/null @@ -1,556 +0,0 @@ - - * with help from SIPOS Agnes - * $Header: /cvsroot/phpldapadmin/phpldapadmin/lang/recoded/hu.php,v 1.1 2004/05/23 21:12:04 i18phpldapadmin Exp $ - */ - -/* --- INSTRUCTIONS FOR TRANSLATORS --- - * - * If you want to write a new language file for your language, - * please submit the file on SourceForge: - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * Use the option "Check to Upload and Attach a File" at the bottom - * - * Thank you! - * - */ - -/* - * The $lang array contains all the strings that phpLDAPadmin uses. - * Each language file simply defines this aray with strings in its - * language. - */ - -// Search form -$lang['simple_search_form_str'] = 'Egyszerű keresési űrlap'; // 'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Részletes keresési űrlap'; //'Advanced Search Form'; -$lang['server'] = 'Kiszolgáló'; //'Server'; -$lang['search_for_entries_whose'] = 'Bejegyzések keresése ahol'; //'Search for entries whose'; -$lang['base_dn'] = 'Alap-DN'; //'Base DN'; -$lang['search_scope'] = 'A keresés hatásköre'; //'Search Scope'; -$lang['show_attributes'] = 'Megjelenítendő attribútumok'; //'Show Attributtes'; -$lang['Search'] = 'Keresés'; //'Search'; -$lang['predefined_search_str'] = 'Előre definiált keresés kiválasztása'; //'Select a predefined search'; -$lang['predefined_searches'] = 'Előre definiált keresések'; //'Predefined Searches'; -$lang['no_predefined_queries'] = 'Nincs keresés definiálva a config.php-ben.'; //'No queries have been defined in config.php.'; - -// Tree browser -$lang['request_new_feature'] = 'Új tulajdonság kérése'; //'Request a new feature'; -$lang['report_bug'] = 'Hiba jelentése'; //'Report a bug'; -$lang['schema'] = 'séma'; //'schema'; -$lang['search'] = 'keresés'; //'search'; -$lang['create'] = 'létrehozás'; //'create'; -$lang['info'] = 'infó'; //'info'; -$lang['import'] = 'import'; //'import'; -$lang['refresh'] = 'frissítés'; //'refresh'; -$lang['logout'] = 'kilépés'; //'logout'; -$lang['create_new'] = 'Új bejegyzés'; //'Create New'; -$lang['view_schema_for'] = 'Séma megtekintése:'; //'View schema for'; -$lang['refresh_expanded_containers'] = 'Az összes kiterjesztett tároló frissítése:'; //'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Új bejegyzés létrehozása:'; //'Create a new entry on'; -$lang['new'] = 'új'; //'new'; -$lang['view_server_info'] = 'A kiszolgáló információinak megtekintése'; //'View server-supplied information'; -$lang['import_from_ldif'] = 'LDIF-állományból bejegyzések importálása'; //'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Kilépés ebből a kiszolgálóból'; //'Logout of this server'; -$lang['logged_in_as'] = 'Belépve mint'; //'Logged in as: '; -$lang['read_only'] = 'csak olvasható'; //'read only'; -$lang['read_only_tooltip'] = 'A phpLDAPadmin adminisztrátora ezt az attribútumot csak olvashatóra állította'; //'This attribute has been flagged as read only by the phpLDAPadmin administrator'; -$lang['could_not_determine_root'] = 'Nem tudom megállapítani az LDAP-fa gyökerét.'; //'Could not determine the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Az LDAP-kiszolgálót úgy konfigurálták, hogy ne fedje föl az LDAP-fa gyökerét.'; //'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Kérem adja meg a config.php-ban'; //'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Új bejegyzés létrehozása:'; //'Create a new entry in'; -$lang['login_link'] = 'Belépés...'; //'Login...'; -$lang['login'] = 'belépés'; //'login'; - -// Entry display -$lang['delete_this_entry'] = 'A bejegyzés törlése'; //'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Ezt a döntést majd még meg kell erősíteni'; //'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'A bejegyzés másolása'; //'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Az objektum másolása más helyre új DN-nel és/vagy másik kiszolgálóra'; //'Copy this object to another location, a new DN, or another server'; -$lang['export'] = 'Exportálás'; //'Export'; -$lang['export_tooltip'] = 'Az objektum kiírása'; //'Save a dump of this object'; -$lang['export_subtree_tooltip'] = 'Az objektum és az összes gyermekének kiírása'; //'Save a dump of this object and all of its children'; -$lang['export_subtree'] = 'Részfa exportálása'; //'Export subtree'; -$lang['create_a_child_entry'] = 'Gyermekbejegyzés létrehozása'; //'Create a child entry'; -$lang['rename_entry'] = 'A bejegyzés átnevezése'; 'Rename Entry'; -$lang['rename'] = 'Átnevezés'; //'Rename'; -$lang['add'] = 'Hozzáadás'; //'Add'; -$lang['view'] = 'Megtekintés'; //'View'; -$lang['view_one_child'] = 'A gyermek megtekintése (1 darab)'; //'View 1 child'; -$lang['view_children'] = 'A gyermekek megtekintése (%s darab)'; //'View %s children'; -$lang['add_new_attribute'] = 'Új attribútum hozzáadása'; //'Add new attribute'; -$lang['add_new_objectclass'] = 'Új objektumosztály hozzáadása'; //'Add new ObjectClass'; -$lang['hide_internal_attrs'] = 'Belső attribútumok elrejtése'; //'Hide internal attributes'; -$lang['show_internal_attrs'] = 'Belső attribútumok megjelenítése'; //'Show internal attributes'; -$lang['attr_name_tooltip'] = 'Kattintással megjelenik a(z) %s attribútumtípus sémabeli definíciója'; //'Click to view the schema defintion for attribute type \'%s\''; -$lang['none'] = 'nincs'; //'none'; -$lang['no_internal_attributes'] = 'Nincs belső attribútum'; //'No internal attributes'; -$lang['no_attributes'] = 'A bejegyzésnek nincs attribútuma'; //'This entry has no attributes'; -$lang['save_changes'] = 'Változások mentése'; //'Save Changes'; -$lang['add_value'] = 'érték hozzáadása'; //'add value'; -$lang['add_value_tooltip'] = 'Érték hozzáadása a(z) %s attribútumhoz'; //'Add an additional value to attribute \'%s\''; -$lang['refresh_entry'] = 'Frissítés'; //'Refresh'; -$lang['refresh_this_entry'] = 'Bejegyzés frissítése'; //'Refresh this entry'; -$lang['delete_hint'] = 'Tipp: Az attribútum törléséhez előbb törölje a mezőt, majd kattintson a változtatások mentésére.'; //'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tipp: Az attribútum sémájának megtekintéséhez kattintson az attribútum nevére.'; //'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Módosult néhány attribútum (%s), s ezek kiemelve szerepelnek az alábbiakban.'; //'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Módosult egy attribútum (%s), s ez kiemelve szerepel az alábbiakban. '; //'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'A bejegyzés megtekintése csak olvasható üzemmódban.'; //'Viewing entry in read-only mode.'; -$lang['no_new_attrs_available'] = 'a bejegyzéshez nem tartozik új attribútum'; //'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'a bejegyzéshez nem tartozik új bináris attribútum'; //'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Bináris érték'; //'Binary value'; -$lang['add_new_binary_attr'] = 'Új bináris attribútum hozzáadása'; //'Add new binary attribute'; -$lang['alias_for'] = 'Megj.: A(z) %s egy álneve (aliasa) a(z) %s attribútumnak'; //'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'érték letöltése'; //'download value'; -$lang['delete_attribute'] = 'attribútum törlése'; //'delete attribute'; -$lang['true'] = 'igaz'; //'true'; -$lang['false'] = 'hamis'; //'false'; -$lang['none_remove_value'] = 'nincs, érték törése'; //'none, remove value'; -$lang['really_delete_attribute'] = 'Attribútum tényleges törlése'; //'Really delete attribute'; -$lang['add_new_value'] = 'Új érték hozzáadása'; //'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'A következő objektumosztályokat (objectClass) támogatja ez a kiszolgáló.'; //'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'A következő attribútumtípusokat (attributeType) támogatja ez a kiszolgáló.'; //'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'A következő illesztőszabályokat (matching rule) támogatja ez a kiszolgáló.'; //'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'A következő szintaxisokat (syntax) támogatja ez a kiszolgáló.'; //'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']= 'A kiszolgáló nem beszéli elég jól az LDAP-protokollt'; //'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']= 'Ez a PHP-verzió nem tudja szabályosan végrehajtani a keresést.'; //'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']= 'Vagy végül is a phpLDAPadmin nem tudja hogyan kell a sémát letölteni erről a kiszolgálóról.'; //'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Ugrás az objektumosztályhoz'; //'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Ugrás az attribútumtípushoz'; //'Jump to an attribute type'; -$lang['jump_to_matching_rule'] = 'Ugrás az illesztőszabályhoz'; //'Jump to a matching rule'; -$lang['schema_for_server'] = 'Séma:'; //'Schema for server'; -$lang['required_attrs'] = 'Kötelező attribútumok'; //'Required Attributes'; -$lang['optional_attrs'] = 'Opcionális attribútumok'; //'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Opcionális bináris attribútumok'; //'Optional Binary Attributes'; -$lang['OID'] = 'OID'; //'OID'; -$lang['aliases']='Álnevek (alias)'; //'Aliases'; -$lang['desc'] = 'Leírás'; //'Description'; -$lang['no_description'] = 'nincs leírás'; //'no description'; -$lang['name'] = 'Név'; //'Name'; -$lang['equality']='Egyenlőség'; //'Equality'; -$lang['is_obsolete'] = 'Ez az objektumosztály maradi'; //'This objectClass is obsolete.'; -$lang['inherits'] = 'Kitől öröklődik'; //'Inherits from'; -$lang['inherited_from'] = 'Kitől örökölte:'; //'Inherited from'; -$lang['parent_to'] = 'Kinek a szülője'; //'Parent to'; -$lang['jump_to_this_oclass'] = 'Ugrás ehhez az objektumosztály-definícióhoz'; //'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Illesztőszabály-OID'; //'Matching Rule OID'; -$lang['syntax_oid'] = 'Szintaxis-OID'; //'Syntax OID'; -$lang['not_applicable'] = 'nem alkalmazható'; //'not applicable'; -$lang['not_specified'] = 'nincs megadva'; //'not specified'; -$lang['character'] = 'karakter'; //'character'; -$lang['characters'] = 'karakter'; //'characters'; -$lang['used_by_objectclasses'] = 'Mely osztályok használják'; //'Used by objectClasses'; -$lang['used_by_attributes'] = 'Mely attribútumok használják'; //'Used by Attributes'; -$lang['maximum_length'] = 'Maximális hossz'; //'Maximum Length'; -$lang['attributes'] = 'Attribútumtípusok';//'Attribute Types'; -$lang['syntaxes'] = 'Szintaxisok'; //'Syntaxes'; -$lang['matchingrules'] = 'Illesztőszabályok'; //'Matching Rules'; -$lang['oid'] = 'OID'; //'OID'; -$lang['obsolete'] = 'Maradi'; //'Obsolete'; -$lang['ordering'] = 'Sorbarendezés'; //'Ordering'; -$lang['substring_rule'] = 'Alfüzér-szabály'; //'Substring Rule'; -$lang['single_valued'] = 'Egyértékű'; //'Single Valued'; -$lang['collective'] = 'Kollektív'; //'Collective'; -$lang['user_modification'] = 'Felhasználó-módosítás'; //'User Modification'; -$lang['usage'] = 'Használat'; //'Usage'; -$lang['could_not_retrieve_schema_from'] = 'Nem tudom a sémát elérni,'; //'Could not retrieve schema from'; -$lang['type']='Típus'; //'Type'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'A(z) %s bejegyzés sikeresen törölve.'; //'Entry %s deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'A DN-t meg kell adni'; //'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Nem tudom a(z) %s bejegyzést törölni'; //'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Nincs ilyen bejegyzés: %s'; //'No such entry: %s'; -$lang['delete_dn'] = 'A(z) %s törlése'; //'Delete %s'; -$lang['permanently_delete_children'] = 'Az összes gyermeket is töröljem?'; //'Permanently delete all children also?'; -$lang['entry_is_root_sub_tree'] = 'Ez a bejegyzés egy %s bejegyzést tartalmazó részfa gyökere.'; //'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'bejegyzések megtekintése'; //'view entries'; -$lang['confirm_recursive_delete'] = 'Rekurzív módon törölhetem ezt a bejegyzést, és mind a(z) %s gyermekét. Lásd alul a bejegyzéseket, amelyeket törölnék. Óhajtja törölni?'; //'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Megj.: Ez a törlés veszélyes lehet. A műveletet nem lehet visszavonni!'; //'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Mind a(z) %s objektum törlése'; //'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'A rekurzív törlés folyamatban'; //'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'A(z) %s bejegyzés és a részfa sikeresen törölve.'; //'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'A(z) %s bejegyzés törlése sikertelen'; //'Failed to delete entry %s'; -$lang['list_of_entries_to_be_deleted'] = 'A törlendő bejegyzések listája:'; //'List of entries to be deleted:'; -$lang['sure_permanent_delete_object']='Biztos törölni óhajtja ezt az objektumot?'; //'Are you sure you want to permanently delete this object?'; -$lang['dn'] = 'DN'; //'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'A(z) %s attribútum csak olvasható a phpLDAPadmin konfigurációja szerint.'; //'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Nincs megadva az attribútumnév.'; //'No attribute name specified.'; -$lang['no_dn_specified'] = 'Nincs megadva a DN'; //'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Az attribútumértéket üresen hagyta. Kérem lépjen vissza és próbálja újra.'; //'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Nem tudtam az attribútumot hozzáadni.'; //'Failed to add the attribute.'; -$lang['file_empty'] = 'A kiválasztott állomány vagy üres, vagy nem létezik. Kérem lépjen vissza és próbálja újra.'; //'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Biztonsági hiba: a feltöltendő állomány veszélyes elemeket tartalmazhat.'; //'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'A PHP-konfiguráció tiltja az állományok feltöltését. Kérem ellenőrizze a php.ini állományt.'; //'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'A feltöltött állomány túl nagy. Kérem ellenőrizze a php.ini állományban a upload_max_size beállítást.'; //'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'A kiválasztott állomány csak részben töltődött föl valószínűleg hálózati hiba miatt.'; //'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Maximális állományméret: %s'; //'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'A módosítás sikerült!'; //'Modification successful!'; -$lang['change_password_new_login'] = 'Mivel megváltoztatta a jelszót most újra be kell jelentkeznie az új jelszóval.'; //'Since you changed your password, you must now login again with your new password.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Új kötelező attribútumok'; //'New Required Attributes'; -$lang['requires_to_add'] = 'Ez a művelet megközeveteli hogy hozzáadjon'; //'This action requires you to add'; -$lang['new_attributes'] = 'új attribútumo(ka)t'; //'new attributes'; -$lang['new_required_attrs_instructions'] = 'Az új objektumosztály hozzáadásához'; //'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'kell megadni ezen az űrlapon.'; //'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Objektumosztály és attribútumok hozzáadása'; //'Add ObjectClass and Attributes'; -$lang['objectclasses'] = 'Objektumosztályok'; //'ObjectClasses'; - -// General -$lang['chooser_link_tooltip'] = 'Kattintásra egy új ablak jön föl, amelyben egy bejegyzést választhat a DN alapján.'; //'Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Nem lehet módosítani mikor a kiszolgáló csak olvasható üzemmódban van'; //'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Hibás kiszolgáló-azonosító'; //'Bad server id'; -$lang['not_enough_login_info'] = 'Kevés az adat a belépéshez. Kérem ellenőrizze a konfigurációt.'; //'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Nem tudok csatlakozni az LDAP-kiszolgálóhoz.'; //'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'Nem tudok csatlakozni a(z) %s géphez a(z) %s porton.'; //'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nem tudom végrehajtani az ldap_mod_add műveletet.'; //'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Hibás kiszolgáló-azonosító: '; //'Bad server_id: '; -$lang['success'] = 'Siker'; //'Success'; -$lang['server_colon_pare'] = 'Kiszolgáló: '; //'Server: '; -$lang['look_in'] = 'Keresés itt: '; //'Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Nincs megadva a kiszolgáló-azonosító a keresési füzérben!'; //'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Nincs megadva a DN a keresési füzérben!'; //'No DN specified in query string!'; -$lang['back_up_p'] = 'Vissza...'; //'Back Up...'; -$lang['no_entries'] = 'nics bejegyzés'; //'no entries'; -$lang['not_logged_in'] = 'Nincs belépve'; //'Not logged in'; -$lang['could_not_det_base_dn'] = 'Nem tudom az alap-DN-t meghatározni'; //'Could not determine base DN'; -$lang['please_report_this_as_a_bug'] = 'Kérjük jelentse ezt a hibát.'; //'Please report this as a bug.'; -$lang['reasons_for_error'] = 'Ez több dolog miatt történhet, például:'; //'This could happen for several reasons, the most probable of which are:'; -$lang['yes'] = 'Igen'; //'Yes'; -$lang['no'] = 'Nem'; //'No'; -$lang['go'] = 'Mehet'; //'Go'; -$lang['delete'] = 'Törlés'; //'Delete'; -$lang['back'] = 'Vissza'; //'Back'; -$lang['object'] = 'objektum'; //'object'; -$lang['delete_all'] = 'Minden törlése'; //'Delete all'; -$lang['url_bug_report'] = 'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; //'https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'tipp'; //'hint'; -$lang['bug'] = 'hiba'; //'bug'; -$lang['warning'] = 'figyelmeztetés'; //'warning'; -$lang['light'] = 'lámpa'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Tovább >>'; //'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Új'; //'Add new'; -$lang['value_to'] = 'érték, RDN:'; //'value to'; -$lang['distinguished_name'] = 'Megkülönböztető név (DN)'; //'Distinguished Name'; -$lang['current_list_of'] = 'Az aktuális lista'; //'Current list of'; -$lang['values_for_attribute'] = 'értéket tartalmaz. Attribútum:'; //'values for attribute'; -$lang['inappropriate_matching_note'] = 'Megj.: Ha nincs beállítva EGYENLŐSÉG-szabály ehhez az attribútumhoz a kiszolgáló az ún. inappropriate matching hibát adja vissza.'; //'Note: You will get an "inappropriate matching" error if you have not setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Adja meg a kívánt értéket:'; //'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Megj.: Lehet hogy új kötelező attribútumokat kell bevinnie ehhez az objektumosztályhoz'; //'Note: you may be required to enter new attributes that this objectClass requires'; -$lang['syntax'] = 'Szintaxis'; //'Syntax'; - -//copy.php -$lang['copy_server_read_only'] = 'Nem lehet módosítást eszközölni amíg a kiszolgáló csak olvasható üzemmódban van'; //'You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Üresen hagyta a cél-DN mezejét'; //'You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'A célbejegyzés (%s) már létezik.'; //'The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'A cél-tároló (%s) nem létezik.'; //'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'A forrás- és cél-DN ugyanaz.'; //'The source and destination DN are the same.'; -$lang['copy_copying'] = 'Másolás: '; //'Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekurzív másolás folyamatban'; //'Recursive copy progress'; -$lang['copy_building_snapshot'] = 'A fáról készítek egy pillanatfelvételt a másoláshoz... '; //'Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'A másolás sikerült! Szeretné-e '; //'Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'megtekinteni az új bejegyzést'; //'view the new entry'; -$lang['copy_failed'] = 'A DN másolása nem sikerült: '; //'Failed to copy DN: '; - -//edit.php -$lang['missing_template_file'] = 'Figyelem: hiányzik a mintaállomány.'; //'Warning: missing template file, '; -$lang['using_default'] = 'Az alapértelmezés használata.'; //'Using default.'; -$lang['template'] = 'Minta'; //'Template'; -$lang['must_choose_template'] = 'Választania kell egy mintát.'; //'You must choose a template'; -$lang['invalid_template'] = 'A(z) %s hibás minta.'; //'%s is an invalid template'; -$lang['using_template'] = 'használt minta:'; //'using template'; -$lang['go_to_dn'] = 'Menj a(z) %s DN-hez'; //'Go to %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Másolás: '; //'Copy '; -$lang['copyf_to_new_object'] = '; az új objektum'; //'to a new object'; -$lang['copyf_dest_dn'] = 'Cél-DN'; //'Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'A másolással létrejövő új bejegyzés teljes DN-je'; //'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Célkiszolgáló'; //'Destination Server'; -$lang['copyf_note'] = 'Tipp: A kiszolgálók közötti másolás csak akkor működik, ha nincs séma-sértés'; //'Hint: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Az objektum összes gyermekeinek rekurzív másolása.'; //'Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Rekurzív másolás'; //'Recursive copy'; -$lang['filter'] = 'Szűrő'; //'Filter'; -$lang['filter_tooltip'] = 'Rekurzív másolásnál csak azokat másolja le, amelyekre illik ez a szűrő'; //'When performing a recursive copy, only copy those entries which match this filter'; - -//create.php -$lang['create_required_attribute'] = 'A(z) %s kötelező attribútum értékét üresen hagyta.'; //'You left the value blank for required attribute (%s).'; -$lang['redirecting'] = 'Átirányítás...'; //'Redirecting...'; -$lang['here'] = 'ide'; //'here'; -$lang['create_could_not_add'] = 'Nem tudom az objektumot létrehozni a kiszolgálón.'; //'Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Objektum létrehozása'; //'Create Object'; -$lang['createf_choose_temp'] = 'Válasszon mintát'; //'Choose a template'; -$lang['createf_select_temp'] = 'Válasszon mintát a létrehozási folyamathoz'; //'Select a template for the creation process'; -$lang['createf_proceed'] = 'Tovább'; //'Proceed'; -$lang['rdn_field_blank'] = 'Az RDN-mezőt üresen hagyta'; //'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'A(z) %s tároló nem létezik. Kérem próbálja újra.'; //'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Nem választott objektumosztályt ehhez az objektumhoz. Kérem lépjen vissza és válasszon egyet.'; //'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Tipp: Legalább egy strukturális objektumosztályt kell választania'; //'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Kiszolgáló:'; //'On server'; -$lang['ctemplate_no_template'] = 'Nincs megadva a minta a POST-változóban.'; //'No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'A konfiguráció egy kezelőt ad meg:'; //'Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'ehhez a mintához. De ez a kezelő nincs a mintakönyvtárban.'; //'for this template. But, this handler does not exist in the templates/creation directory.'; -$lang['create_step1'] = 'Első lépés: Név és objektumosztály(ok)'; //'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Második lépés: Adja meg az attribútumokat és értékeiket'; //'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Viszonylagos megkülönböztető név (RDN)'; //'Relative Distinguished Name'; -$lang['rdn'] = 'RDN'; //'RDN'; -$lang['rdn_example'] = '(példa: cn=ÚjEmber)'; //'(example: cn=MyNewPerson)'; -$lang['container'] = 'Tároló'; //'Container'; -$lang['alias_for'] = 'A(z) %s álneve a(z) %s attribútumnévnek'; //'Alias for %s'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nem lépett be a kiválasztott kiszolgálóba, s így nem tudok keresni.'; //'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Kattintson ide a belépési űrlap eléréséhez'; //'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Ismeretlen kritérium-opció: '; //'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Ha kritériumot kíván adni a listához szerkessze meg a search.php-t, hogy kezelje le azokat. Most kilépek.'; //'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'A megtalált bejegyzések: '; //'Entries found: '; -$lang['filter_performed'] = 'Használt szűrő: '; //'Filter performed: '; -$lang['search_duration'] = 'A phpLDAPadmin'; //'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 's alatt hajtotta végre a keresést'; //'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'A keresés hatásköre'; //'The scope in which to search'; -$lang['scope_sub'] = 'Az egész részfa'; //'Sub (entire subtree)'; -$lang['scope_one'] = 'Egy szint az alap-DN alatt'; //'One (one level beneath base)'; -$lang['scope_base'] = 'Csak az alap-DN'; //'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Szabványos LDAP-szűrő, pl. (&(sn=Kovács)(givenname=István))'; //'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Keresőszűrő'; //'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'A megjelenítendő találatok attribútumainak vesszővel elválasztott listája'; //'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'Attribútumok megjelenítése'; //'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Bejegyzések keresése, ahol:'; //'Search for entries whose:'; -$lang['equals'] = 'egyenlő'; //'equals'; -$lang['starts with'] = 'kezdet'; //'starts with'; -$lang['contains'] = 'tartalmaz'; //'contains'; -$lang['ends with'] = 'végződés'; //'ends with'; -$lang['sounds like'] = 'hangzás'; //'sounds like'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nem tudom az információt letölteni a kiszolgálóról'; //'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Kiszolgáló-infó: '; //'Server info for: '; -$lang['server_reports_following'] = 'A kiszolgáló ezeket az információkat közölte önmagáról'; //'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'A kiszolgálónak nincs mit elküldenie'; //'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'Az update_array hibés. Ez a phpLDAPadmin hibája lehet, kérem jelentse.'; //'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Nem tudom elvégezni az ldap_modify műveletet.'; //'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Érvényesíteni kívánja a változásokat?'; //'Do you want to make these changes?'; -$lang['attribute'] = 'Attribútumok'; //'Attribute'; -$lang['old_value'] = 'Régi érték'; //'Old Value'; -$lang['new_value'] = 'Új érték'; //'New Value'; -$lang['attr_deleted'] = '[attribútum törölve]'; //'[attribute deleted]'; -$lang['commit'] = 'Érvényesítés'; //'Commit'; -$lang['cancel'] = 'Mégsem'; //'Cancel'; -$lang['you_made_no_changes'] = 'Nem történt változtatás'; //'You made no changes'; -$lang['go_back'] = 'Vissza'; //'Go back'; - -// welcome.php -$lang['welcome_note'] = 'A bal oldali menüvel tájékozódhat a programban'; //'Use the menu to the left to navigate'; -$lang['credits'] = 'Köszönetnyilvánítás'; //'Credits'; -$lang['changelog'] = 'Változtatások naplója'; //'ChangeLog'; -$lang['donate'] = 'Adományozzon'; //'Donate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nem biztonságos állománynév: '; //'Unsafe file name: '; -$lang['no_such_file'] = 'Nincs ilyen állomány: '; //'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Az auto_uid_numbers engedélyezett a konfigurációban a(z) %s kiszolgálóhoz, de az auto_uid_number_mechanism nincs megadva. Kérem írja be ezt az értéket.'; -//'You have enabled auto_uid_numbers for %s in your configuration, -// but you have not specified the auto_uid_number_mechanism. Please correct -// this problem.'; -$lang['uidpool_not_set'] = 'A konfigurációban az auto_uid_number_mechanism értéke uidpool a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_uid_pool_dn értékét. Kérem írja be ezt az értéket.'; -//'You specified the "auto_uid_number_mechanism" as "uidpool" -// in your configuration for server %s, but you did not specify the -// audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'A konfigurációban megadott uidPool nem létezik (%s).'; -//'It appears that the uidPool you specified in your configuration ("%s") -// does not exist.'; -$lang['specified_uidpool'] = 'A konfigurációban az auto_uid_number_mechanism értéke search a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_search_base értékét. Kérem írja be ezt az értéket.'; -//'You specified the "auto_uid_number_mechanism" as "search" in your -// configuration for server %s, but you did not specify the -// "auto_uid_number_search_base". Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'A bind művelet sikertelen a(z) %s kiszolgálóhoz az auto_uid használatával. Kérem ellenőrizze a konfigurációt. '; //'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'A konfigurációban érvénytelen auto_uid_search_base van megadva a(z) %s kiszolgálóhoz.'; //'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'Érvénytelen értéket adott meg a auto_uid_number_mechanism-nak (%s). Csak uidpool és search a megengedett érték.'; -//'You specified an invalid value for auto_uid_number_mechanism ("%s") -// in your configration. Only "uidpool" and "search" are valid. -// Please correct this problem.'; -$lang['error_auth_type_config'] = 'Csak a session, cookie és config a megengedett értékek az auth_type-nak a konfigurációban. A megadott helytelen érték: %s.'; -//'Error: You have an error in your config file. The only three allowed values -// for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', -// which is not allowed. '; -$lang['php_install_not_supports_tls'] = 'Ez a PHP nem támogatja a TLS-t.'; //'Your PHP install does not support TLS.'; -$lang['could_not_start_tls'] = 'Nem tudom a TLS-t elindítani. Kérem ellenőrizze az LDAP-kiszolgálót és a konfigurációt.'; //'Could not start TLS. Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Az anonymous bind művelet nem sikerült.'; //'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'A bind művelet sikertelen az LDAP-kiszolgálóhoz.'; //'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Anonymous bind'; //'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Helytelen felhasználónév vagy jelszó. Kérem próbálja újra.'; //'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Átirányítás... kérem kattintson ide, ha semmi sem történik.'; //'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'A(z) %s kiszolgálóhoz sikeresen bejelentkezett.'; //'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Nem tudok sütit beállítani.'; //'Could not set cookie.'; -$lang['ldap_said'] = 'Az LDAP ezt mondta: %s'; //'LDAP said: %s'; -$lang['ferror_error'] = 'Hiba'; //'Error'; -$lang['fbrowse'] = 'böngészés'; //'browse'; -$lang['delete_photo'] = 'Fotó törlése'; //'Delete Photo'; -$lang['install_not_support_blowfish'] = 'Ez a PHP nem támogatja a blowfish titkosítást.'; //'Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Ez a PHP nem támogatja az md5crypt titkosítást.'; //'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Ez a PHP nem tartalmazza az mhash() függvényt. Nem tudok SHA hash-eket kezelni.'; //'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'A jpegPhoto hibás
    '; //'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Hibaszám: %s (%s)'; //'Error number: %s (%s)'; -$lang['ferror_discription'] = 'Leírás: %s

    '; //'Description: %s

    '; -$lang['ferror_number_short'] = 'Hibaszám: %s

    '; //'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Leírás: (nincs leírás)
    '; //'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Ez a phpLDAPadmin hibája? Ha igen, kérem jelentse.'; //'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Ismeretlen hibaszám: '; //'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Egy kisebb hibát talált a phpLDAPadmin-ban!
    Hiba:%s (%s)
    Állomány:%s. sor %s, hívó %s
    Verziók:PLA: %s, PHP: %s, SAPI: %s -
    Web-kiszolgáló:%s
    - Kérem jelentse a hibát, kattintson ide!.

    '; -//'
    -//
    -// You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -//
    Web server:%s
    -// Please report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'Gratulálunk! Hibát talált a phpLDAPadmin-ban.

    - - - - - - - - - - -
    Hiba:%s
    Szint:%s
    Állomány:%s
    Sor:%s
    Hívó:%s
    PLA Verzió:%s
    PHP Verzió:%s
    PHP SAPI:%s
    Web-kiszolgáló:%s
    -
    - Kérjük jelentse a hibát, kattintson alulra!'; -//'Congratulations! You found a bug in phpLDAPadmin.

    -// -// -// -// -// -// -// -// -// -// -//
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -//
    -// Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIF-állomány importálása'; //'Import LDIF File'; -$lang['select_ldif_file'] = 'LDIF-állomány kiválasztása'; //'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Tovább >>'; //'Proceed >>'; -$lang['dont_stop_on_errors'] = 'Ne állj meg hiba esetén'; //'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Hozzáadás...'; //'Adding...'; -$lang['delete_action'] = 'Törlés...'; //'Deleting...'; -$lang['rename_action'] = 'Átnevezés'; //'Renaming...'; -$lang['modify_action'] = 'Módosítás...'; //'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Nem találtam verziószámot, feltételeztem, hogy 1-es.'; //'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Érvényes DN-sor kell.'; //'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'A feltöltött állomány hiányzik.'; //'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Nem adott meg LDIF-állományt. Kérem próbálja újra.'; //'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'A feltöltött LDIF-állomány üres.'; //'Uploaded LDIF file is empty.'; -$lang['empty'] = 'üres'; //'empty'; -$lang['file'] = 'Állomány'; //'File'; -$lang['number_bytes'] = '%s byte'; //'%s bytes'; - -$lang['failed'] = 'Sikertelen'; //'Failed'; -$lang['ldif_parse_error'] = 'LDIF-pásztázási hiba'; //'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Nem tudom ezt az objektumot hozzáadni:'; //'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Nem tudom ezt az objektumot átnevezni:'; //'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Nem tudom ezt az objektumot törölni:'; //'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Nem tudom ezt az objektumot módosítani:'; //'Could not modify object:'; -$lang['ldif_line_number'] = 'Sorszám:'; //'Line Number:'; -$lang['ldif_line'] = 'Sor:'; //'Line:'; - -// Exports -$lang['export_format'] = 'Export-formátum'; //'Export format'; -$lang['line_ends'] = 'Sorvégek'; //'Line ends'; -$lang['must_choose_export_format'] = 'Az export formátumát ki kell választani.'; //'You must choose an export format.'; -$lang['invalid_export_format'] = 'Az export formátuma érvénytelen'; //'Invalid export format'; -$lang['no_exporter_found'] = 'Nincs használható exportáló.'; //'No available exporter found.'; -$lang['error_performing_search'] = 'Keresés közben hibába akadtam.'; //'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'A(z) %s és %s közé eső találatok megjelenítése.'; //'Showing results %s through %s.'; -$lang['searching'] = 'Folyik a keresés...'; //'Searching...'; -$lang['size_limit_exceeded'] = 'Figyelem: a keresési méret korlátja túllépve.'; //'Notice, search size limit exceeded.'; -$lang['entry'] = 'Bejegyzés'; //'Entry'; -$lang['ldif_export_for_dn'] = 'A(z) %s LDIF exportja'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'A phpLDAPadmin generálta, dátum: %s'; //'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Bejegyzések száma összesen'; //'Total Entries'; -$lang['dsml_export_for_dn'] = 'A(z) %s DSLM exportja'; //'DSLM Export for: %s'; - -// logins -$lang['could_not_find_user'] = 'Nem találtam meg a(z) %s felhasználót'; //'Could not find a user "%s"'; -$lang['password_blank'] = 'A jelszó üresen maradt.'; //'You left the password blank.'; -$lang['login_cancelled'] = 'A bejelentkezést megszakították.'; //'Login cancelled.'; -$lang['no_one_logged_in'] = 'Arra a kiszolgálóra nincs bejelentkezve senki.'; //'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Nem sikerült kilépni.'; //'Could not logout.'; -$lang['unknown_auth_type'] = 'Ismeretlen auth_type: %s'; //'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'A kilépés sikerült a(z) %s kiszolgálóból'; //'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Azonosítsa magát a(z) %s kiszolgálón'; //'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Figyelem: A kapcsolat a bögészővel titkosítatlan.'; //'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Nem https kapcsolatot használ. A böngésző a bejelentkezés adatait sima szöveg formátumban fogja továbbítani'; //'You are not using \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Bejelentkezési DN'; //'Login DN'; -$lang['user_name'] = 'A felhasználó neve'; //'User name'; -$lang['password'] = 'Jelszó'; //'Password'; -$lang['authenticate'] = 'Azonosítás'; //'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Bejegyzés kiválasztása'; //'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'Konfigurálnia kell a phpLDAPadmint a config.php állomány szerkesztésével, amihez mintául a config.php.example szolgálhat.'; //'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Csak olvasható üzemmódban a törlés nem működik.'; //'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Hiba a mass_delete.php hívásakor. A POST változók közül hiányzik a mass_delete.'; //'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'A mass_delete POST változó nem tömb.'; //'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'A tömeges törlés nincs engedélyezve. Mielőtt folytatná, állítsa át az enable_mass_delete értékét config.php állományban.'; //'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Tömeges törlés'; //'Mass Deleting'; -$lang['mass_delete_progress'] = 'A törlési művelet a(z) %s kiszolgálón'; //'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'A tömeges törléshez megadott tömb formátuma helytelen'; //'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Nem választotta ki a törlendő bejegyzés(eke)t. '; //'You did not select any entries to delete.'; -$lang['deleting_dn'] = '%s törölve'; //'Deleting %s'; -$lang['total_entries_failed'] = '%s darab bejegyzés törlése nem sikerült a(z) %s darabból.'; //'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Az összes bejegyzés törlése sikerült.'; //'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Hagyja jóvá a(z) %s bejegyzés tömeges törlését a(z) %s kiszolgálóról'; //'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Igen, törlődjön'; //'Yes, delete!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nem nevezhet át olyan bejegyzést aminek gyermekei vannak (azaz az átnevezés művelete csak levél-bejegyzéseken megengedett)'; //'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Nem változtatta meg az RDN-t'; //'You did not change the RDN'; -$lang['invalid_rdn'] = 'Érvénytelen RDN érték'; //'Invalid RDN value'; -$lang['could_not_rename'] = 'A bejegyzést nem sikerült átnevezni'; //'Could not rename the entry'; - -?> diff --git a/lang/recoded/it.php b/lang/recoded/it.php deleted file mode 100644 index 830638b..0000000 --- a/lang/recoded/it.php +++ /dev/null @@ -1,141 +0,0 @@ -Per cancellare un attributo, svuota il campo testo e clicca salva.'; -$lang['viewing_read_only'] = 'Stai guardando la voce in modalità sola-lettura.'; -$lang['change_entry_rdn'] = 'Cambia l\' RDN di questa voce'; -$lang['no_new_attrs_available'] = 'nessun nuovo attributo disponibile per questa voce'; -$lang['binary_value'] = 'Valore binario'; -$lang['add_new_binary_attr'] = 'Aggiungi un Nuovo Attributo Binario'; -$lang['add_new_binary_attr_tooltip'] = 'Aggiungi un nuovo attributo/valore binario da un file'; -$lang['alias_for'] = 'Alias per'; -$lang['download_value'] = 'valore del download'; -$lang['delete_attribute'] = 'cancella l\'attributo'; -$lang['true'] = 'vero'; -$lang['false'] = 'falso'; -$lang['none_remove_value'] = 'nessuno, rimuovi il valore'; -$lang['really_delete_attribute'] = 'Cancella definitivamente il valore'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Le seguenti objectClasses sono supportate da questo server LDAP'; -$lang['the_following_attributes'] = 'Le seguenti attributeTypes sono supportate da questo server LDAP'; -$lang['the_following_matching'] = 'Le seguenti matching rules sono supportate da questo server LDAP'; -$lang['the_following_syntaxes'] = 'Le seguenti syntaxes sono supportate da questo server LDAP'; -$lang['jump_to_objectclass'] = 'Vai a una objectClass'; -$lang['jump_to_attr'] = 'Vai a un attributo'; -$lang['schema_for_server'] = 'Schema per il server'; -$lang['required_attrs'] = 'Attributi Richiesti'; -$lang['optional_attrs'] = 'Attributi Opzionali'; -$lang['OID'] = 'OID'; -$lang['desc'] = 'Descrizione'; -$lang['is_obsolete'] = 'Questa objectClass è obsoleta'; -$lang['inherits'] = 'Eredita da'; -$lang['jump_to_this_oclass'] = 'Vai a questa definizione della objectClass'; -$lang['matching_rule_oid'] = 'Regola Corrispondente OID'; -$lang['syntax_oid'] = 'Sintassi OID'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nuovi Attributi Richiesti'; -$lang['requires_to_add'] = 'Questa azione richiede che tu aggiunga'; -$lang['new_attributes'] = 'nuovi attributi'; -$lang['new_required_attrs_instructions'] = 'Istruzioni: Per aggiungere questa objectClass a questa voce, devi specificare:'; -$lang['that_this_oclass_requires'] = 'che questa objectClass richiede. Puoi farlo in questo modulo.'; -$lang['add_oclass_and_attrs'] = 'Aggiungi ObjectClass e Attributi'; - -// General -$lang['chooser_link_tooltip'] = 'Clicca per aprire una finestra di dialogo per la selezione grafica di una voce (DN)'; -$lang['no_updates_in_read_only_mode'] = 'Non puoi operare aggiornamenti mentre il server è in modalità sola-lettura'; -$lang['bad_server_id'] = 'Server id errata'; -$lang['not_enough_login_info'] = 'Non abbastanza informazioni per collegarsi al server. Per piacere controlla la tua configurazione.'; -$lang['could_not_connect'] = 'Non ho potuto collegarmi al server LDAP.'; -$lang['could_not_perform_ldap_mod_add'] = 'Non ho potuto eseguire l\'operazione ldap_mod_add.'; - -// Add value form -$lang['add_new'] = 'Aggiungi nuovo'; -$lang['value_to'] = 'valore a'; -$lang['server'] = 'Server'; -$lang['distinguished_name'] = 'Distinguished Name'; -$lang['current_list_of'] = 'Lista corrente di'; -$lang['values_for_attribute'] = 'valori per l\'attributo'; -$lang['inappropriate_matching_note'] = 'Nota: Tu riceverai un errore "corrispondenza inappropiata" se non hai
    una regola EQUALITY per questo attributo sul tuo server LDAP.'; -$lang['enter_value_to_add'] = 'Inserisci il valore che vorresti aggiungere:'; -$lang['new_required_attrs_note'] = 'Nota: ti potrebbe essere chiesto di inserire nuovi attributi
    che questa objectClass richiede.'; -$lang['syntax'] = 'Sintassi'; - -?> diff --git a/lang/recoded/ja.php b/lang/recoded/ja.php deleted file mode 100644 index 762ebc0..0000000 --- a/lang/recoded/ja.php +++ /dev/null @@ -1,694 +0,0 @@ -不都合によるかもしれません。あるいは、あなたの LDAP サーバーは、LDAP クライアントが RootDSE にアクセスするのを防ぐアクセス制御指定をしています。'; -$lang['server_info_for'] = 'サーバー情報: '; -$lang['server_reports_following'] = 'サーバーは自分自身で次の情報を報告しました。'; -$lang['nothing_to_report'] = 'このサーバーはなにも報告するものはありません。'; - -//update.php -$lang['update_array_malformed'] = 'update_array がおかしいです。これは phpLDAPadmin のバグかもしれませんので、報告してください。'; -$lang['could_not_perform_ldap_modify'] = 'ldap_modify 操作が実行できませんでした。'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = '変更をしたいですか?'; -$lang['attribute'] = '属性'; -$lang['old_value'] = '古い値'; -$lang['new_value'] = '新しい値'; -$lang['attr_deleted'] = '[属性を削除しました]'; -$lang['commit'] = 'コミット'; -$lang['cancel'] = '取り消し'; -$lang['you_made_no_changes'] = '変更はありません'; -$lang['go_back'] = '戻る'; -$lang['unable_create_samba_pass'] = 'samba パスワードを作成できませんでした。template_conf.php の設定を確認してください。'; - -// welcome.php -$lang['welcome_note'] = '左へのメニューを使用して操作します'; -$lang['credits'] = 'クレジット'; -$lang['changelog'] = '変更履歴'; -$lang['documentation'] = 'ドキュメント'; -$lang['donate'] = '寄附'; -$lang['pla_logo'] = 'phpLDAPadmin ロゴ'; - -// Donate.php -$lang['donation_instructions'] = 'phpLDAPadmin プロジェクトに資金を寄贈するためには、PayPal ボタンのうちの 1 つを下に使用してください。'; -$lang['donate_amount'] = '%s を寄贈'; - -$lang['purge_cache'] = 'キャッシュ破棄'; -$lang['no_cache_to_purge'] = '破棄するキャッシュはありませんでした。'; -$lang['done_purging_caches'] = '%s バイトのキャッシュを破棄しました。'; -$lang['purge_cache_tooltip'] = 'サーバースキーマを含む、phpLDAPadmin のすべてのキャッシュを破棄しました。'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = '安全でないファイル名: '; -$lang['no_such_file'] = 'ファイルがありません: '; - -//function.php -$lang['auto_update_not_setup'] = '設定ファイルの %sYou の auto_uid_numbers が有効ですが、 - auto_uid_number_mechanism が指定されていません。 - この問題を修正してください。.'; -$lang['uidpool_not_set'] = 'サーバー %s の設定で、"auto_uid_number_mechanism" を "uidpool" に指定していますが、 - audo_uid_number_uid_pool_dn を指定していません。 - 続行する前にそれを指定してください'; -$lang['uidpool_not_exist'] = 'It appears that the uidPool you specified in your configuration ("%s") - does not exist.'; -$lang['specified_uidpool'] = 'サーバー %s の設定で「search」に「auto_uid_number_mechanism」を指定しました。 - しかし「auto_uid_number_search_base」が指定されていません。 - これを実行前に指定してください。'; -$lang['auto_uid_invalid_credential'] = 'Unable to bind to %s with your with auto_uid credentials. 設定ファイルを確認してください。'; -$lang['bad_auto_uid_search_base'] = 'phpLDAPadmin の設定で、サーバー %s に無効な auto_uid_search_base が指定されました'; -$lang['auto_uid_invalid_value'] = '設定ファイルの auto_uid_number_mechanism の指定が間違った値("%s")です。 - "uidpool" と "search" のみ有効です。 - この問題を修正してください。'; -$lang['error_auth_type_config'] = 'エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type は - 「session」「cookie」「config」のみっつの値のみ許可されていますが、 - 許可されない「%s」が入力されました。'; -$lang['unique_attrs_invalid_credential'] = 'Unable to bind to %s with your with unique_attrs credentials. 設定ファイルを確認してください。'; -$lang['unique_attr_failed'] = '%s (%s) の %s への追加の試みは許可されていません
    その属性/値は別のエントリが所有しています。

    そのエントリを検索などするしょう。'; -$lang['php_install_not_supports_tls'] = 'インストールされている PHP は TLS をサポートしていません。'; -$lang['could_not_start_tls'] = 'TLS を開始できません。LDAP サーバーの設定を確認してください。'; -$lang['could_not_bind_anon'] = 'サーバーに匿名接続できませんでした。'; -$lang['could_not_bind'] = 'LDAP サーバーに接続できませんでした。'; -$lang['anonymous_bind'] = '匿名接続'; -$lang['bad_user_name_or_password'] = 'ユーザー名かパスワードがおかしいです。もう一度行ってください。'; -$lang['redirecting_click_if_nothing_happens'] = 'リダイレクト中... もし何も起こらなかったらここをクリックしてください。'; -$lang['successfully_logged_in_to_server'] = 'サーバー %s へのログインに成功しました'; -$lang['could_not_set_cookie'] = 'cookie を設定できませんでした。'; -$lang['ldap_said'] = 'LDAP の回答: %s'; -$lang['ferror_error'] = 'エラー'; -$lang['fbrowse'] = '閲覧'; -$lang['delete_photo'] = '写真削除'; -$lang['install_not_support_blowfish'] = 'インストールされた PHP は blowfish 暗号化をサポートしていません。'; -$lang['install_not_support_md5crypt'] = 'インストールされた PHP は md5crypt 暗号化をサポートしていません。'; -$lang['install_no_mash'] = 'インストールされた PHP は mhash() をサポートしていません。SHA ハッシュをすることができません。'; -$lang['jpeg_contains_errors'] = 'エラーを含む jpeg 写真
    '; -$lang['ferror_number'] = 'エラー番号: %s (%s)'; -$lang['ferror_discription'] = '説明: %s

    '; -$lang['ferror_number_short'] = 'エラー番号: %s

    '; -$lang['ferror_discription_short'] = '説明: (利用可能な説明がありませんでした)
    '; -$lang['ferror_submit_bug'] = 'これは phpLDAPadmin の不都合ですか? もしそうなら 報告 してください。'; -$lang['ferror_unrecognized_num'] = '未承認のエラー番号: '; -$lang['ferror_nonfatil_bug'] = '

    - - -
    - 致命的でない phpLDAPadmin の不都合を発見しました!
    エラー:%s (%s)
    ファイル:%s%s, caller %s
    バージョン:PLA: %s, PHP: %s, SAPI: %s -
    ウェブサーバー:%s
    -
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug'] = 'おめでとうございます! phpLDAPadmin で不都合を発見しました。

    - - - - - - - - - - -
    エラー:%s
    レベル:%s
    ファイル:%s
    行:%s
    Caller:%s
    PLA バージョン:%s
    PHP バージョン:%s
    PHP SAPI:%s
    Web サーバー:%s
    -
    - 下記をクリックしてこの不都合を報告してください!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIF ファイルインポート'; -$lang['select_ldif_file'] = 'LDIF ファイルを選択:'; -$lang['dont_stop_on_errors'] = 'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = '追加中...'; -$lang['delete_action'] = '削除中...'; -$lang['rename_action'] = '名称変更中...'; -$lang['modify_action'] = '修正中...'; -$lang['warning_no_ldif_version_found'] = 'バージョンが見つかりません。1 と仮定します。'; -$lang['valid_dn_line_required'] = '有効な dn 行が必要です。'; -$lang['missing_uploaded_file'] = 'アップロードファイルが見当たりません。'; -$lang['no_ldif_file_specified'] = 'LDIF ファイルが指定されていません。もう一度行ってください。'; -$lang['ldif_file_empty'] = 'アップロードされた LDIF ファイルが空です。'; -$lang['empty'] = '空'; -$lang['file'] = 'ファイル'; -$lang['number_bytes'] = '%s バイト'; - -$lang['failed'] = '失敗しました'; -$lang['ldif_parse_error'] = 'LDIF 解析エラー'; -$lang['ldif_could_not_add_object'] = 'オブジェクトを追加できませんでした:'; -$lang['ldif_could_not_rename_object'] = 'オブジェクトを名称変更できませんでした:'; -$lang['ldif_could_not_delete_object'] = 'オブジェクトを削除できませんでした:'; -$lang['ldif_could_not_modify_object'] = 'オブジェクトを修正できませんでした:'; -$lang['ldif_line_number'] = '行番号:'; -$lang['ldif_line'] = '行:'; - -// Exports -$lang['export_format'] = 'エクスポート書式'; -$lang['line_ends'] = 'Line ends'; -$lang['must_choose_export_format'] = 'エクスポート書式を選ばなければなりません。'; -$lang['invalid_export_format'] = '無効なエクスポート書式'; -$lang['no_exporter_found'] = 'No available exporter found.'; -$lang['error_performing_search'] = '検索実行中にエラーに遭遇しました。'; -$lang['showing_results_x_through_y'] = 'Showing results %s through %s.'; -$lang['searching'] = '検索中...'; -$lang['size_limit_exceeded'] = '通知です。検索サイズが制限を越えました。'; -$lang['entry'] = 'エントリ'; -$lang['ldif_export_for_dn'] = 'LDIF エクスポート: %s'; -$lang['generated_on_date'] = '%s に phpLDAPadmin ( http://www.phpldapadmin.com/ ) で生成しました。'; -$lang['total_entries'] = '総エントリ'; -$lang['dsml_export_for_dn'] = 'DSLM エクスポート: %s'; -$lang['include_system_attrs'] = 'システム属性を含む'; -$lang['csv_spreadsheet'] = 'CSV (スプレッドシート)'; - -// logins -$lang['password_blank'] = 'パスワードが空です。'; -$lang['no_one_logged_in'] = '誰もそのサーバーにログインしていません。'; -$lang['could_not_logout'] = 'ログアウトできませんでした。'; -$lang['unknown_auth_type'] = '未知の auth_type: %s'; -$lang['logged_out_successfully'] = 'サーバー %s からログアウトに成功しました'; -$lang['authenticate_to_server'] = 'サーバー %s へ認証'; -$lang['warning_this_web_connection_is_unencrypted'] = '警告: このウェブ接続は暗号化されていません。'; -$lang['not_using_https'] = 'あなたは \'https\' を使っていません。ログイン情報はブラウザからクリアテキストで送信されます、'; -$lang['login_dn'] = 'ログイン DN'; -$lang['user_name'] = 'ユーザー名'; -$lang['password'] = 'パスワード'; -$lang['authenticate'] = 'Authenticate'; -$lang['login_not_allowed'] = 'すみません、この LDAP サーバーと phpLDAPadmin を使用することを許可していません。'; - -// Entry browser -$lang['entry_chooser_title'] = 'エントリ選択'; - -// Index page -$lang['need_to_configure'] = 'phpLDAPadmin の設定を必要があります。ファイル \'config.php\' の変更をしてください。サンプル設定ファイルとして \'config.php.example\' を提供しています。'; - -// Mass deletes -$lang['no_deletes_in_read_only'] = '読み込み専用モードでは削除は許可されていません。'; -$lang['error_calling_mass_delete'] = 'mass_delete.php 呼び出し中のエラーです。POST 値から mass_delete が見かりません。'; -$lang['mass_delete_not_array'] = 'mass_delete POST 辺りが配列ではありません。'; -$lang['mass_delete_not_enabled'] = '一括削除が有効ではありません。次に進む前に config.php でそれを有効にしてください。'; -$lang['mass_deleting'] = '一括削除中'; -$lang['mass_delete_progress'] = 'サーバー "%s" から削除中'; -$lang['malformed_mass_delete_array'] = 'おかしい mass_delete 配列です。'; -$lang['no_entries_to_delete'] = '削除するエントリが選択されていません。'; -$lang['deleting_dn'] = '%s 削除中'; -$lang['total_entries_failed'] = '%s 個のエントリが %s 個のエントリ中で削除できませんでした。'; -$lang['all_entries_successful'] = 'すべてのエントリの削除に成功しました。'; -$lang['confirm_mass_delete'] = '%s エントリをサーバー %s から一括削除の確認'; -$lang['yes_delete'] = 'はい, 削除します!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = '子エントリを持つエントリは名称変更できません (例えば名称変更の操作は子エントリでなければ許可されていない)'; -$lang['no_rdn_change'] = 'RDN を変更しませんでした'; -$lang['invalid_rdn'] = '無効な RDN 値'; -$lang['could_not_rename'] = 'エントリの名称変更ができませんでした'; - -// Password checker -$lang['passwords_match'] = 'パスワードが一致しました!'; -$lang['passwords_do_not_match'] = 'パスワードが一致しません!'; -$lang['password_checker_tool'] = 'パスワードチェックツール'; -$lang['to'] = 'To'; - -// Templates -$lang['using'] = '次を使用:'; -$lang['switch_to'] = 'You may switch to the '; -$lang['default_template'] = 'デフォルトテンプレート'; - -// template_config -$lang['user_account'] = 'ユーザーアカウント (posixAccount)'; -$lang['address_book_inet'] = 'アドレス帳エントリ (inetOrgPerson)'; -$lang['address_book_moz'] = 'アドレス帳エントリ (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Kolab ユーザーエントリ'; -$lang['organizational_unit'] = '所属組織'; -$lang['new_organizational_unit'] = '新規所属組織'; -$lang['organizational_role'] = '所属職務'; -$lang['posix_group'] = 'Posix グループ'; -$lang['samba_machine'] = 'Samba NT マシン'; -$lang['samba3_machine'] = 'Samba 3 NT マシン'; -$lang['samba_user'] = 'Samba ユーザー'; -$lang['samba3_user'] = 'Samba 3 ユーザー'; -$lang['samba3_group'] = 'Samba 3 グループマップ'; -$lang['dns_entry'] = 'DNS エントリ'; -$lang['simple_sec_object'] = '簡易セキュリティオブジェクト'; -$lang['courier_mail_account'] = 'Courier メールアカウント'; -$lang['courier_mail_alias'] = 'Courier メール別名'; -$lang['ldap_alias'] = 'LDAP 別名'; -$lang['sendmail_cluster'] = 'Sendmail クラスター'; -$lang['sendmail_domain'] = 'Sendmail ドメイン'; -$lang['sendmail_alias'] = 'Sendmail エイリアス'; -$lang['sendmail_virt_dom'] = 'Sendmail 仮想ドメイン'; -$lang['sendmail_virt_users'] = 'Sendmail 仮想ユーザー'; -$lang['sendmail_relays'] = 'Sendmail リレー'; -$lang['custom'] = 'カスタム'; -$lang['samba_domain_name'] = '自分の Samba ドメイン名'; -$lang['administrators'] = 'Administrators'; -$lang['users'] = 'Users'; -$lang['guests'] = 'Guests'; -$lang['power_users'] = 'Power Users'; -$lang['account_ops'] = 'Account Operators'; -$lang['server_ops'] = 'Server Operators'; -$lang['print_ops'] = 'Print Operators'; -$lang['backup_ops'] = 'backup Operators'; -$lang['replicator'] = 'Replicator'; -$lang['unable_smb_passwords'] = ' Samba のパスワードを作成できませんでした。template_config.php の設定を確認してください。'; -$lang['err_smb_conf'] = 'エラー: samba の設定にエラーがあります。'; -$lang['err_smb_no_name_sid'] = 'エラー: samba ドメインの名前および sid を提供する必要があります。'; -$lang['err_smb_no_name'] = 'エラー: 名前は samba ドメインに提供されませんでした。'; -$lang['err_smb_no_sid'] = 'エラー: sid は samba ドメインに提供されませんでした。'; - -// Samba Account Template -$lang['samba_account'] = 'Samba アカウント'; -$lang['samba_account_lcase'] = 'samba アカウント'; - -// New User (Posix) Account -$lang['t_new_user_account'] = '新規ユーザーアカウント'; -$lang['t_hint_customize'] = 'ヒント: このテンプレートをカスタマイズする場合、ファイル templates/creation/new_user_template.php を編集します。'; -$lang['t_name'] = '名前'; -$lang['t_first_name'] = '名前'; -$lang['t_last_name'] = '苗字'; -$lang['t_first'] = 'first'; -$lang['t_last'] = 'last'; -$lang['t_state'] = 'State'; -$lang['t_common_name'] = '共通名'; -$lang['t_user_name'] = 'ユーザー名'; -$lang['t_password'] = 'パスワード'; -$lang['t_encryption'] = '暗号化'; -$lang['t_login_shell'] = 'ログインシェル'; -$lang['t_home_dir'] = 'ホームディレクトリ'; -$lang['t_uid_number'] = 'UID 番号'; -$lang['t_auto_det'] = '(自動採決)'; -$lang['t_group'] = 'グループ'; -$lang['t_gid_number'] = 'GID 番号'; -$lang['t_uid'] = 'ユーザー ID'; -$lang['t_err_passwords'] = 'パスワードが一致しません。戻ってからもう一度試してください。'; -$lang['t_err_field_blank'] = '%s ブランクを残すことはできません。戻ってからもう一度試してください。'; -$lang['t_err_field_num'] = 'フィールド %s は数値のみ入力でできます。戻ってからもう一度試してください。'; -$lang['t_err_bad_container'] = '指定した内容(%s)は存在しません。戻ってからもう一度試してください。'; -$lang['t_confirm_account_creation'] = 'アカウント作成確認'; -$lang['t_secret'] = '[secret]'; -$lang['t_create_account'] = 'アカウント作成'; -$lang['t_verify'] = '確認'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = '新規 Posix グループ'; - -// New Address Template -$lang['t_new_address'] = '新規アドレス帳エントリ'; -$lang['t_organization'] = '組織'; -$lang['t_address'] = '住所'; -$lang['t_city'] = '都市'; -$lang['t_postal_code'] = '郵便番号'; -$lang['t_street'] = '築町村'; -$lang['t_work_phone'] = '業務電話'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = '携帯電話'; -$lang['t_email'] = '電子メール'; -$lang['t_container'] = 'コンテナー'; -$lang['t_err_cn_blank'] = '一般名を空にすることはできません。戻ってからもう一度試してください。'; -$lang['t_confim_creation'] = 'エントリ作成の確認:'; -$lang['t_create_address'] = 'アドレス作成'; - -// default template -$lang['t_check_pass'] = 'パスワード検査...'; -$lang['t_auto_submit'] = '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = '比較'; -$lang['comparing'] = '次の DN と比較中'; -$lang['compare_dn'] = '次の DN と別の DN を比較する:'; -$lang['with'] = 'with '; -$lang['compf_source_dn'] = '元の DN'; -$lang['compf_dn_tooltip'] = 'この DN と別のものを比較'; -$lang['switch_entry'] = 'エントリの切り替え'; -$lang['no_value'] = '値がありません'; -$lang['compare_with'] = '別のエントリと比較'; -$lang['need_oclass'] = 'この属性 %s を追加するには次の ObjectClass のうちひとつを必要とします。'; - -// Time out page -$lang['session_timed_out_1'] = 'セッションは'; -$lang['session_timed_out_2'] = '分活動しなかったのでタイムアウトです。自動でログアウトしました。'; -$lang['log_back_in'] = '再ログインするには次のリンクをクリックしてください:'; -$lang['session_timed_out_tree'] = '(セッションはタイムアウトです。自動でログアウトしました)'; -$lang['timeout_at'] = '%s は活動的でなかったのでログアウト'; -?> \ No newline at end of file diff --git a/lang/recoded/nl.php b/lang/recoded/nl.php deleted file mode 100644 index a116c5c..0000000 --- a/lang/recoded/nl.php +++ /dev/null @@ -1,337 +0,0 @@ - - * Commentaar gaarne naar bovenstaand adres sturen a.u.b. - */ - -// Search form -$lang['simple_search_form_str'] = 'eenvoudig zoeken';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'uitgebreid zoeken';//'Advanced Search Form'; -$lang['server'] = 'server';//'Server'; -$lang['search_for_entries_whose'] = 'zoek naar velden die';//'Search for entries whose'; -$lang['base_dn'] = 'base DN';//'Base DN'; -$lang['search_scope'] = 'zoekbereik';//'Search Scope'; -$lang['search_ filter'] = 'zoekfilter';//'Search Filter'; -$lang['show_attributes'] = 'laat Attributen zien';//'Show Attributtes'; -$lang['Search'] = 'zoeken';//'Search'; -$lang['equals'] = 'gelijk aan';//'equals'; -$lang['starts_with'] = 'begint met';//'starts with'; -$lang['contains'] = 'bevat';//'contains'; -$lang['ends_with'] = 'eindigt met';//'ends with'; -$lang['sounds_like'] = 'klinkt als';//'sounds like'; - -// Tree browser -$lang['request_new_feature'] = 'verzoek nieuwe feature';//'Request a new feature'; -$lang['see_open_requests'] = 'feature verzoeken inzien';//'see open requests'; -$lang['report_bug'] = 'rapporteer een bug';//'Report a bug'; -$lang['see_open_bugs'] = 'buglijst inzien';//'see open bugs'; -$lang['schema'] = 'schema';//'schema'; -$lang['search'] = 'zoeken';//'search'; -$lang['refresh'] = 'vernieuwen';//'refresh'; -$lang['create'] = 'aanmaken';//'create'; -$lang['info'] = 'info';//'info'; -$lang['import'] = 'importeer';//'import'; -$lang['logout'] = 'uitloggen';//'logout'; -$lang['create_new'] = 'aanmaken';//'Create New'; -$lang['view_schema_for'] = 'schema inzien voor';//'View schema for'; -$lang['refresh_expanded_containers'] = 'vernieuw alle uitgeklapte containers voor';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'nieuw veld aanmaken in';//'Create a new entry on'; -$lang['view_server_info'] = 'server informatie inzien';//'View server-supplied information'; -$lang['import_from_ldif'] = 'importeer LDIF bestand';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'bij deze server uitloggen';//'Logout of this server'; -$lang['logged_in_as'] = 'ingelogd als: ';//'Logged in as: '; -$lang['read_only'] = 'alleen lezen';//'read only'; -$lang['could_not_determine_root'] = 'kan de root van LDAP structuur niet bepalen.';//'Could not determin the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'kan de root van LDAP structuur niet bepalen';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'in config.php aangeven a.u.b.';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'nieuw veld aanmaken in';//'Create a new entry in'; - -// Entry display -$lang['delete_this_entry'] = 'veld verwijderen';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'bevestiging zal worden gevraagd voor deze beslissing';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'dit veld kopieren';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'kopieer dit object naar een andere plaats, een niuewe DN of naar een andere server';//'Copy this object to another location, a new DN, or another server'; -$lang['export_to_ldif'] = 'exporteren naar LDIF';//'Export to LDIF'; -$lang['export_to_ldif_tooltip'] = 'maak LDIF dump van dit object';//'Save an LDIF dump of this object'; -$lang['export_subtree_to_ldif_tooltip'] = 'maak LDIF dump van dit object plus alle onderliggende objecten';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree_to_ldif'] = 'exporteer deze subvelden naar LDIF';//'Export subtree to LDIF'; -$lang['export_mac'] = 'Macintosh regeleinden';//'Macintosh style line ends'; -$lang['export_win'] = 'Windows regeleinden';//'Windows style line ends'; -$lang['export_unix'] = 'Unix regeleinden';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'subveld aanmaken';//'Create a child entry'; -$lang['add_a_jpeg_photo'] = 'jpeg foto toevoegen';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'veld hernoemen';//'Rename Entry'; -$lang['rename'] = 'hernoemen';//'Rename'; -$lang['add'] = 'toevoegen';//'Add'; -$lang['view'] = 'inzien';//'View'; -$lang['add_new_attribute'] = 'attribuut toevoegen';//'Add New Attribute'; -$lang['add_new_attribute_tooltip'] = 'nieuw attribuut toevoegen/waarde toekennen';// 'Add a new attribute/value to this entry'; -$lang['internal_attributes'] = 'interne attributen';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'interne attributen verbergen';//'Hide internal attributes'; -$lang['show_internal_attrs'] = 'interne attributen laten zien';//'Show internal attributes'; -$lang['internal_attrs_tooltip'] = 'automatisch ingestelde attributen';//'Attributes set automatically by the system'; -$lang['entry_attributes'] = 'attributen veld';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'klik hier om de schemadefinitie van attribuuttype \'%s\' te bekijken';//'Click to view the schema defintion for attribute type \'%s\''; -$lang['click_to_display'] = 'klik om te bekijken';//'click to display'; -$lang['hidden'] = 'verborgen';//'hidden'; -$lang['none'] = 'geen';//'none'; -$lang['save_changes'] = 'veranderingen opslaan';//'Save Changes'; -$lang['add_value'] = 'waarde toevoegen';//'add value'; -$lang['add_value_tooltip'] = 'voeg een extra waarde toe aan dit attribuut';//'Add an additional value to this attribute'; -$lang['refresh_entry'] = 'vernieuwen';// 'Refresh'; -$lang['refresh_this_entry'] = 'dit veld vernieuwen';//'Refresh this entry'; -$lang['delete_hint'] = 'tip: om een attribuut te verwijderen, maak deze leeg en sla hem op';//'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tip: om het schema voor een attribuut te bekijken, klik op de attribuutnaam';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'sommige attributen (%s) zijn gewijzigd en worden ge-highlight weergegeven.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'een attribuut (%s) is gewijzigd en wordt ge-highlight weergegeven';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'veld bekijken (alleen-lezen)';//'Viewing entry in read-only mode.'; -$lang['change_entry_rdn'] = 'verander de RDN van dit veld';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'geen nieuwe attributen beschikbaar voor dit veld';//'no new attributes available for this entry'; -$lang['binary_value'] = 'binaire waarde';//'Binary value'; -$lang['add_new_binary_attr'] = 'nieuwe binair attribuut toevoegen';//'Add New Binary Attribute'; -$lang['add_new_binary_attr_tooltip'] = 'lees binair attribuut in vanuit een bestand';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'alias voor';//'Alias for'; -$lang['download_value'] = 'waarde downloaden';//'download value'; -$lang['delete_attribute'] = 'attribuut verwijderen';//'delete attribute'; -$lang['true'] = 'waar';//'true'; -$lang['false'] = 'onwaar';//'false'; -$lang['none_remove_value'] = 'niets, verwijder waarde';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'dit attribuut echt verwijderen';//'Really delete attribute'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Deze LDAP server ondersteunt de volgende objectClasses.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Deze LDAP server ondersteunt de volgende attributeTypes.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Deze LDAP server ondersteunt de volgende zoekregels.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Deze LDAP server ondersteunt de volgende syntaxen.';//'The following syntaxes are supported by this LDAP server.'; -$lang['jump_to_objectclass'] = 'ga naar objectClass';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'ga naar een attribuut';//'Jump to an attribute'; -$lang['schema_for_server'] = 'schema voor server';//'Schema for server'; -$lang['required_attrs'] = 'vereiste attributen';//'Required Attributes'; -$lang['optional_attrs'] = 'niet vereiste attributen';//'Optional Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['desc'] = 'omschrijving';//'Description'; -$lang['name'] = 'naam';//'Name'; -$lang['is_obsolete'] = 'deze objectClass is verouderd';//'This objectClass is obsolete'; -$lang['inherits'] = 'afgeleid van';//'Inherits'; -$lang['jump_to_this_oclass'] = 'ga naar objectClass definitie';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'overeenkomen met OID regel';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax OID';//'Syntax OID'; -$lang['not_applicable'] = 'niet van toepassing';//'not applicable'; -$lang['not_specified'] = 'niet gespecificeerd';//not specified'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'dit veld \'%s\' succesvol verwijderd';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'U moet een DN aangeven.';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'kan dit veld niet verwijderen: %s';//'Could not delete the entry: %s'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'nieuwe benodigde attributen';//'New Required Attributes'; -$lang['requires_to_add'] = 'voor deze actie moet worden toegevoegd:';//'This action requires you to add'; -$lang['new_attributes'] = 'nieuw attribuut';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instructies: om deze objectClass toe te voegen, moet u nog specificeren ';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'dat deze objectClass nodig heeft. U kunt dit in dit formulier doen.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'objectClass en attributen toevoegen';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'klik om grafisch een veld te kiezen (DN)';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'U kunt niet opslaan als de server alleen lezen is';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'ongeldig server ID';//'Bad server id'; -$lang['not_enough_login_info'] = 'Onvoldoende informatie om in te kunnen loggen. Controleer de configuratie.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Kan LDAP server niet vinden.';//'Could not connect to LDAP server.'; -$lang['could_not_perform_ldap_mod_add'] = 'Kan geen ldap_mod_add uitvoeren.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'ongeldig server_ID:';//"Bad server_id: '; -$lang['success'] = 'succes';//"Success'; -$lang['server_colon_pare'] = 'server: ';//"Server: '; -$lang['look_in'] = 'bekijken: ';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'geen server ID meegegeven';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'geen DN meegeven';//'No DN specified in query string!'; -$lang['back_up_p'] = 'backup...';//"Back Up...'; -$lang['no_entries'] = 'geen velden';//"no entries'; -$lang['not_logged_in'] = 'niet ingelogd';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'kan de basis-DN niet bepalen';//"Could not determine base DN'; - - -// Add value form -$lang['add_new'] = 'nieuw toevoegen';//'Add new'; -$lang['value_to'] = 'waarde';//'value to'; -$lang['server'] = 'server';//'Server'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Distinguished Name';// 'Distinguished Name'; -$lang['current_list_of'] = 'huidige lijst van';//'Current list of'; -$lang['values_for_attribute'] = 'waarden voor attributen';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Info: U zult een "inappropriate matching" melding krijgen, indien u niet
    ' . //'Note: You will get an "inappropriate matching" error if you have not
    ' . -'een EQUALITY regel op de LDAP Server voor dit attribuut ingesteld heeft.';//'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'geef de waarde die u wilt toevoegen:';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Info: U kunt verzocht worden nieuwe attributen, die voor deze objectClass verplicht zijn, in te voeren.';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'syntax';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'U kunt niet opslaan als de server alleen lezen is';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'de bestemmings DN is leeg';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'het veld (%s) bestaat al.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'het doel-veld (%s) bestaat niet.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'origineel DN en doel DN zijn hetzelfde';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'kopieren';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'bezig met recursief kopieren';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'bezig met het aanmaken van een snapshot van de boomstructuur... ';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieren succesvol! Wit u dan';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'het nieuwe veld bekijken';//"view the new entry'; -$lang['copy_failed'] = 'Kopieren van DN mislukt: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Waarschuwing: kan de template file niet vinden';//'Warning: missing template file, '; -$lang['using_default'] = 'standaardinstelling gebruiken';//'Using default.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopieren';//"Copy '; -$lang['copyf_to_new_object'] = 'naar een nieuw Objekt';//"to a new object'; -$lang['copyf_dest_dn'] = 'doel DN';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'De complete DN die aangemaakt wordt bij het kopieren van het bron-veld.';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'bestemmings server';//"Destination Server'; -$lang['copyf_note'] = 'Info: kopieren tussen twee servers gaat alleen maar goped als er geen schema problemen zijn';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Recursief kopieren van alle sub-velden';//"Recursively copy all children of this object as well.'; - -//create.php -$lang['create_required_attribute'] = 'Fout. U heeft een verplicht veld leeggelaten.';//"Error, you left the value blank for required attribute '; -$lang['create_redirecting'] = 'omleiden';//"Redirecting'; -$lang['create_here'] = 'hier';//"here'; -$lang['create_could_not_add'] = 'kan het object niet toevoegen op de LDAP server.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'object aanmaken';//"Create Object'; -$lang['createf_choose_temp'] = 'kies een template';//"Choose a template'; -$lang['createf_select_temp'] = 'kies een template voor dit object';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'verder';//"Proceed'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'op server';//"On server'; -$lang['ctemplate_no_template'] = 'geen template gespecifieerd in de POST variabelen';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'uw configuratie specificeert een routine';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'in deze template. Maar deze routine bestaat niet in de \'templates/creation\' directory.';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'u bent nog niet ingelogd op de geselecteerde server, dus u kunt geen zoekopdrachten geven.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klik hier om in te loggen';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Als u uw eigen crteria toe wilt voegen aan de lijst, dient u search.php te bewerken. Sluiten.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'gevonden velden: ';//'Entries found: '; -$lang['filter_performed'] = 'toegepast filter: ';//'Filter performed: '; -$lang['search_duration'] = 'zoeken door phpLDAPadmin duurde';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'seconden';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'zoekbereik';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (de hele tak)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (een laag diep)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (alleen de basis)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP zoekfilter. Voorbeeld.: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'zoekfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'komma gescheiden lijst van de attributen.';//'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'attributen laten zien';//'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'zoek naar velden waarvoor:';//'Search for entries whose:'; -$lang['equals'] = 'gelijk is aan';//'equals'; -$lang['starts with'] = 'begint met';//'starts with'; -$lang['contains'] = 'bevat';//'contains'; -$lang['ends with'] = 'eindigt met';//'ends with'; -$lang['sounds like'] = 'klinkt als';//'sounds like'; -$lang['predefined_search_str'] = 'of een van deze lijst uitlezen';//'or select a predefined search'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'kan geen LDAP van de server krijgen';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Server info voor: ';//'Server info for: '; -$lang['server_reports_following'] = 'De server geeft de volgende informatie over zichzelf';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'De server heeft niets te melden';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'De update_array is niet goed. Dat kan een phpLDAPadmin bug zijn. Laat het ons weten!';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Kan ldap_modify niet uitvoeren.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Deze veranderingen doorvoeren?';//'Do you want to make these changes?'; -$lang['attribute'] = 'attribuut';//'Attribute'; -$lang['old_value'] = 'oude waarde';//'Old Value'; -$lang['new_value'] = 'nieuwe waarde';//'New Value'; -$lang['attr_deleted'] = '[attribuut verwijderd]';//'[attribute deleted]'; -$lang['commit'] = 'uitvoeren';//'Commit'; -$lang['cancel'] = 'annuleren';//'Cancel'; -$lang['you_made_no_changes'] = 'U heeft geen veranderingen gemaakt.';//'You made no changes'; -$lang['go_back'] = 'terug';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Gebruik het linkermenu om te navigeren.';//'Use the menu to the left to navigate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'onveilige bestandsnaam: ';//'Unsafe file name: '; -$lang['no_such_file'] = 'Bestand bestaat niet: ';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'auto_uid_numbers is geactiveerd (%s, maar niet het mechanisme (auto_uid_number_mechanism). U dient dit alsnog te doen.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Het mechanisme auto_uid_number_mechanism is als uidpool voor server %s vastgelegd, maar niet de auto_uid_number_uid_pool_dn. U dient dit alsnog te doen.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; - -$lang['uidpool_not_exist'] = 'De uidPool die gespecificeerd is in de configuratie bestaat niet.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; - -$lang['specified_uidpool'] = 'De auto_uid_number_mechanism is als search in de configuratie voor de server %s bepaald, maar de waarde auto_uid_number_search_base niet. U dient dit alsnog te doen.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; - -$lang['auto_uid_invalid_value'] = 'Ongeldige waarde voor auto_uid_number_mechanism(%s). Alleen uidpool und search zijn geldig. Gaarne de fout herstellen ';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Fout: Er zit een fout inde configuratiefile (config.php). De enige twee waarden voor \'auth_type\' in de $servers sectie zijn: \'config\' of \'form\'. U heeft er nu %s in staan en dat kan niet.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['php_install_not_supports_tls'] = 'Uw installatie ondersteunt geen TLS.';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Kan TLS niet starten.
    Controleer de LDAP-Server-configuratie.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['auth_type_not_valid'] = 'Fout in de configuratiefile: auth_type %s is niet geldig'; //"You have an error in your config file. auth_type of %s is not valid.'; -$lang['ldap_said'] = 'LDAP zegt: %s

    ';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Fout';//"Error'; -$lang['fbrowse'] = 'navigeer';//"browse'; -$lang['delete_photo'] = 'Foto verwijderen';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Uw PHP-Versie ondersteunt geen Blowfish versleuteling.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_no_mash'] = 'Uw PHP-Versie ondersteunt de functie mhash() niet, dus de SHA-hash is niet mogelijk.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Foto (jpg) bevat fouten';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Foutnummer: %s(%s)

    ';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Omschrijving: %s

    ';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Foutnummer:%s

    ';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Omschrijving: (geen omschrijving beschikbaar)
    ';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Is het een phpLDAPadmin fout? Als dat zo is, dan gaarne een bugreport invullen';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Onbekend foutnummer:';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '
    Een niet fatale fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%sRegel:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = '
    - - - - - -
    Gefeliciteerd! Een fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    ';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -// extra strings: - -$lang['login_link'] = 'Login...'; -$lang['import_ldif_file_title'] = 'Import file from LDIF'; -$lang['select_ldif_file'] = 'Selecteer een LDIF file:'; -$lang['select_ldif_file_proceed']= 'Ga door >>'; -$lang['add_action'] = 'Toevoegen...'; -$lang['delete_action'] = 'Verwijderen...'; -$lang['rename_action'] = 'Hernoemen...'; -$lang['modify_action'] = 'Veranderen...'; -$lang['failed'] = 'mislukt'; -$lang['ldif_parse_error'] = 'LDIF inleesfout'; -$lang['ldif_could_not_add_object'] = 'Kan object niet toevoegen:'; -$lang['ldif_could_not_rename_object'] = 'Kan object niet hernoemen'; -$lang['ldif_could_not_delete_object'] = 'Kan object niet verwijderen'; -$lang['ldif_could_not_modify_object'] = 'Kan object niet wijzigen'; -$lang['ldif_line_number'] = 'regelnummer: '; -$lang['ldif_line'] = 'regel: '; - -$lang['credits'] = 'Credits';//'Credits'; -$lang['changelog'] = 'Changelog';//'ChangeLog'; -$lang['documentation'] = 'Documentatie';// 'Documentation'; - - -?> diff --git a/lang/recoded/pl.php b/lang/recoded/pl.php deleted file mode 100644 index fbcdaf8..0000000 --- a/lang/recoded/pl.php +++ /dev/null @@ -1,683 +0,0 @@ - Czy na pewno chcesz to zrobić ?'; -$lang['confirm_recursive_delete_note'] = 'Uwaga: ta operacja jest potencjalnie bardzo niebezpieczna i wykonujesz ją na własne ryzyko. Ta akcja nie może zostać cofnięta. Weź pod uwagę aliasy, owołania i inne rzeczy, które mogą spowodować problemy.'; -$lang['delete_all_x_objects'] = 'Usuń wszystkie %s obiekty/ów'; -$lang['recursive_delete_progress'] = 'Postęp rekursywnego usuwania'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Wpis %s oraz poddrzewo zostały pomyślnie usunięte.'; -$lang['failed_to_delete_entry'] = 'Błąd podczas usuwania wpisu %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'Atrybut "%s" jest oznaczony jako tylko-do-odczytu w konfiguracji phpLDAPadmin.'; -$lang['no_attr_specified'] = 'Nie określono nazwy atrybutu.'; -$lang['no_dn_specified'] = 'Nie określono DN'; - -// Adding attributes -$lang['left_attr_blank'] = 'Pozostawiłeś/aś pustą wartość atrybutu. Proszę wrócić i spróbować ponownie.'; -$lang['failed_to_add_attr'] = 'Błąd podczas dodawania atrybutu.'; -$lang['file_empty'] = 'Wybrany plik jest pusty lub nie istnieje. Wróć i spróbuj ponownie.'; -$lang['invalid_file'] = 'Błąd bezpieczeństwa: Załadowany plik może stanowić zagrożenie.'; -$lang['warning_file_uploads_disabled'] = 'Twoja konfiguracja PHP uniemożliwia załadowanie plików. Proszę sprawdzić php.ini przed kontynuacją.'; -$lang['uploaded_file_too_big'] = 'Załadowany plik jest zbyt duży. Proszę sprawdzić ustawienie upload_max_size w php.ini'; -$lang['uploaded_file_partial'] = 'Wybrany plik został tylko częściowo załadowany, prawdopodobnie wystąpił błąd w sieci.'; -$lang['max_file_size'] = 'Maksymalny rozmiar pliku: %s'; - -// Updating values -$lang['modification_successful'] = 'Modyfikacja zakończona pomyślnie.'; -$lang['change_password_new_login'] = 'Jeśli zmieniłeś/aś hasło, musisz się zalogować ponownie z nowym hasłem.'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nowe atrybuty wymagane'; -$lang['requires_to_add'] = 'Ta akcja wymaga, abyś dodał/a'; -$lang['new_attributes'] = 'nowe atrybuty'; -$lang['new_required_attrs_instructions'] = 'Instrukcja: Aby dodać tę/e klasę/y obiektu do tego wpisu, musisz określić'; -$lang['that_this_oclass_requires'] = 'co ta klasa obiektu wymaga. Możesz zrobić to w tym formularzu.'; -$lang['add_oclass_and_attrs'] = 'Dodaj klasę obiektu i atrybuty'; - -// General -$lang['chooser_link_tooltip'] = 'Kliknij aby wywołać okno i wybrać wpis (DN) graficznie'; -$lang['no_updates_in_read_only_mode'] = 'Nie możesz wykonać modyfikacji dopóki serwer jest w trybie tylko-do-odczytu'; -$lang['bad_server_id'] = 'Zły identyfikator (id) serwera'; -$lang['not_enough_login_info'] = 'Brak wystarczających informacji aby zalogować się do serwera. Proszę sprawdzić konfigurację.'; -$lang['could_not_connect'] = 'Nie można podłączyć się do serwera LDAP.'; -$lang['could_not_connect_to_host_on_port'] = 'Nie można podłączyć się do "%s" na port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Nie można dokonać operacji ldap_mod_add.'; -$lang['home'] = 'Strona główna'; -$lang['help'] = 'Pomoc'; -$lang['success'] = 'Sukces'; -$lang['server_colon_pare'] = 'Serwer: '; -$lang['look_in'] = 'Szukam w: '; -$lang['missing_dn_in_query_string'] = 'Nie określono DN w zapytaniu !'; -$lang['back_up_p'] = 'Do góry...'; -$lang['no_entries'] = 'brak wpisów'; -$lang['could_not_det_base_dn'] = 'Nie można określić bazowego DN'; -$lang['reasons_for_error']='To mogło zdarzyć się z kilku powodów, z których najbardziej prawdopodobne to:'; -$lang['yes']='Tak'; -$lang['no']='Nie'; -$lang['go']='Idź'; -$lang['delete']='Usuń'; -$lang['back']='Powrót'; -$lang['object']='obiekt'; -$lang['delete_all']='Usuń wszystko'; -$lang['hint'] = 'wskazówka'; -$lang['bug'] = 'błąd (bug)'; -$lang['warning'] = 'ostrzeżenie'; -$lang['light'] = 'żarówka'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Dalej >>'; -$lang['no_blowfish_secret'] = 'phpLDAPadmin nie może bezpiecznie szyfrować danych, ponieważ zmienna $blowfish_secret nie jest ustawiona w config.php. Należy wyedytować config.php i wpisać jakiś łańcuch znaków do zmiennej $blowfish_secret'; -$lang['jpeg_dir_not_writable'] = 'Proszę ustawić zmienną $jpeg_temp_dir w config.php na katalog z możliwością zapisu plików'; -$lang['jpeg_dir_not_writable_error'] = 'Nie można zapisać do katalogu $jpeg_temp_dir %s. Sprawdź proszę czy Twój serwer może zapisywać pliki w tym katalogu.'; -$lang['jpeg_unable_toget'] = 'Nie można pobrać danych jpeg z serwera LDAP dla atrybutu %s.'; -$lang['jpeg_delete'] = 'Usuń zdjęcie'; - -// Add value form -$lang['add_new'] = 'Dodaj'; -$lang['value_to'] = 'wartość do'; -$lang['distinguished_name'] = 'Wyróżniona Nazwa (DN)'; -$lang['current_list_of'] = 'Aktualna lista'; -$lang['values_for_attribute'] = 'wartości dla atrybutu'; -$lang['inappropriate_matching_note'] = 'Uwaga: Jeśli nie ustawisz reguły EQUALITY dla tego atrybutu na Twoim serwerze LDAP otrzymasz błąd "niewłaściwe dopasowanie (inappropriate matching)"'; -$lang['enter_value_to_add'] = 'Wprowadź wartość, którą chcesz dodać:'; -$lang['new_required_attrs_note'] = 'Uwaga: może być wymagane wprowadzenie nowych atrybutów wymaganych przez tę/e klasę/y obiektu'; -$lang['syntax'] = 'Składnia'; - -//copy.php -$lang['copy_server_read_only'] = 'Nie możesz dokonać modyfikacji dopóki serwer jest w trybie tylko-do-odczytu'; -$lang['copy_dest_dn_blank'] = 'Nie wypełniono docelowej DN.'; -$lang['copy_dest_already_exists'] = 'Docelowy wpis (%s) już istnieje.'; -$lang['copy_dest_container_does_not_exist'] = 'Docelowy kontener (%s) nie istnieje.'; -$lang['copy_source_dest_dn_same'] = 'Źródłowa i docelowa DN są takie same.'; -$lang['copy_copying'] = 'Kopiowanie '; -$lang['copy_recursive_copy_progress'] = 'Postęp kopiowania rekursywnego'; -$lang['copy_building_snapshot'] = 'Budowanie migawki (snapshot) drzewa do skopiowania... '; -$lang['copy_successful_like_to'] = 'Kopiowanie zakończone pomyślnie. Czy chcesz '; -$lang['copy_view_new_entry'] = 'zobaczyć nowy wpis '; -$lang['copy_failed'] = 'Błąd podczas kopiowania DN: '; - -//edit.php -$lang['missing_template_file'] = 'Uwaga: brak pliku szablonu, '; -$lang['using_default'] = 'Używam domyślnego.'; -$lang['template'] = 'Szablon'; -$lang['must_choose_template'] = 'Musisz wybrać szablon'; -$lang['invalid_template'] = '%s nie jest prawidłowym szablonem'; -$lang['using_template'] = 'wykorzystując szablon'; -$lang['go_to_dn'] = 'Idź do %s'; -$lang['structural_object_class_cannot_remove'] = 'To jest strukturalna klasa obiektu i nie może zostać usunięta.'; -$lang['structural'] = 'strukturalna'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiuj '; -$lang['copyf_to_new_object'] = 'do nowego obiektu'; -$lang['copyf_dest_dn'] = 'Docelowa DN'; -$lang['copyf_dest_dn_tooltip'] = 'Pełna DN nowego wpisu do utworzenia poprzez skopiowanie wpisu źródłowego'; -$lang['copyf_dest_server'] = 'Docelowy serwer'; -$lang['copyf_note'] = 'Wskazówka: Kopiowanie pomiędzy różnymi serwerami działa wtedy, gdy nie występuje naruszenie schematów'; -$lang['copyf_recursive_copy'] = 'Rekursywne kopiowanie wszystkich potomnych obiektów'; -$lang['recursive_copy'] = 'Kopia rekursywna'; -$lang['filter'] = 'Filtr'; -$lang['filter_tooltip'] = 'Podczas rekursywnego kopiowania, kopiowane są tylko wpisy pasujące do filtra'; -$lang['delete_after_copy'] = 'Usuń po skopiowaniu (przenieś):'; -$lang['delete_after_copy_warn'] = 'Upewnij się, że ustawienia filtra (powyżej) pozwalają na wybranie wszystkich rekordów podrzędnych.'; - -//create.php -$lang['create_required_attribute'] = 'Brak wartości dla wymaganego atrybutu (%s).'; -$lang['redirecting'] = 'Przekierowuję'; -$lang['here'] = 'tutaj'; -$lang['create_could_not_add'] = 'Nie można dodać obiektu do serwera LDAP.'; - -//create_form.php -$lang['createf_create_object'] = 'Utwórz obiekt'; -$lang['createf_choose_temp'] = 'Wybierz szablon'; -$lang['createf_select_temp'] = 'Wybierz szablon dla procesu tworzenia'; -$lang['save_as_file'] = 'Zapisz jako'; -$lang['rdn_field_blank'] = 'Pozostawiłeś/aś puste pole RDN.'; -$lang['container_does_not_exist'] = 'Kontener który określiłeś/aś (%s) nie istnieje. Spróbuj ponownie.'; -$lang['no_objectclasses_selected'] = 'Nie wybrałeś/aś żadnych Klas Obiektu dla tego obiektu. Wróć proszę i zrób to.'; -$lang['hint_structural_oclass'] = 'Wskazówka: Musisz wybrać dokładnie jedną strukturalną klasę obiektu (wyróżnioną pogrubieniem)'; -$lang['template_restricted'] = 'Ten szablon nie jest dostępny w tym kontenerze'; // 'This template is not allowed in this container.'; -$lang['template_invalid'] = 'Ten szablon został zablokowany, prawdopodobnie z powodu brakującego schamatu lub brakujących pól szablonu XML.'; // 'This template has been disabled, possibly due to missing schema or missing template XML fields.'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'Na serwerze'; -$lang['ctemplate_no_template'] = 'Brak określenia szablonu w zmiennych POST.'; -$lang['template_not_readable'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale tego pliku nie da się odczytać, ponieważ uprawnienia są zbyt restrykcyjne.'; -$lang['template_does_not_exist'] = 'Twoja konfiguracja określa obsługę "%s" dla tego szablonu, ale pliku obsługi nie ma w katalogu templates/creation.'; -$lang['create_step1'] = 'Krok 1 z 2: Nazwa i klasa/y obiektu'; -$lang['create_step2'] = 'Krok 2 z 2: Określenie atrybutów i wartości'; -$lang['relative_distinguished_name'] = 'Relatywna Wyróżniona Nazwa (RDN)'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(przykład: cn=MyNewPerson)'; -$lang['container'] = 'Kontener'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Nie zalogowałeś/aś się jeszcze do wybranego serwera, więc nie możesz go przeszukiwać.'; -$lang['click_to_go_to_login_form'] = 'Kliknij tutaj aby przejść do formularza logowania'; -$lang['unrecognized_criteria_option'] = 'Nierozpoznane kryterium opcji: '; -$lang['if_you_want_to_add_criteria'] = 'Jeśli chcesz dodać własne kryteria do listy, zmodyfikuj plik search.php aby to obsłużyć.'; -$lang['entries_found'] = 'Znaleziono wpisów: '; -$lang['filter_performed'] = 'Zastosowano filtr: '; -$lang['search_duration'] = 'Wyszukiwanie wykonane przez phpLDAPadmin w'; -$lang['seconds'] = 'sekund(y)'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Przeszukiwany zakres'; -$lang['scope_sub'] = 'Sub (całe poddrzewo)'; -$lang['scope_one'] = 'One (jeden poziom poniżej bazowej)'; -$lang['scope_base'] = 'Base (tylko bazowa dn)'; -$lang['standard_ldap_search_filter'] = 'Standardowy filtr dla LDAP. Na przykład: (&(sn=Kowalski)(givenname=Jan))'; -$lang['search_filter'] = 'Filtr wyszukiwania'; -$lang['list_of_attrs_to_display_in_results'] = 'Lista atrybutów do wyświetlenia rezultatów (rozdzielona przecinkami)'; - -// search_form_simple.php -$lang['starts with'] = 'zaczyna się od'; -$lang['ends with'] = 'kończy się na'; -$lang['sounds like'] = 'brzmi jak'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Nie można uzyskać informacji od serwera LDAP. Może to być spowodowane błędem w Twojej wersji PHP albo na przykład tym, że Twój serwer LDAP posiada listę kontroli dostępu nie zezwalającą na pobranie RootDSE klientom LDAP'; -$lang['server_info_for'] = 'Informacja o serwerze: '; -$lang['server_reports_following'] = 'Serwer zwrócił następujące informacje o sobie'; -$lang['nothing_to_report'] = 'Ten serwer nie chce nic powiedzieć o sobie :).'; - -//update.php -$lang['update_array_malformed'] = 'tablica modyfikacji (update_array) jest zniekształcona. To może być błąd (bug) w phpLDAPadmin. Proszę to zgłosić.'; -$lang['could_not_perform_ldap_modify'] = 'Nie można wykonać operacji modyfikacji (ldap_modify).'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Czy chcesz dokonać tych zmian ?'; -$lang['attribute'] = 'Atrybuty'; -$lang['old_value'] = 'Stara wartość'; -$lang['new_value'] = 'Nowa wartość'; -$lang['attr_deleted'] = '[atrybut usunięty]'; -$lang['commit'] = 'Zatwierdź'; -$lang['cancel'] = 'Anuluj'; -$lang['you_made_no_changes'] = 'Nie dokonano żadnych zmian'; -$lang['go_back'] = 'Powrót'; -$lang['unable_create_samba_pass'] = 'Nie można utworzyć hasła dla samby. Sprawdź proszę swoją konfigurację w template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'Użyj menu z lewej strony do nawigacji'; -$lang['credits'] = 'Lista płac'; -$lang['changelog'] = 'Historia zmian'; -$lang['documentation'] = 'Dokumentacja'; // 'Documentation'; -$lang['donate'] = 'Wesprzyj projekt'; -$lang['pla_logo'] = 'phpLDAPadmin logo'; - -// Donate.php -$lang['donation_instructions'] = 'Aby wesprzeć projekt phpLDAPadmin skorzystaj z jednego z przycisków PayPal umieszczonych poniżej'; -$lang['donate_amount'] = 'Wesprzyj kwotą %s'; - -$lang['purge_cache'] = 'Wyczyść cache'; -$lang['no_cache_to_purge'] = 'Nie ma czego czyścić.'; -$lang['done_purging_caches'] = 'Wyczyszczono %s bajtów pamięci podręcznej (cache).'; -$lang['purge_cache_tooltip'] = 'Czyści wszystkie dane podręczne (cache) w phpLDAPadmin, łącznie ze schematami serwera'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Niebezpieczna nazwa pliku: '; -$lang['no_such_file'] = 'Nie znaleziono pliku: '; - -//function.php -$lang['auto_update_not_setup'] = 'Zezwoliłeś/aś na automatyczne nadawanie uid (auto_uid_numbers) dla %s w konfiguracji, ale nie określiłeś/aś mechanizmu (auto_uid_number_mechanism). Proszę skorygować ten problem.'; -$lang['uidpool_not_set'] = 'Określiłeś/aś mechanizm autonumerowania uid "auto_uid_number_mechanism" jako "uidpool" w konfiguracji Twojego serwera %s, lecz nie określiłeś/aś audo_uid_number_uid_pool_dn. Proszę określ to zanim przejdziesz dalej.'; -$lang['uidpool_not_exist'] = 'Wygląda na to, że uidPool, którą określiłeś/aś w Twojej konfiguracji ("%s") nie istnieje.'; -$lang['specified_uidpool'] = 'Określiłeś/aś "auto_uid_number_mechanism" jako "search" w konfiguracji Twojego serwera %s, ale nie określiłeś/aś bazy "auto_uid_number_search_base". Zrób to zanim przejdziesz dalej.'; -$lang['auto_uid_invalid_credential'] = 'Nie można podłączyć do %s z podaną tożsamością auto_uid. Proszę sprawdzić swój plik konfiguracyjny.'; -$lang['bad_auto_uid_search_base'] = 'W Twojej konfiguracji phpLDAPadmin określona jest nieprawidłowa wartość auto_uid_search_base dla serwera %s'; -$lang['auto_uid_invalid_value'] = 'Określiłeś/aś błędną wartość dla auto_uid_number_mechanism ("%s") w konfiguracji. Tylko "uidpool" i "search" są poprawne. Proszę skorygować ten problem.'; -$lang['error_auth_type_config'] = 'Błąd: Masz błąd w pliku konfiguracji. Trzy możliwe wartości dla auth_type w sekcji $servers to \'session\', \'cookie\' oraz \'config\'. Ty wpisałeś/aś \'%s\', co jest niedozwolone. '; -$lang['unique_attrs_invalid_credential'] = 'Nie można podłączyć do %s z podaną tożsamością unique_attrs. Proszę sprawdzić swój plik konfiguracyjny.'; -$lang['unique_attr_failed'] = 'Próba dodania %s (%s) do
    %s
    jest NIEDOZWOLONA. Ten atrybut/wartość należy do innego wpisu.

    Jeśli chcesz, możesz poszukać tego wpisu.'; -$lang['php_install_not_supports_tls'] = 'Twoja instalacja PHP nie wspiera TLS.'; -$lang['could_not_start_tls'] = 'Nie można uruchomić TLS. Proszę sprawdzić konfigurację serwera LDAP.'; -$lang['could_not_bind_anon'] = 'Nie można anonimowo podłączyć do serwera.'; -$lang['could_not_bind'] = 'Nie można podłączyć się do serwera LDAP.'; -$lang['anonymous_bind'] = 'Podłączenie anonimowe'; -$lang['bad_user_name_or_password'] = 'Zła nazwa użytkownika lub hasło. Spróbuj ponownie.'; -$lang['successfully_logged_in_to_server'] = 'Pomyślnie zalogowano do serwera %s'; -$lang['could_not_set_cookie'] = 'Nie można ustawić ciasteczka (cookie).'; -$lang['ldap_said'] = 'LDAP odpowiedział: %s'; -$lang['ferror_error'] = 'Błąd'; -$lang['fbrowse'] = 'przeglądaj'; -$lang['delete_photo'] = 'Usuń fotografię'; -$lang['install_not_support_ext_des'] = 'Twoja systemowa biblioteka crypt nie wspiera rozszerzonego szyfrowania DES'; -$lang['install_not_support_blowfish'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania blowfish.'; -$lang['install_not_support_md5crypt'] = 'Twoja systemowa biblioteka crypt nie wspiera szyfrowania md5crypt.'; -$lang['install_no_mash'] = 'Twoja instalacja PHP nie posiada funkcji mhash(). Nie mogę tworzyć haszy SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto zawiera błędy
    '; -$lang['ferror_number'] = 'Błąd numer: %s (%s)'; -$lang['ferror_discription'] = 'Opis: %s

    '; -$lang['ferror_number_short'] = 'Błąd numer: %s

    '; -$lang['ferror_discription_short'] = 'Opis: (brak dostępnego opisu)
    '; -$lang['ferror_submit_bug'] = 'Czy jest to błąd w phpLDAPadmin ? Jeśli tak, proszę go zgłosić.'; -$lang['ferror_unrecognized_num'] = 'Nierozpoznany numer błędu: '; -$lang['ferror_nonfatil_bug'] = '

    - - -
    - Znalazłeś błąd w phpLDAPadmin (nie krytyczny) !
    Błąd:%s (%s)
    Plik:%s linia %s, wywołane z %s
    Wersje:PLA: %s, PHP: %s, SAPI: %s -
    Serwer Web:%s
    - Sprawdź proszę czy ten błąd nie został już zgłoszony tutaj.
    Jeśli nie został jeszcze zgłoszony, to możesz go zgłosić tutaj.

    '; -$lang['ferror_congrats_found_bug'] = 'Gratulacje ! Znalazłeś błąd w phpLDAPadmin.

    - - - - - - - - - - -
    Błąd:%s
    Poziom:%s
    Plik:%s
    Linia:%s
    Wywołane z:%s
    Wersja PLA:%s
    Wersja PHP:%s
    PHP SAPI:%s
    Serwer Web:%s
    -
    - Proszę zgłoś ten błąd klikając poniżej !'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importuj plik LDIF'; -$lang['select_ldif_file'] = 'Wybierz plik LDIF:'; -$lang['dont_stop_on_errors'] = 'Nie zatrzymuj się po napotkaniu błędów'; - -//ldif_import -$lang['add_action'] = 'Dodawanie...'; -$lang['delete_action'] = 'Usuwanie...'; -$lang['rename_action'] = 'Zmiana nazwy...'; -$lang['modify_action'] = 'Modyfikowanie...'; -$lang['warning_no_ldif_version_found'] = 'Nie znaleziono numeru wersji. Przyjmuję 1.'; -$lang['valid_dn_line_required'] = 'Wymagana jest poprawna linia DN.'; -$lang['missing_uploaded_file'] = 'Brak wgrywanego pliku.'; -$lang['no_ldif_file_specified'] = 'Nie określono pliku LDIF. Spróbuj ponownie.'; -$lang['ldif_file_empty'] = 'Wgrany plik LDIF jest pusty.'; -$lang['empty'] = 'pusty'; -$lang['file'] = 'Plik'; -$lang['number_bytes'] = '%s bajtów'; - -$lang['failed'] = 'Nieudane'; -$lang['ldif_parse_error'] = 'Błąd przetwarzania LDIF (Parse Error)'; -$lang['ldif_could_not_add_object'] = 'Nie można dodać obiektu:'; -$lang['ldif_could_not_rename_object'] = 'Nie można zmienić nazwy obiektu:'; -$lang['ldif_could_not_delete_object'] = 'Nie można usunąć obiektu:'; -$lang['ldif_could_not_modify_object'] = 'Nie można zmodyfikować obiektu:'; -$lang['ldif_line_number'] = 'Linia numer:'; -$lang['ldif_line'] = 'Linia:'; - -//delete_form -$lang['sure_permanent_delete_object']='Czy na pewno trwale usunąć ten obiekt ?'; -$lang['list_of_entries_to_be_deleted'] = 'Lista wpisów do usunięcia:'; -$lang['dn'] = 'DN'; - -// Exports -$lang['export_format'] = 'Format eksportu'; -$lang['line_ends'] = 'Zakończenie linii'; -$lang['must_choose_export_format'] = 'Musisz wybrać format eksportu.'; -$lang['invalid_export_format'] = 'Błędny format eksportu'; -$lang['no_exporter_found'] = 'Nie znaleziono dostępnego eksportera.'; -$lang['error_performing_search'] = 'Napotkano błąd podczas szukania.'; -$lang['showing_results_x_through_y'] = 'Pokazywanie rezultatów %s przez %s.'; -$lang['searching'] = 'Szukam...'; -$lang['size_limit_exceeded'] = 'Uwaga, przekroczono limit rozmiaru wyszukiwania.'; -$lang['entry'] = 'Wpis'; -$lang['ldif_export_for_dn'] = 'Eksport LDIF dla: %s'; -$lang['generated_on_date'] = 'Wygenerowane przez phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) na %s'; -$lang['total_entries'] = 'Łącznie wpisów'; -$lang['dsml_export_for_dn'] = 'Eksport DSLM dla: %s'; -$lang['include_system_attrs'] = 'Zawiera atrybuty systemowe'; -$lang['csv_spreadsheet'] = 'CVS (arkusz)'; - -// logins -$lang['password_blank'] = 'Pozostawiłeś/aś puste hasło.'; -$lang['no_one_logged_in'] = 'Nikt nie jest zalogowany do tego serwera.'; -$lang['could_not_logout'] = 'Nie można wylogować.'; -$lang['unknown_auth_type'] = 'Nieznany auth_type: %s'; -$lang['logged_out_successfully'] = 'Pomyślnie wylogowano z serwera %s'; -$lang['authenticate_to_server'] = 'Uwierzytelnienie dla serwera %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Uwaga: To połączenie nie jest szyfrowane.'; -$lang['not_using_https'] = 'Nie używasz \'https\'. Przeglądarka będzie transmitować informację logowania czystym tekstem (clear text).'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'Nazwa użytkownika'; -$lang['password'] = 'Hasło'; -$lang['authenticate'] = 'Zaloguj'; -$lang['login_not_allowed'] = 'Przykro mi, ale nie masz uprawnień aby korzystać z phpLDAPadmin na tym serwerze LDAP.'; - -// Entry browser -$lang['entry_chooser_title'] = 'Wybór wpisu'; - -// Index page -$lang['need_to_configure'] = 'Musisz skonfigurować phpLDAPadmin. Wyedytuj plik \'config.php\' aby to zrobić. Przykład pliku konfiguracji znajduje się w \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Usuwanie jest niedozwolone w trybie tylko-do-odczytu.'; -$lang['error_calling_mass_delete'] = 'Błąd podczas wywołania mass_delete.php. Brakująca mass_delete w zmiennych POST.'; -$lang['mass_delete_not_array'] = 'zmienna POST mass_delete nie jest w tablicą.'; -$lang['mass_delete_not_enabled'] = 'Masowe usuwanie nie jest dozwolone. Odblokuj to proszę w config.php przed kontynuacją.'; -$lang['mass_deleting'] = 'Masowe usuwanie'; -$lang['mass_delete_progress'] = 'Postęp usuwania na serwerze "%s"'; -$lang['malformed_mass_delete_array'] = 'Zniekształcona tablica mass_delete.'; -$lang['no_entries_to_delete'] = 'Nie wybrano żadnegych wpisów do usunięcia.'; -$lang['deleting_dn'] = 'Usuwanie %s'; -$lang['total_entries_failed'] = '%s z %s wpisów nie zostało usuniętych.'; -$lang['all_entries_successful'] = 'Wszystkie wpisy pomyślnie usunieto.'; -$lang['confirm_mass_delete'] = 'Potwierdź masowe usunięcie %s wpisów na serwerze %s'; -$lang['yes_delete'] = 'Tak, usuń !'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Nie możesz zmienić nazwy wpisu, posiadającego wpisy potomne (np. operacja zmiany nazwy nie jest dozwolona na wpisach nie będących liścmi).'; -$lang['no_rdn_change'] = 'Nie zmieniłeś/aś RDN'; -$lang['invalid_rdn'] = 'Błędna wartość RDN'; -$lang['could_not_rename'] = 'Nie można zmienić nazwy wpisu'; - -// Password checker -$lang['passwords_match'] = 'Hasła zgodne !'; -$lang['passwords_do_not_match'] = 'Hasła nie zgadzają się !'; -$lang['password_checker_tool'] = 'Narzędzie do sprawdzania haseł'; -$lang['to'] = 'Do'; - -// Templates -$lang['using'] = 'Używając'; -$lang['switch_to'] = 'Możesz przełączyć się do '; -$lang['default_template'] = 'domyślnego szablonu'; - -// template_config -$lang['user_account'] = 'Konto Użytkownika (posixAccount)'; -$lang['address_book_inet'] = 'Wpis Książki Adresowej (inetOrgPerson)'; -$lang['address_book_moz'] = 'Wpis Książki Adresowej (mozillaOrgPerson)'; -$lang['kolab_user'] = 'Wpis Użytkownika Kolab'; -$lang['organizational_unit'] = 'Jednostka Organizacyjna'; -$lang['new_organizational_unit'] = 'Nowa Jednostka Organizacyjna'; -$lang['organizational_role'] = 'Rola w Organizacji'; -$lang['posix_group'] = 'Grupa Posix'; -$lang['samba_machine'] = 'Maszyna Samba NT'; -$lang['samba3_machine'] = 'Maszyna Samba 3 NT'; -$lang['samba_user'] = 'Użytkownik Samba'; -$lang['samba3_user'] = 'Użytkownik Samba 3'; -$lang['samba3_group'] = 'Przypisanie grupy Samba 3'; -$lang['dns_entry'] = 'Wpis DNS'; -$lang['simple_sec_object'] = 'Prosty obiekt bezpieczeństwa (SSO)'; -$lang['courier_mail_account'] = 'Konto Pocztowe w Courier'; -$lang['courier_mail_alias'] = 'Alias Pocztowy w Courier'; -$lang['ldap_alias'] = 'Alias w LDAP'; -$lang['sendmail_cluster'] = 'Klaster Sendmail'; -$lang['sendmail_domain'] = 'Domena Sendmail'; -$lang['sendmail_alias'] = 'Alias Sendmail'; -$lang['sendmail_virt_dom'] = 'Wirtualna Domena Sendmail'; -$lang['sendmail_virt_users'] = 'Wirtualni Użytkownicy Sendmail'; -$lang['sendmail_relays'] = 'Sendmail Relays'; -$lang['custom'] = 'Ogólne'; -$lang['samba_domain_name'] = 'Moja nazwa domeny w Samba'; -$lang['administrators'] = 'Administratorzy'; -$lang['users'] = 'Użytkownicy'; -$lang['guests'] = 'Goście'; -$lang['power_users'] = 'Użytkownicy zaawansowani'; -$lang['account_ops'] = 'Operatorzy kont'; -$lang['server_ops'] = 'Operatorzy serwera'; -$lang['print_ops'] = 'Operatorzy drukowania'; -$lang['backup_ops'] = 'Operatorzy archiwizacji danych'; -$lang['replicator'] = 'Replikator'; -$lang['unable_smb_passwords'] = ' Nie można utworzyć haseł Samba. Proszę sprawdzić konfigurację w template_config.php'; -$lang['err_smb_conf'] = 'Błąd: masz błąd w konfiguracji samby'; -$lang['err_smb_no_name_sid'] = 'Błąd: musisz wprowadzić nazwę oraz sid dla Twojej domeny samby.'; -$lang['err_smb_no_name'] = 'Błąd: brak nazwy dla domeny samby.'; -$lang['err_smb_no_sid'] = 'Błąd: brak sid dla domeny samby'; - -// Samba Account Template -$lang['samba_account'] = 'Konto Samba'; -$lang['samba_account_lcase'] = 'konto samba'; - -// New User (Posix) Account -$lang['t_new_user_account'] = 'Nowe konto użytkownika'; -$lang['t_hint_customize'] = 'Wskazówka: Aby dostosować ten szablon, wyedytuj plik templates/creation/new_user_template.php'; -$lang['t_name'] = 'Nazwa/Nazwisko'; -$lang['t_first_name'] = 'Imię'; -$lang['t_last_name'] = 'Nazwisko'; -$lang['t_first'] = 'imię'; -$lang['t_last'] = 'nazwisko'; -$lang['t_state'] = 'Stan'; -$lang['t_common_name'] = 'Nazwa'; -$lang['t_user_name'] = 'Nazwa użytkownika'; -$lang['t_password'] = 'Hasło'; -$lang['t_encryption'] = 'Szyfrowanie'; -$lang['t_login_shell'] = 'Powłoka (shell)'; -$lang['t_home_dir'] = 'Katalog domowy'; -$lang['t_uid_number'] = 'Numer UID'; -$lang['t_auto_det'] = '(automatycznie określony)'; -$lang['t_group'] = 'Grupa'; -$lang['t_gid_number'] = 'Numer GID'; -$lang['t_uid'] = 'ID Użytkownika'; -$lang['t_err_passwords'] = 'Hasła nie zgadzają się. Wróc i spróbuj ponownie.'; -$lang['t_err_field_blank'] = 'Nie możesz pozostawić pustego pola %s. Wróć i spróbuj ponownie.'; -$lang['t_err_field_num'] = 'Pole %s może zawierać tylko wartości numeryczne. Wróć i spróbuj ponownie.'; -$lang['t_err_bad_container'] = 'Kontener który wybrałeś/aś (%s) nie istnieje. Wróć i spróbuj ponownie.'; -$lang['t_confirm_account_creation'] = 'Potwierdź utworzenie konta'; -$lang['t_secret'] = '[tajne]'; -$lang['t_create_account'] = 'Utwórz konto'; -$lang['t_verify'] = 'Weryfikuj'; - -// New Group (Posix) -$lang['t_new_posixgroup'] = 'Nowa Grupa Posix'; - -// New Address Template -$lang['t_new_address'] = 'Nowy wpis w Książce Adresowej'; -$lang['t_organization'] = 'Organizacja'; -$lang['t_address'] = 'Adres'; -$lang['t_city'] = 'Miasto'; -$lang['t_postal_code'] = 'Kod pocztowy'; -$lang['t_street'] = 'Ulica'; -$lang['t_work_phone'] = 'Telefon służbowy'; -$lang['t_fax'] = 'Fax'; -$lang['t_mobile'] = 'Telefon komórkowy'; -$lang['t_email'] = 'E-mail'; -$lang['t_container'] = 'Kontener'; -$lang['t_err_cn_blank'] = 'Nie możesz pozostawić pustego pola Nazwa. Wróć i spróbuj ponownie.'; -$lang['t_confim_creation'] = 'Potwierdź utworzenie wpisu:'; -$lang['t_create_address'] = 'Utwórz adres'; - -// default template -$lang['t_check_pass'] = 'Sprawdź hasło'; -$lang['t_auto_submit'] = '(Automatycznie wyliczane przy wysłaniu)'; // '(Auto evalutated on submission.)'; - -// compare form -$lang['compare'] = 'Porównaj'; -$lang['comparing'] = 'Porównuję następujące DN'; -$lang['compare_dn'] = 'Porównaj inny DN z'; -$lang['with'] = 'z'; -$lang['compf_source_dn'] = 'Źródłowa DN'; -$lang['compf_dn_tooltip'] = 'Prównaj tą DN z inną'; -$lang['switch_entry'] = 'Zamień wpisy'; -$lang['no_value'] = 'Brak wartości'; -$lang['compare_with'] = 'Porównaj z innym wpisem'; -$lang['need_oclass'] = 'Musisz posiadać jedną z następujących klas obiektów, aby dodać ten atrybut %s '; - -// Time out page -$lang['session_timed_out_1'] = 'Twoja sesja wygaśnie po'; -$lang['session_timed_out_2'] = 'min. nieaktywności. Zostaniesz automatycznie wylogowany/a.'; -$lang['log_back_in'] = 'Aby się zalogować ponownie kliknij w następujący link:'; -$lang['session_timed_out_tree'] = '(Sesja wygasła. Automatycznie wylogowano)'; -$lang['timeout_at'] = 'Brak aktywności wyloguje Cię o %s'; -?> diff --git a/lang/recoded/pt-br.php b/lang/recoded/pt-br.php deleted file mode 100644 index 05bc49a..0000000 --- a/lang/recoded/pt-br.php +++ /dev/null @@ -1,516 +0,0 @@ -To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Dica: Para ver o esquema de um atributo clique no nome do atributo.';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Alguns atributos (%s) foram modificados e estão destacados abaixo.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Um atributo (%s) foi modificado e está destacado abaixo';//'An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Vizualizando objeto em modo somente-leitura.';//'Viewing entry in read-only mode.'; -$lang['no_new_attrs_available'] = 'novos atributos não disponíveis para este objeto.';//'no new attributes available for this entry'; -$lang['no_new_binary_attrs_available'] = 'novos atributos binários não disponíveis para este objeto.';//'no new binary attributes available for this entry'; -$lang['binary_value'] = 'Valor binário';//'Binary value'; -$lang['add_new_binary_attr'] = 'Inserir novo atributo binário';//'Add New Binary Attribute'; -$lang['alias_for'] = 'Nota: \'%s\' é um alias para \'%s\'';//'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'download do valor';//'download value'; -$lang['delete_attribute'] = 'apagar atributo';//'delete attribute'; -$lang['true'] = 'verdadeiro';//'true'; -$lang['false'] = 'falso';//'false'; -$lang['none_remove_value'] = 'nenhum, remover valor';//?? //'none, remove value'; -$lang['really_delete_attribute'] = 'Deseja realmente apagar atributo';//'Really delete attribute'; -$lang['add_new_value'] = 'Inserir novo valor';//'Add New Value'; - -// Schema browser -$lang['the_following_objectclasses'] = 'As seguintes Classes de objetos são suportadas por este servidor LDAP.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Os seguintes tipos de atributos são suportadas por este servidor LDAP.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'As seguintes regras de consistência são suportadas por este servidor LDAP.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'As seguintes sintaxes são suportadas por este servidor LDAP.';//'The following syntaxes are supported by this LDAP server.'; -$lang['schema_retrieve_error_1']='O servidor não suporta o protocolo LDAP completamente.';//'The server does not fully support the LDAP protocol.'; -$lang['schema_retrieve_error_2']='Sua versão do PHP não executa a consulta corretamente.';//'Your version of PHP does not correctly perform the query.'; -$lang['schema_retrieve_error_3']='Ou, por fim, o phpLDAPadmin não sabe como buscar o esquema para o seu servidor.';//'Or lastly, phpLDAPadmin doesn\'t know how to fetch the schema for your server.'; -$lang['jump_to_objectclass'] = 'Ir para uma classe de objetos';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Ir para um tipo de atributo';//'Jump to an attribute'; -$lang['jump_to_matching_rule'] = 'Ir para regras de consistência';//'Jump to a matching rule'; -$lang['schema_for_server'] = 'Esquema para servidor';//'Schema for server'; -$lang['required_attrs'] = 'Atributos Obrigatórios';//'Required Attributes'; -$lang['optional_attrs'] = 'Atributos Opcionais';//'Optional Attributes'; -$lang['optional_binary_attrs'] = 'Atributos Binários Opcionais';//'Optional Binary Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['aliases']='Apelidos';//'Aliases'; -$lang['desc'] = 'Descrição';//'Description'; -$lang['no_description']='sem descrição';//'no description'; -$lang['name'] = 'Nome';//'Name'; -$lang['equality']='Igualdade';//'Equality'; -$lang['is_obsolete'] = 'Esta classe de objeto está obsoleta.';//'This objectClass is obsolete'; -$lang['inherits'] = 'Herda de';//'Inherits'; -$lang['inherited_from']='Herdado de';//inherited from'; -$lang['parent_to'] = 'Pai para';//'Parent to'; -$lang['jump_to_this_oclass'] = 'Ir para definição desta classe de objeto';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'OID da Regra de consistência';//'Matching Rule OID'; -$lang['syntax_oid'] = 'OID da Sintaxe';//'Syntax OID'; -$lang['not_applicable'] = 'não aplicável';//'not applicable'; -$lang['not_specified'] = 'não especificado';//not specified'; -$lang['character']='caracter';//'character'; -$lang['characters']='caracteres';//'characters'; -$lang['used_by_objectclasses']='Usado por classes de objetos';//'Used by objectClasses'; -$lang['used_by_attributes']='Usado por Atributos';//'Used by Attributes'; -$lang['oid']='OID'; -$lang['obsolete']='Obsoleto';//'Obsolete'; -$lang['ordering']='Ordenando';//'Ordering'; -$lang['substring_rule']='Regra de substring';//'Substring Rule'; -$lang['single_valued']='Avaliado sozinho';//'Single Valued'; -$lang['collective']='Coletivo';//'Collective'; -$lang['user_modification']='Alteração do usuário';//'User Modification'; -$lang['usage']='Uso';//'Usage'; -$lang['maximum_length']='Tamanho Máximo';//'Maximum Length'; -$lang['attributes']='Tipos de Atriburos';//'Attributes Types'; -$lang['syntaxes']='Sintaxes';//'Syntaxes'; -$lang['objectclasses']='Classe de Objetos';//'objectClasses'; -$lang['matchingrules']='Regra de consistência';//'Matching Rules'; -$lang['could_not_retrieve_schema_from']='Não foi possível encontrar esquema de';//'Could not retrieve schema from'; -$lang['type']='Tipo';// 'Type'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Objeto \'%s\' excluído com sucesso.';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Você deve especificar um DN';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Não foi possível excluir o objeto: %s';//'Could not delete the entry: %s'; -$lang['no_such_entry'] = 'Objeto inexistente: %s';//'No such entry: %s'; -$lang['delete_dn'] = 'Excluir %s';//'Delete %s'; -$lang['entry_is_root_sub_tree'] = 'Este objeto é a raiz de uma sub-árvore e contém %s objetos.';//'This entry is the root of a sub-tree containing %s entries.'; -$lang['view_entries'] = 'Ver objetos';//'view entries'; -$lang['confirm_recursive_delete'] = 'o phpLDAPadmin pode excluir recursivamente este objeto e todos %s filhos. Veja abaixo uma lista de todos os objetos que esta ação vai excluir. Deseja fazer isso?';//'phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?'; -$lang['confirm_recursive_delete_note'] = 'Nota: isto é potencialmente muito perigoso, faça isso por sua conta e risco. Esta operação não pode ser desfeita. Leve em consideração apelidos, referências e outras coisas que podem causar problemas.';//'Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems.'; -$lang['delete_all_x_objects'] = 'Excluir todos os %s objetos';//'Delete all %s objects'; -$lang['recursive_delete_progress'] = 'Progresso de exclusão recursiva';//'Recursive delete progress'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'Objeto %s e sub-árvore excluído com sucesso.';// 'Entry %s and sub-tree deleted successfully.'; -$lang['failed_to_delete_entry'] = 'Falha ao excluir objeto %s';//'Failed to delete entry %s'; - -// Deleting attributes -$lang['attr_is_read_only'] = 'O atributo %s está marcado como somente leitura na configuração do phpLDAPadmin.';//'The attribute "%s" is flagged as read-only in the phpLDAPadmin configuration.'; -$lang['no_attr_specified'] = 'Nome de atributo não especificado.';//'No attribute name specified.'; -$lang['no_dn_specified'] = 'DN não especificado';//'No DN specified'; - -// Adding attributes -$lang['left_attr_blank'] = 'Você deixou o valor do atributo vazio. Por favor retorne e tente novamente.';//'You left the attribute value blank. Please go back and try again.'; -$lang['failed_to_add_attr'] = 'Falha ao inserir o atributo.';//'Failed to add the attribute.'; -$lang['file_empty'] = 'O arquivo que você escolheu está vazio ou não existe. Por favor retorne e tente novamente.';//'The file you chose is either empty or does not exist. Please go back and try again.'; -$lang['invalid_file'] = 'Erro de segurança: O arquivo que está sendo carregado pode ser malicioso.';//'Security error: The file being uploaded may be malicious.'; -$lang['warning_file_uploads_disabled'] = 'Sua configuração do PHP desabilitou o upload de arquivos. Por favor verifique o php.ini antes de continuar.';//'Your PHP configuration has disabled file uploads. Please check php.ini before proceeding.'; -$lang['uploaded_file_too_big'] = 'O arquivo que você carregou é muito grande. Por favor verifique a configuração do upload_max_size no php.ini';//'The file you uploaded is too large. Please check php.ini, upload_max_size setting'; -$lang['uploaded_file_partial'] = 'O arquivo que você selecionou foi carregado parcialmente, provavelmente por causa de um erro de rede.';//'The file you selected was only partially uploaded, likley due to a network error.'; -$lang['max_file_size'] = 'Tamanho máximo de arquivo: %s';//'Maximum file size: %s'; - -// Updating values -$lang['modification_successful'] = 'Alteração bem sucedida!';//'Modification successful!'; -$lang['change_password_new_login'] = 'Você alterou sua senha, você deve conectar novamente com a sua nova senha.'; //'Since you changed your password, you must now login again with your new password.'; - - -// Adding objectClass form -$lang['new_required_attrs'] = 'Novos Atributos Obrigatórios';//'New Required Attributes'; -$lang['requires_to_add'] = 'Esta ação requer que você insira';//'This action requires you to add'; -$lang['new_attributes'] = 'novos atributos';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instruções: Para poder inserir esta Classe de Objetos a este objeto, você deve especificar';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'que esta Classe de Objetos requer. Você pode fazê-lo no formulário abaixo:';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Inserir Classe de Objetos e Atributos';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Clique para abrir uma janela e selecionar um objeto (DN) graficamente';//"Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Você não pode realizar atualizações enquanto o servidor estiver em modo somente leitura';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'ID do servidor inválido';//'Bad server id'; -$lang['not_enough_login_info'] = 'Informações insuficientes para a conexão com o servidor. Por favor verifique sua configuração.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Não foi possível conectar com o servidor LDAP.';//'Could not connect to LDAP server.'; -$lang['could_not_connect_to_host_on_port'] = 'Não foi possível conectar em "%s" na porta "%s"';//'Could not connect to "%s" on port "%s"'; -$lang['could_not_perform_ldap_mod_add'] = 'Não foi possível executar operação ldap_mod_add.';//'Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'server_id inválido: ';//"Bad server_id: '; -$lang['success'] = 'Sucesso';//"Success'; -$lang['server_colon_pare'] = 'Servidor: ';//"Server: '; -$lang['look_in'] = 'Procurando em: ';//"Looking in: '; -$lang['missing_server_id_in_query_string'] = 'ID do servidor não especificado na consulta!';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'DN não especificado na consulta!';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Backup...';//"Back Up...'; -$lang['no_entries'] = 'nenhum objeto';//"no entries'; -$lang['not_logged_in'] = 'Não conectado';//"Not logged in'; -$lang['could_not_det_base_dn'] = 'Não foi possível determinar a base DN';//"Could not determine base DN'; -$lang['reasons_for_error']='Isso pode ter acontecido por vários motivos, os mais provável são:';//'This could happen for several reasons, the most probable of which are:'; -$lang['please_report_this_as_a_bug']='Por favor informe isso como bug.';//'Please report this as a bug.'; -$lang['yes']='Sim';//'Yes' -$lang['no']='Não';//'No' -$lang['go']='Ir';//'go' -$lang['delete']='Excluir';//'Delete'; -$lang['back']='Voltar';//'Back'; -$lang['object']='objeto';//'object'; -$lang['delete_all']='Excluir tudo';//'Delete all'; -$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'dica';//'hint'; -$lang['bug'] = 'bug';//'bug'; -$lang['warning'] = 'aviso';//'warning'; -$lang['light'] = 'a palavra "light" de "light bulb"'; // the word 'light' from 'light bulb' -$lang['proceed_gt'] = 'Continuar >>';//'Proceed >>'; - - -// Add value form -$lang['add_new'] = 'Inserir novo';//'Add new'; -$lang['value_to'] = 'valor para';//'value to'; -//also used in copy_form.php -$lang['distinguished_name'] = 'Nome Distinto';// 'Distinguished Name'; -$lang['current_list_of'] = 'Lista atual de';//'Current list of'; -$lang['values_for_attribute'] = 'valores para atributo';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Nota: Você vai receber um erro de "inappropriate matching" se você não configurar uma regra de IGUALDADE no seu servidor LDAP para este atributo.'; //'Note: You will get an "inappropriate matching" error if you have not
    setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Entre com o valor que você quer inserir: ';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Nota: talvez seja solicitado que você entre com os atributos necessários para esta classe de objetos';//'Note: you may be required to enter new attributes
    that this objectClass requires.'; -$lang['syntax'] = 'Sintaxe';//'Syntax'; - -//Copy.php -$lang['copy_server_read_only'] = 'Você não pode realizar atualizações enquanto o servidor estiver em modo somente leitura';//"You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Você deixou o DN de destino vazio.';//"You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'O objeto de destino (%s) já existe.';//"The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'O container de destino (%s) não existe.';//'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'O DN de origem e destino são o mesmo.';//"The source and destination DN are the same.'; -$lang['copy_copying'] = 'Copiando ';//"Copying '; -$lang['copy_recursive_copy_progress'] = 'Progresso da cópia recursiva';//"Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Construindo a imagem da árvore a ser copiada...';//"Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Copiado com sucesso! Você gostaria de ';//"Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'ver o novo objeto';//"view the new entry'; -$lang['copy_failed'] = 'Falha ao copiar DN: ';//'Failed to copy DN: '; - - -//edit.php -$lang['missing_template_file'] = 'Aviso: arquivo modelo faltando, ';//'Warning: missing template file, '; -$lang['using_default'] = 'Usando o padrão.';//'Using default.'; -$lang['template'] = 'Modelo';//'Template'; -$lang['must_choose_template'] = 'Você deve escolher um modelo';//'You must choose a template'; -$lang['invalid_template'] = '%s é um modelo inválido';// '%s is an invalid template'; -$lang['using_template'] = 'usando o modelo';//'using template'; -$lang['go_to_dn'] = 'Ir para %s';//'Go to %s'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Copiar ';//"Copy '; -$lang['copyf_to_new_object'] = 'para um novo objeto';//"to a new object'; -$lang['copyf_dest_dn'] = 'DN de destino';//"Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'O DN completo do novo objeto que será criado a partir da cópia da origem';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Servidor de destino';//"Destination Server'; -$lang['copyf_note'] = 'Dica: Copiando entre diferentes servidores somente funciona se não houver violação de esquema';//"Note: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Copia recursivamente todos filhos deste objeto também.';//"Recursively copy all children of this object as well.'; -$lang['recursive_copy'] = 'Cópia Recursiva';//'Recursive copy'; -$lang['filter'] = 'Filtro';//'Filter'; -$lang['filter_tooltip'] = 'Quando executar uma cópia recursiva, copiar somente os objetos que atendem a este filtro';// 'When performing a recursive copy, only copy those entries which match this filter'; - - -//create.php -$lang['create_required_attribute'] = 'Você deixou vazio o valor de um atributo obrigatório (%s).';//"Error, you left the value blank for required attribute '; -$lang['redirecting'] = 'Redirecionando...';//"Redirecting'; moved from create_redirection -> redirection -$lang['here'] = 'aqui';//"here'; renamed vom create_here -> here -$lang['create_could_not_add'] = 'Não foi possível inserir o objeto no servidor LDAP.';//"Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Criar Objeto';//"Create Object'; -$lang['createf_choose_temp'] = 'Escolher um modelo';//"Choose a template'; -$lang['createf_select_temp'] = 'Selecionar um modelo para o processo de criação';//"Select a template for the creation process'; -$lang['createf_proceed'] = 'Prosseguir';//"Proceed >>'; -$lang['rdn_field_blank'] = 'Você deixou o campo RDN vazio.';//'You left the RDN field blank.'; -$lang['container_does_not_exist'] = 'O container que você especificou (%s) não existe. Por favor tente novamente.';// 'The container you specified (%s) does not exist. Please try again.'; -$lang['no_objectclasses_selected'] = 'Você não selecionou nenhuma Classe de Objetos para este objeto. Por favor volte e faça isso.';//'You did not select any ObjectClasses for this object. Please go back and do so.'; -$lang['hint_structural_oclass'] = 'Dica: Você deve escolher pelo menos uma Classe de Objetos estrutural';//'Hint: You must choose at least one structural objectClass'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'No servidor';//"On server'; -$lang['ctemplate_no_template'] = 'Nenhum modelo especificado.';//"No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Seu arquivo de configuração determina que o modelo';//"Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'é válido. Porém este modelo não existe no diretório "templates/creation".';//"for this template. But, this handler does not exist in the 'templates/creation' directory.'; -$lang['create_step1'] = 'Passo 1 de 2: Nome e Classe(s) de Objetos';//'Step 1 of 2: Name and ObjectClass(es)'; -$lang['create_step2'] = 'Passo 2 de 2: Especifica atributos e valores';//'Step 2 of 2: Specify attributes and values'; -$lang['relative_distinguished_name'] = 'Nome Distinto Relativo';//'Relative Distinguished Name'; -$lang['rdn'] = 'RDN';//'RDN'; -$lang['rdn_example'] = 'exemplo: cn=MinhaNovaPessoa';//'(example: cn=MyNewPerson)'; -$lang['container'] = 'Container';//'Container'; - - -// search.php -$lang['you_have_not_logged_into_server'] = 'Você não conectou no servidor selecionado ainda, assim, você não pode realizar buscas nele.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Clique aqui para conectar-se ao servidor';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Critério desconhecido: ';// 'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Se você quer inserir seus próprios critérios à lista. Certifique-se de editar o search.php para tratá-los. Saindo.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Objetos encontrados: ';//'Entries found: '; -$lang['filter_performed'] = 'Filtro aplicado: ';//'Filter performed: '; -$lang['search_duration'] = 'Busca realizada pelo phpLDAPadmin em';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'segundos';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'O escopo no qual procurar';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (toda a sub-árvore)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (um nível de profundidade)';//'One (one level beneath base)'; -$lang['scope_base'] = 'Base (apenas a base dn)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Filtro de busca LDAP padrão. Exemplo: (&(sn=Silva)(givenname=Pedro))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Filtro de Busca';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'A lista de atributos que devem ser mostrados nos resultados (separados por vírgula)';//'A list of attributes to display in the results (comma-separated)'; - -// search_form_simple.php -$lang['starts with'] = 'inicia com';//'starts with'; -$lang['ends with'] = 'termina com';//'ends with'; -$lang['sounds like'] = 'é semelhante a';//'sounds like'; - - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Não foi possível obter informação LDAP do servidor';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Informações do servidor: ';//'Server info for: '; -$lang['server_reports_following'] = 'O servidor forneceu a seguinte informação sobre si mesmo';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Este servidor não tem nada a informar';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array danificado. Isto pode ser um bug do phpLDAPadmin. Por favor informe.';//'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Não foi possível realizar a operação ldap_modify.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Você confirma estas alterações?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Atributo';//'Attribute'; -$lang['old_value'] = 'Valor Antigo';//'Old Value'; -$lang['new_value'] = 'Valor Novo';//'New Value'; -$lang['attr_deleted'] = '[atributo excluído]';//'[attribute deleted]'; -$lang['commit'] = 'Confirmar';//'Commit'; -$lang['cancel'] = 'Cancelar';//'Cancel'; -$lang['you_made_no_changes'] = 'Você não fez alterações';//'You made no changes'; -$lang['go_back'] = 'Voltar';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Use o menu à esquerda para navegar';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Créditos';//'Credits'; -$lang['changelog'] = 'Log de Alterações';//'ChangeLog'; -$lang['donate'] = 'Contribuir';//'Donate'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Nome de arquivo inseguro: ';//'Unsafe file name: '; -$lang['no_such_file'] = 'Arquivo inexistente: ';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Você habilitou auto_uid_numbers para %s na sua configuração, mas você não especificou auto_uid_number_mechanism. Por favor corrija este problema.';//"You have enabled auto_uid_numbers for %s in your configuration, but you have not specified the auto_uid_number_mechanism. Please correct this problem.'; -$lang['uidpool_not_set'] = 'Você especificou o "auto_uid_number_mechanism" como "uidpool" na sua configuração para o servidor %s, mas você não especificou o audo_uid_number_uid_pool_dn. Por favor especifique-o antes de continuar.';//"You specified the auto_uid_number_mechanism as uidpool in your configuration for server %s, but you did not specify the audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'Parece que o uidPool que você especificou na sua configuração (%s) não existe.';//"It appears that the uidPool you specified in your configuration (%s) does not exist.'; -$lang['specified_uidpool'] = 'Você especificou o "auto_uid_number_mechanism" como "busca" na sua configuração para o servidor %s, mas você não especificou o "auto_uid_number_search_base". Por favor especifique-o antes de continuar.';//"You specified the auto_uid_number_mechanism as search in your configuration for server %s, but you did not specify the auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['auto_uid_invalid_credential'] = 'Problema ao conectar ao %s com as suas credenciais auto_uid. Por favor verifique seu arquivo de configuração.';// 'Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'; -$lang['bad_auto_uid_search_base'] = 'Sua configuração do phpLDAPadmin especifica que o auto_uid_search_base é inválido para o servidor %s';//'Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'; -$lang['auto_uid_invalid_value'] = 'Você especificou um valor inválido para auto_uid_number_mechanism ("%s") na sua configuração. Somente "uidpool" e "busca" são válidos. Por favor corrija este problema.';//"You specified an invalid value for auto_uid_number_mechanism (%s) in your configration. Only uidpool and search are valid. Please correct this problem.'; - -$lang['error_auth_type_config'] = 'Erro: Você tem um erro no seu arquivo de configuração. Os dois únicos valores permitidos para auth_type na seção $servers são \'config\' e \'form\'. Você entrou \'%s\', que não é permitido.';//"Error: You have an error in your config file. The only two allowed values for 'auth_type' in the $servers section are 'config' and 'form'. You entered '%s', which is not allowed. '; - -$lang['php_install_not_supports_tls'] = 'Sua instalação do PHP não suporta TLS';//"Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Impossível iniciar TLS. Por favor verifique a configuração do servidor LDAP.';//"Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['could_not_bind_anon'] = 'Não foi possível conectar ao servidor anonimamente.';//'Could not bind anonymously to server.'; -$lang['could_not_bind'] = 'Não foi possível conectar ao servidor LDAP.';//'Could not bind to the LDAP server.'; -$lang['anonymous_bind'] = 'Conexão anônima';//'Anonymous Bind'; -$lang['bad_user_name_or_password'] = 'Usuário ou senha inválido. Por favor tente novamente.';//'Bad username or password. Please try again.'; -$lang['redirecting_click_if_nothing_happens'] = 'Redirecionando... Clique aqui se nada acontecer.';//'Redirecting... Click here if nothing happens.'; -$lang['successfully_logged_in_to_server'] = 'Conexão estabelecida com sucesso no sevidor %s';//'Successfully logged into server %s'; -$lang['could_not_set_cookie'] = 'Não foi possível criar o cookie.';//'Could not set cookie.'; -$lang['ldap_said'] = 'O servidor LDAP respondeu: %s';//"LDAP said: %s

    '; -$lang['ferror_error'] = 'Erro';//"Error'; -$lang['fbrowse'] = 'procurar';//"browse'; -$lang['delete_photo'] = 'Excluir imagem';//"Delete Photo'; -$lang['install_not_support_blowfish'] = 'Sua instalação do PHP não suporta codificação blowfish.';//"Your PHP install does not support blowfish encryption.'; -$lang['install_not_support_md5crypt'] = 'Sua instalação do PHP não suporta codificação md5crypt.';//'Your PHP install does not support md5crypt encryption.'; -$lang['install_no_mash'] = 'Sua instalação do PHP não tem a função mhash(). Impossível fazer transformações SHA.';// "Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'Foto jpeg contém erros
    ';//"jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Erro número: %s (%s)';//"Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Descrição: %s

    ';// "Description: %s

    '; -$lang['ferror_number_short'] = 'Erro número: %s

    ';//"Error number: %s

    '; -$lang['ferror_discription_short'] = 'Descrição: (descrição não disponível
    ';//"Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'Isto é um bug do phpLDAPadmin? Se for, por favor informe.';//"Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Número do erro desconhecido: ';//"Unrecognized error number: '; - -$lang['ferror_nonfatil_bug'] = '
    Você encontrou um bug não-fatal no phpLDAPadmin!
    Erro:%s (%s)
    Arquivo:%s linha %s, solicitante %s
    Versão:PLA: %s, PHP: %s, SAPI: %s
    Servidor Web:%s
    Por favor informe este bug clicando aqui.

    ';//"
    You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = 'Parabéns! Você encontrou um bug no phpLDAPadmin.

    Erro:%s
    Nível:%s
    Arquivo:%s
    Linha:%s
    Caller:%s
    PLA Vers&atile;o:%s
    PHP Vers&atile;o:%s
    PHP SAPI:%s
    Servidor Web:%s

    Por favor informe o bug clicando abaixo!';//"Congratulations! You found a bug in phpLDAPadmin.

    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s

    Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importar arquivo LDIF';//'Import LDIF File'; -$lang['select_ldif_file'] = 'Selecionar um arquivo LDIF';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Continuar >>';//'Proceed >>'; -$lang['dont_stop_on_errors'] = 'Não parar quando der erro';//'Don\'t stop on errors'; - -//ldif_import -$lang['add_action'] = 'Inserindo...';//'Adding...'; -$lang['delete_action'] = 'Deletando...';//'Deleting...'; -$lang['rename_action'] = 'Renomeando...';//'Renaming...'; -$lang['modify_action'] = 'Alterando...';//'Modifying...'; -$lang['warning_no_ldif_version_found'] = 'Nenhuma versão encontrada. Assumindo 1.';//'No version found. Assuming 1.'; -$lang['valid_dn_line_required'] = 'Uma linha dn válida é obrigatória.';//'A valid dn line is required.'; -$lang['missing_uploaded_file'] = 'Arquivo carregado perdido.';//'Missing uploaded file.'; -$lang['no_ldif_file_specified.'] = 'Nenhum arquivo LDIF especificado. Por favor tente novamente.';//'No LDIF file specified. Please try again.'; -$lang['ldif_file_empty'] = 'Arquivo LDIF carregado está vazio.';// 'Uploaded LDIF file is empty.'; -$lang['empty'] = 'vazio';//'empty'; -$lang['file'] = 'Arquivo';//'File'; -$lang['number_bytes'] = '%s bytes';//'%s bytes'; - -$lang['failed'] = 'Falhou';//'failed'; -$lang['ldif_parse_error'] = 'Erro Analisando Arquivo LDIF';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Não foi possível inserir objeto:';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Não foi possível renomear objeto:';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Não foi possível excluir objeto:';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Não foi possível alterar objeto:';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Linha Número:';//'Line Number:'; -$lang['ldif_line'] = 'Linha:';//'Line:'; - -//delete_form -$lang['sure_permanent_delete_object']='Você tem certeza que deseja excluir este objeto permanentemente?';//'Are you sure you want to permanently delete this object?'; -$lang['permanently_delete_children']='Exluir permanentemente todos os objetos filho também?';//'Permanently delete all children also?'; - -$lang['list_of_entries_to_be_deleted'] = 'Lista de objetos a serem deletados: ';//'List of entries to be deleted:'; -$lang['dn'] = 'DN'; //'DN'; - -// Exports -$lang['export_format'] = 'Formato para exportar';// 'Export format'; -$lang['line_ends'] = 'Fins de linha'; //'Line ends'; -$lang['must_choose_export_format'] = 'Você deve especificar um formato para exportar';//'You must choose an export format.'; -$lang['invalid_export_format'] = 'Formato para exportação inválido';//'Invalid export format'; -$lang['no_exporter_found'] = 'Nenhum exportador de arquivos encontrado.';//'No available exporter found.'; -$lang['error_performing_search'] = 'Erro encontrado enquanto fazia a pesquisa.';//'Encountered an error while performing search.'; -$lang['showing_results_x_through_y'] = 'Mostrando resultados %s através %s.';//'Showing results %s through %s.'; -$lang['searching'] = 'Pesquisando...';//'Searching...'; -$lang['size_limit_exceeded'] = 'Aviso, limite da pesquisa excedido.';//'Notice, search size limit exceeded.'; -$lang['entry'] = 'Objeto';//'Entry'; -$lang['ldif_export_for_dn'] = 'Exportação LDIF para: %s'; //'LDIF Export for: %s'; -$lang['generated_on_date'] = 'Gerado pelo phpLDAPadmin no %s';//'Generated by phpLDAPadmin on %s'; -$lang['total_entries'] = 'Total de objetos';//'Total Entries'; -$lang['dsml_export_for_dn'] = 'Exportação DSLM para: %s';//'DSLM Export for: %s'; - -// logins -$lang['could_not_find_user'] = 'Não foi possível encontrar o usuário "%s"';//'Could not find a user "%s"'; -$lang['password_blank'] = 'Você deixou a senha vazia.';//'You left the password blank.'; -$lang['login_cancelled'] = 'Login cancelado.';//'Login cancelled.'; -$lang['no_one_logged_in'] = 'Ninguém está conectado neste servidor.';//'No one is logged in to that server.'; -$lang['could_not_logout'] = 'Não foi possível desconectar.';//'Could not logout.'; -$lang['unknown_auth_type'] = 'auth_type desconhecido: %s';//'Unknown auth_type: %s'; -$lang['logged_out_successfully'] = 'Desconectado com sucesso do servidor %s';//'Logged out successfully from server %s'; -$lang['authenticate_to_server'] = 'Autenticar no servidor %s';//'Authenticate to server %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Aviso: Esta conexão NÃO é criptografada.';//'Warning: This web connection is unencrypted.'; -$lang['not_using_https'] = 'Você não está usando \'https\'. O navegador internet vai transmitir as informações de login sem criptografar.';// 'You are not use \'https\'. Web browser will transmit login information in clear text.'; -$lang['login_dn'] = 'Login DN';//'Login DN'; -$lang['user_name'] = 'Nome de usuário';//'User name'; -$lang['password'] = 'Senha';//'Password'; -$lang['authenticate'] = 'Autenticar';//'Authenticate'; - -// Entry browser -$lang['entry_chooser_title'] = 'Selecionador de objeto';//'Entry Chooser'; - -// Index page -$lang['need_to_configure'] = 'Você deve configurar o phpLDAPadmin. Faça isso editando o arquivo \'config.php\'. Um arquivo de exemplo é fornecido em \'config.php.example\'';// ';//'You need to configure phpLDAPadmin. Edit the file \'config.php\' to do so. An example config file is provided in \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Exclusões não permitidas no modo somente leitura.';//'Deletes not allowed in read only mode.'; -$lang['error_calling_mass_delete'] = 'Erro chamando mass_delete.php. Faltando mass_delete nas variáveis POST.';//'Error calling mass_delete.php. Missing mass_delete in POST vars.'; -$lang['mass_delete_not_array'] = 'a variável POST mass_delete não é um conjunto';//'mass_delete POST var is not an array.'; -$lang['mass_delete_not_enabled'] = 'Exclusão em massa não habilitada. Por favor habilite-a no arquivo config.php antes de continuar';//'Mass deletion is not enabled. Please enable it in config.php before proceeding.'; -$lang['mass_deleting'] = 'Exclusão em massa';//'Mass Deleting'; -$lang['mass_delete_progress'] = 'Progresso da exclusão no servidor "%s"';//'Deletion progress on server "%s"'; -$lang['malformed_mass_delete_array'] = 'Conjunto mass_delete danificado.';//'Malformed mass_delete array.'; -$lang['no_entries_to_delete'] = 'Você não selecionou nenhum objeto para excluir';//'You did not select any entries to delete.'; -$lang['deleting_dn'] = 'Excluindo %s';//'Deleting %s'; -$lang['total_entries_failed'] = '%s de %s objetos falharam na exclusão.';//'%s of %s entries failed to be deleted.'; -$lang['all_entries_successful'] = 'Todos objetos foram excluídos com sucesso.';//'All entries deleted successfully.'; -$lang['confirm_mass_delete'] = 'Confirme exclusão em massa de %s objetos no servidor %s';//'Confirm mass delete of %s entries on server %s'; -$lang['yes_delete'] = 'Sim, excluir!';//'Yes, delete!'; - - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Você não pode renomear um objeto que tem objetos filhos (isto é, a operação de renomear não é permitida em objetos não-folha)';// 'You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)'; -$lang['no_rdn_change'] = 'Você não alterou o RDN';//'You did not change the RDN'; -$lang['invalid_rdn'] = 'Valor RDN inválido';//'Invalid RDN value'; -$lang['could_not_rename'] = 'Não foi possível renomear o objeto';//'Could not rename the entry'; - - -?> diff --git a/lang/recoded/ru.php b/lang/recoded/ru.php deleted file mode 100644 index 1cf4f18..0000000 --- a/lang/recoded/ru.php +++ /dev/null @@ -1,535 +0,0 @@ -%s в Вашей конфигурации, - но Вы не указали auto_uid_number_mechanism. Пожалуйста исправьте эту проблему.'; -$lang['uidpool_not_set'] = 'Вы указали "auto_uid_number_mechanism" как "uidpool" - в Вашей конфигурации для сервера %s, но не указали - audo_uid_number_uid_pool_dn. Исправьте это перед тем как продолжить.'; -$lang['uidpool_not_exist'] = 'Похоже что uidPool, который Вы указали в Вашей конфигурации ("%s") - не существует.'; -$lang['specified_uidpool'] = 'Вы указали "auto_uid_number_mechanism" как "search" в Вашей кофигурации - для сервера %s, но не указали - "auto_uid_number_search_base". Исправьте это перед тем как продолжить.'; -$lang['auto_uid_invalid_credential'] = 'Не могу привязаться к %s с Вашими auto_uid данными. Проверьте Ваш файл конфигурации.'; -$lang['bad_auto_uid_search_base'] = 'В Вашей конфигурации phpLDAPadmin указано неверное значение для auto_uid_search_base для сервера %s'; -$lang['auto_uid_invalid_value'] = 'Вы указали неверное значение для auto_uid_number_mechanism ("%s") - в Вашей конфигурации. Возможны только "uidpool" и "search". - Пожалуйста исправьте эту проблему.'; -$lang['error_auth_type_config'] = 'Ошибка: В Вашем конфигурационном файле ошибка. Единственные три допустимых значения - для auth_type в секции $servers - \'session\', \'cookie\', и \'config\'. Вы ввели \'%s\', - что недопустимо. '; -$lang['php_install_not_supports_tls'] = 'Ваша установленная версия PHP не поддерживает TLS.'; -$lang['could_not_start_tls'] = 'Не могу запустить TLS. Проверьте конфигурацию Вашего LDAP-сервера.'; -$lang['could_not_bind_anon'] = 'Не могу анонимно привязаться к серверу.'; -$lang['could_not_bind'] = 'Не удалось привязаться к LDAP-серверу.'; -$lang['anonymous_bind'] = 'Анонимная привязка'; -$lang['bad_user_name_or_password'] = 'Неверное имя или пароль. Попробуйте еще раз.'; -$lang['redirecting_click_if_nothing_happens'] = 'Перенапрявляю... Нажмите здесь, если ничего не происходит.'; -$lang['successfully_logged_in_to_server'] = 'Успешно вошли на сервер %s'; -$lang['could_not_set_cookie'] = 'Не удалось установить cookie.'; -$lang['ldap_said'] = 'LDAP ответил: %s'; -$lang['ferror_error'] = 'Ошибка'; -$lang['fbrowse'] = 'просмотр'; -$lang['delete_photo'] = 'Удалить фотографию'; -$lang['install_not_support_blowfish'] = 'Ваша установленная версия PHP не поддерживает шифрование blowfish.'; -$lang['install_not_support_md5crypt'] = 'Ваша установленная версия PHP не поддерживает шифрование md5crypt.'; -$lang['install_no_mash'] = 'Ваша установленная версия PHP не имеет функцию mhash(). Не могу создать хэши SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto содержит ошибки
    '; -$lang['ferror_number'] = 'Номер ошибки: %s (%s)'; -$lang['ferror_discription'] = 'Описание: %s

    '; -$lang['ferror_number_short'] = 'Номер ошибки: %s

    '; -$lang['ferror_discription_short'] = 'Описание: (нет описания)
    '; -$lang['ferror_submit_bug'] = 'Если это ошибка phpLDAPadmin - пожалуйста, сообщите о ней.'; -$lang['ferror_unrecognized_num'] = 'Нераспознанная ошибка: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Вы нашли нефатальную ошибку phpLDAPadmin!
    Ошибка:%s (%s)
    Файл:%s строка %s, вызвано %s
    Версии:PLA: %s, PHP: %s, SAPI: %s -
    Web сервер:%s
    - Сообщите об этой ошибке нажав здесь.

    '; -$lang['ferror_congrats_found_bug'] = 'Поздравляем! Вы нашли ошибку в phpLDAPadmin.

    - - - - - - - - - - -
    Ошибка:%s
    Уровень:%s
    Файл:%s
    Строка:%s
    Вызвано:%s
    PLA Версия:%s
    PHP Версия:%s
    PHP SAPI:%s
    Web сервер:%s
    -
    - Сообщите об этой ошибке нажав ниже!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Иморт LDIF файла'; -$lang['select_ldif_file'] = 'Выберите LDIF файл:'; -$lang['select_ldif_file_proceed'] = 'Далее >>'; -$lang['dont_stop_on_errors'] = 'Не останавливаться на ошибках'; - -//ldif_import -$lang['add_action'] = 'Добавляю...'; -$lang['delete_action'] = 'Удаляю...'; -$lang['rename_action'] = 'Переименовываю...'; -$lang['modify_action'] = 'Изменяю...'; -$lang['warning_no_ldif_version_found'] = 'Не найдено номера версии. Предполагаю 1.'; -$lang['valid_dn_line_required'] = 'Требуется правильная строка с dn.'; -$lang['missing_uploaded_file'] = 'Отсутствует загруженный файл.'; -$lang['no_ldif_file_specified.'] = 'не указан LDIF файл. Попробуйте еще раз.'; -$lang['ldif_file_empty'] = 'Загруженный LDIF файл пуст.'; -$lang['empty'] = 'пуст'; -$lang['file'] = 'Файл'; -$lang['number_bytes'] = '%s байт'; - -$lang['failed'] = 'Не удалось'; -$lang['ldif_parse_error'] = 'Ошибка интерпретации LDIF файла'; -$lang['ldif_could_not_add_object'] = 'Не удалось добавить объект:'; -$lang['ldif_could_not_rename_object'] = 'Не удалось переименовать объект:'; -$lang['ldif_could_not_delete_object'] = 'Не удалось удалить объект:'; -$lang['ldif_could_not_modify_object'] = 'Не удалось изменить объект:'; -$lang['ldif_line_number'] = 'Номер строки:'; -$lang['ldif_line'] = 'Строка:'; - -// Exports -$lang['export_format'] = 'Формат экспорта'; -$lang['line_ends'] = 'Конец строки'; -$lang['must_choose_export_format'] = 'Вы должны выбрать формат экспорта.'; -$lang['invalid_export_format'] = 'Неверный формат экспорта'; -$lang['no_exporter_found'] = 'Нет доступных экспортеров.'; -$lang['error_performing_search'] = 'Произошла ошибка во время поиска.'; -$lang['showing_results_x_through_y'] = 'Показываю результаты с %s по %s.'; -$lang['searching'] = 'Поиск...'; -$lang['size_limit_exceeded'] = 'Внимание, превышен размер поиска.'; -$lang['entry'] = 'Запись'; -$lang['ldif_export_for_dn'] = 'LDIF экспорт для: %s'; -$lang['generated_on_date'] = 'Сгенерировано phpLDAPadmin %s'; -$lang['total_entries'] = 'Всего записей'; -$lang['dsml_export_for_dn'] = 'DSLM экспорт для: %s'; - -// logins -$lang['could_not_find_user'] = 'Не могу найти пользователя "%s"'; -$lang['password_blank'] = 'Вы не ввели пароль.'; -$lang['login_cancelled'] = 'Вход отменен.'; -$lang['no_one_logged_in'] = 'На этом сервере сейчас никого нет.'; -$lang['could_not_logout'] = 'Не удалось выйти.'; -$lang['unknown_auth_type'] = 'Неизвестный auth_type: %s'; -$lang['logged_out_successfully'] = 'Успешно вышли с сервера %s'; -$lang['authenticate_to_server'] = 'Авторизация на сервере %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Предупреждение: Это web-соединение нешифровано.'; -$lang['not_using_https'] = 'Вы не используете \'https\'. Web-браузер передает авторизационные данные открытым текстом.'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'Имя пользователя'; -$lang['password'] = 'Пароль'; -$lang['authenticate'] = 'Авторизация'; - -// Entry browser -$lang['entry_chooser_title'] = 'Выбор записи'; - -// Index page -$lang['need_to_configure'] = 'Вам надо сконфигурировать phpLDAPadmin. Отредактируйте файл \'config.php\'. Примерный файл настроек - \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Удаление невозможно в режиме "только для чтения".'; -$lang['error_calling_mass_delete'] = 'Ошибка вызова mass_delete.php. Отсутствует mass_delete в POST переменных.'; -$lang['mass_delete_not_array'] = 'POST переменная mass_delete не в массиве.'; -$lang['mass_delete_not_enabled'] = 'Массовое удаление не разрешено. Испровьте это в config.php перед тем как продолжить.'; -$lang['mass_deleting'] = 'Массовое удаление'; -$lang['mass_delete_progress'] = 'Прогресс удаления на сервере "%s"'; -$lang['malformed_mass_delete_array'] = 'Неправильно сформированный массив mass_delete.'; -$lang['no_entries_to_delete'] = 'Вы не выбрали ни одной записи для удаления.'; -$lang['deleting_dn'] = 'Удаляю %s'; -$lang['total_entries_failed'] = 'Не удалось удалить %s из %s записей.'; -$lang['all_entries_successful'] = 'Все записи успешно удалены.'; -$lang['confirm_mass_delete'] = 'Подтвердите массовое удаление %s записей на сервере %s'; -$lang['yes_delete'] = 'Да, удалить!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Вы не можете переименовать запись, которая имеет потомков (т.е., операция переименования не допустима для дерева)'; -$lang['no_rdn_change'] = 'Вы не изменили RDN'; -$lang['invalid_rdn'] = 'Неверное значение RDN'; -$lang['could_not_rename'] = 'Не удалось переименовать запись'; - -?> diff --git a/lang/recoded/sv.php b/lang/recoded/sv.php deleted file mode 100644 index 32b9e91..0000000 --- a/lang/recoded/sv.php +++ /dev/null @@ -1,387 +0,0 @@ - - * based on 0.9.3 Version - -*/ - -// Search form -$lang['simple_search_form_str'] = 'Enkel sökning';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Expertsökning';//'Advanced Search Form'; -$lang['server'] = 'Server';//'Server'; -$lang['search_for_entries_whose'] = 'Sök efter rader som';//'Search for entries whose'; -$lang['base_dn'] = 'Base DN';//'Base DN'; -$lang['search_scope'] = 'Sökomfång';//Search Scope'; -$lang['search_ filter'] = 'Sökfilter';//'Search Filter'; -$lang['show_attributes'] = 'Visa attribut';//'Show Attributtes'; -$lang['Search'] = 'Sök';// 'Search'; -$lang['equals'] = 'lika med';//'equals'; -$lang['starts_with'] = 'Börjar med';//'starts with'; -$lang['contains'] = 'innehåller';//'contains'; -$lang['ends_with'] = 'slutar med';//'ends with'; -$lang['sounds_like'] = 'låter som';//'sounds like'; - -// Tree browser -$lang['request_new_feature'] = 'Begär en ny funktion';//'Request a new feature'; -$lang['see_open_requests'] = 'Se öppna förfrågningar';//'see open requests'; -$lang['report_bug'] = 'Rapportera ett fel';//'Report a bug'; -$lang['see_open_bugs'] = 'Se öppna felrapporter';//'see open bugs'; -$lang['schema'] = 'schema';//'schema'; -$lang['search'] = 'sökning';//'search'; -$lang['create'] = 'skapa';//'create'; -$lang['info'] = 'information';//'info'; -$lang['import'] = 'importera';//'import'; -$lang['refresh'] = 'uppdatera';//'refresh'; -$lang['logout'] = 'logga ut';//'logout'; -$lang['create_new'] = 'Skapa ny';//'Create New'; -$lang['view_schema_for'] = 'Titta på schema för';//'View schema for'; -$lang['refresh_expanded_containers'] = 'Uppdatera alla öpnna behållare för';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Skapa en ny post för';//'Create a new entry on'; -$lang['view_server_info'] = 'Titta på information som servern tillhandahållit';//'View server-supplied information'; -$lang['import_from_ldif'] = 'Importera rader från LDIF file';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Logga ut från den här servern';//'Logout of this server'; -$lang['logged_in_as'] = '/Inloggad som';//'Logged in as: '; -$lang['read_only'] = 'Enbart läsning';//'read only'; -$lang['could_not_determine_root'] = 'Kan inte bestämma roten för ditt LDAP träd';//'Could not determine the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Det ser ut som om LDAP-servern har konfigurerats att inte avslöja sin rot.';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Var snäll och specificera i config.php';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Skapa en ny post i';//'Create a new entry in'; -$lang['login_link'] = 'Logga in...';//'Login...'; - -// Entry display -$lang['delete_this_entry'] = 'Ta bort den här posten';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Du kommer att bli tillfrågad för att konfirmera det här beslutet';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'Kopiera den här posten';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Kopiera det här objektet till en annan plats, ett nytt DN, eller en annan server';//'Copy this object to another location, a new DN, or another server'; -$lang['export_to_ldif'] = 'Exportera till LDIF';//'Export to LDIF'; -$lang['export_to_ldif_tooltip'] = 'Spara en LDIF kopia av detta objekt';//'Save an LDIF dump of this object'; -$lang['export_subtree_to_ldif_tooltip'] = 'Spara en LDIF kopia av detta objekt och alla dess underobjekt';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree_to_ldif'] = 'Exportera subträdet till LDIF';//'Export subtree to LDIF'; -$lang['export_to_ldif_mac'] = 'Radslut enligt Macintosh-standard';// 'Macintosh style line ends'; -$lang['export_to_ldif_win'] = 'Radslut enligt Windows-standard';//'Windows style line ends'; -$lang['export_to_ldif_unix'] = 'Radslut enligt Unix-standard';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'Skapa en subpost';//'Create a child entry'; -$lang['add_a_jpeg_photo'] = 'Lägg till ett JPEG-foto';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'Döp om posten';//'Rename Entry'; -$lang['rename'] = 'Döp om ';//'Rename'; -$lang['add'] = 'Lägg till';//'Add'; -$lang['view'] = 'Titta';//'View'; -$lang['add_new_attribute'] = 'Lägg till ett nytt attribut';//'Add New Attribute'; -$lang['add_new_attribute_tooltip'] = 'Lägg till ett nytt attribut/värde till denna post';//'Add a new attribute/value to this entry'; -$lang['internal_attributes'] = 'Interna attribut';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'Göm interna attribut';//'Hide internal attributes'; -$lang['show_internal_attrs'] ='Visa interna attribut';// 'Show internal attributes'; -$lang['internal_attrs_tooltip'] = 'Attribut som sätts automatiskt av systemet';//'Attributes set automatically by the system'; -$lang['entry_attributes'] = 'Ingångsattribut';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'Klicka för att titta på schemadefinitionen för attributtyp \'%s\'';//'Click to view the schema defintion for attribute type \'%s\''; -$lang['click_to_display'] = 'klicka\'+\' för att visa';// 'click \'+\' to display'; -$lang['hidden'] = 'gömda';//'hidden'; -$lang['none'] = 'inget';//'none'; -$lang['save_changes'] = 'Spara ändringar';//'Save Changes'; -$lang['add_value'] = 'lägg till värde';//'add value'; -$lang['add_value_tooltip'] = 'Lägg till ett ytterligare värde till attribut \'%s\''; // 'Add an additional value to attribute \'%s\''; -$lang['refresh_entry'] = 'Uppdatera';//'Refresh'; -$lang['refresh_this_entry'] = 'Uppdatera denna post';//'Refresh this entry'; -$lang['delete_hint'] = 'Tips: För att ta bort ett attribut, ta bort all text i textfältet och klicka \'Spara ändringar\'.'; 'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tips: För att titta på ett attributs schema, klicka på attributnamnet';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Några attribut var ändrade och är markerade nedan.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Ett attribut var ändrat och är markerat nedan.';//An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Titta på en post med enbart lästiilstånd';//'Viewing entry in read-only mode.'; -$lang['change_entry_rdn'] = 'ändra denna posts RDN';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'inga nya attribut tillgängliga för denna post';//'no new attributes available for this entry'; -$lang['binary_value'] = 'Binärt värde';//'Binary value'; -$lang['add_new_binary_attr'] = 'Lägg till nytt binärt attribut';//'Add New Binary Attribute'; -$lang['add_new_binary_attr_tooltip'] = 'Lägg till nytt binärt attribut/värde från en fil';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'Observera: \'%s\' är ett alias for \'%s\'';//'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'ladda ner värde';//'download value'; -$lang['delete_attribute'] = 'ta bort attribut';//'delete attribute'; -$lang['true'] = 'Sant';//'true'; -$lang['false'] = 'Falskt';//'false'; -$lang['none_remove_value'] = 'inget, ta bort värdet';//'none, remove value'; -$lang['really_delete_attribute'] = 'Ta definitivt bort värdet';//'Really delete attribute'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Följande objektklasser stöds av denna LDAP server.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Följande attributtyper stöds av denna LDAP server.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Följande matchningsregler stöds av denna LDAP server.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Följande syntax stöds av denna LDAP server.';//'The following syntaxes are supported by this LDAP server.'; -$lang['jump_to_objectclass'] = 'Välj en objectClass';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Välj en attributtyp';//'Jump to an attribute type'; -$lang['schema_for_server'] = 'Schema för servern';//'Schema for server'; -$lang['required_attrs'] = 'Nödvändiga attribut';//'Required Attributes'; -$lang['optional_attrs'] = 'Valfria attribut';//'Optional Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['desc'] = 'Beskrivning';//'Description'; -$lang['name'] = 'Namn';//'Name'; -$lang['is_obsolete'] = 'Denna objectClass är föråldrad';//'This objectClass is obsolete'; -$lang['inherits'] = 'ärver';//'Inherits'; -$lang['jump_to_this_oclass'] = 'Gå till definitionen av denna objectClass';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Matchande regel-OID';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax-OID';//'Syntax OID'; -$lang['not_applicable'] = 'inte tillämplig';//'not applicable'; -$lang['not_specified'] = 'inte specificerad';//'not specified'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Borttagning av posten \'%s\' lyckades';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Du måste specificera ett DN';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Det gick inte att ta bort posten';//'Could not delete the entry: %s'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nya nödvändiga attribut';//'New Required Attributes'; -$lang['requires_to_add'] = 'Den här åtgärden kräver att du lägger till';//'This action requires you to add'; -$lang['new_attributes'] = 'nya attribut';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instruktioner: För att kunna lägga till objektklassen till denna post, måste du specificera';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'att objektklassen kräver. Det kan göras i detta formulär.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Lägg till objektklass och attribut';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Klicka för att öppna ett fönster för att välja ett grafiskt.';//'Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Du kan inte göra uppdateringar medan servern är i lästillstånd';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Felaktigt server-id';//'Bad server id'; -$lang['not_enough_login_info'] = 'Det saknas information för att logga in på servern. Var vänlig och kontrollera din konfiguration.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Det gick inte att ansluta till LDAP-servern.';//'Could not connect to LDAP server.'; -$lang['could_not_perform_ldap_mod_add'] = 'Det gick inte att utföra ldap_mod_add operationen.';//''Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Felaktigt server_id';//'Bad server_id: '; -$lang['success'] = 'Det lyckades';//'Success'; -$lang['server_colon_pare'] = 'Server';//'Server: '; -$lang['look_in'] = 'Tittar in';//'Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Inget server-ID specificerat i frågesträgen!';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Inget DN specificerat i frågesträgen!';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Tillbaka';//'Back Up...'; -$lang['no_entries'] = 'inga poster';//'no entries'; -$lang['not_logged_in'] = 'Inte inloggad';//'Not logged in'; -$lang['could_not_det_base_dn'] = 'Det gick inte att bestämma \'base DN\'';//'Could not determine base DN'; - -// Add value form -$lang['add_new'] = 'Lägg till nytt';//'Add new'; -$lang['value_to'] = 'värde till';//'value to'; -$lang['distinguished_name'] = 'Distinguished Name';//'Distinguished Name'; -$lang['current_list_of'] = 'Aktuell lista av';//'Current list of'; -$lang['values_for_attribute'] = 'attributvärden';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Observera: Du kommer att få ett \'inappropriate matching\'-fel om du inte har
    ' . - 'satt upp en EQUALITY-regel på din LDAP-server för detta attribut.';// 'Note: You will get an "inappropriate matching" error if you have not
    ' . - 'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Skriv in värdet du vill lägga till';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Observera: Du kan bli tvungen att skriva in de nya attribut som denna objectClass behöver';//'Note: you may be required to enter new attributes that this objectClass requires'; -$lang['syntax'] = 'Syntax';//'Syntax'; - -//copy.php -$lang['copy_server_read_only'] = 'Du kan inte göra uppdateringar medan servern är i lästillstånd';//'You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Du lämnade destinations-DN tomt';//'You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'Destinationen finns redan';//'The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'Destinations-behållaren (%s) finns inte';// 'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'Käll- och destinations-DN är samma.';//'The source and destination DN are the same.'; -$lang['copy_copying'] = 'Kopierar';//'Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekursiv kopiering pågår';//'Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Bygger en ögonblicksbild av det träd som ska kopieras';//'Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieringen lyckades! Vill du';//'Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'titta på den nya posten';//'view the new entry'; -$lang['copy_failed'] = 'Kopiering av DN misslyckades';//'Failed to copy DN: '; - -//edit.php -$lang['missing_template_file'] = 'Varning! mall-filen saknas,';//'Warning: missing template file, '; -$lang['using_default'] = 'använder default.'; //'Using default.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiera';//'Copy '; -$lang['copyf_to_new_object'] = 'till ett nytt objekt';//'to a new object'; -$lang['copyf_dest_dn'] = 'Destinations-DN';//'Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'Den nya postens fullständiga DN skapas när källposten kopieras';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Destinations-server';//'Destination Server'; -$lang['copyf_note'] = 'Tips: Kopiering mellan olika servrar fungerar bara om det inte finns några brott mot schemorna.';// 'Hint: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Kopiera även rekursivt alla underobjekt till detta objekt.';//'Recursively copy all children of this object as well.'; - -//create.php -$lang['create_required_attribute'] = 'Du lämnade ett värde tomt för ett nödvändigt attribut %s.';//'You left the value blank for required attribute %s.'; -$lang['create_redirecting'] = 'Omstyrning';//'Redirecting'; -$lang['create_here'] = 'här';//'here'; -$lang['create_could_not_add'] = 'Det gick inte att lägga till objektet till LDAP-servern.';//'Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Skapa objekt';//'Create Object'; -$lang['createf_choose_temp'] = 'Välj en mall';//'Choose a template'; -$lang['createf_select_temp'] = 'Välj en mall för att skapa objekt';//'Select a template for the creation process'; -$lang['createf_proceed'] = 'Fortsätt';//'Proceed'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'På servern';//'On server'; -$lang['ctemplate_no_template'] = 'Ingen mall specificerad i POST variablerna.';//'No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Din konfiguration specificerar en hanterare';//'Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'för denna mall, men hanteraren finns inte i templates/creation-katalogen';//'for this template. But, this handler does not exist in the templates/creation directory.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Du har inte loggat in till den valda servern ännu, så du kan inte göra sökningar på den.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klicka här för att komma till login-formuläret';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Känner inte till detta urvals-kriterium';//'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Om du vill lägga till ditt eget kriterium till listan, kom ihåg att ändra search.php för att hantera det. Avslutar.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Poster funna:';//'Entries found: '; -$lang['filter_performed'] = 'Filtrering utförd: ';//'Filter performed: '; -$lang['search_duration'] = 'Sökning utförd av phpLDAPadmin på';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'sekunder';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Sökomfattning';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (Base DN och hela trädet under)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (en nivå under Base DN)';//One (one level beneath base)'; -$lang['scope_base'] = 'Base (endast Base DN)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP sökfilter. Exempel: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Sökfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'En lista med attribut att visa i resultatet (komma-separerad)';// 'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'Visa attribut';//'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Sök efter poster som:';//'Search for entries whose:'; -$lang['equals'] = 'är lika med';//'equals'; -$lang['starts with'] = 'börjar med';//'starts with'; -$lang['contains'] = 'innehåller';//'contains'; -$lang['ends with'] = 'slutar med';//'ends with'; -$lang['sounds like'] = 'låter som';//'sounds like'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Det gick inte att hämta LDAP information från servern.';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Serverinformation för';//'Server info for: '; -$lang['server_reports_following'] = 'Servern rapporterar följande information om sig själv';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Servern har inget att rapportera';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array är felaktig. Detta kan vara ett phpLDAPadmin-fel. Var vänlig och rapportera det.';// 'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Det gick inte att utföra operationen ldap_modify.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Vill du göra dessa ändringar?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Attribut';//'Attribute'; -$lang['old_value'] = 'Föregående värde';//'Old Value'; -$lang['new_value'] = 'Nytt värde';//'New Value'; -$lang['attr_deleted'] = '[attributet borttaget]';//'[attribute deleted]'; -$lang['commit'] = 'Bekräfta';//'Commit'; -$lang['cancel'] = 'ångra';//'Cancel'; -$lang['you_made_no_changes'] = 'Du gjorde inga ändringar';//'You made no changes'; -$lang['go_back'] = 'Gå tillbaka';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Navigera med hjälp av menyn till vänster';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Tack till';//'Credits'; -$lang['changelog'] = 'ändringslogg';//'ChangeLog'; -$lang['documentation'] = 'Dokumentation';//'Documentation'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Osäkert filnamn';//'Unsafe file name: '; -$lang['no_such_file'] = 'Filen finns inte';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Du har slagit på auto_uid_numbers för %s i din konfiguration, - men du har inte specificerat auto_uid_number_mechanism. Var vänlig och rätta till - detta problem.'; - //'You have enabled auto_uid_numbers for %s in your configuration, - //but you have not specified the auto_uid_number_mechanism. Please correct - //this problem.'; -$lang['uidpool_not_set'] = 'Du har specificerat auto_uid_number_mechanism som uidpool - i din konfiguration för server%s, men du specificerade inte - audo_uid_number_uid_pool_dn. Var vänlig och specificera den innan du fortsätter.'; - //'You specified the auto_uid_number_mechanism as uidpool - //in your configuration for server %s, but you did not specify the - //audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'Det ser ut som om den uidPool du specificerade i din konfiguration (%s) - inte existerar.'; - // 'It appears that the uidPool you specified in your configuration (%s) - // does not exist.'; -$lang['specified_uidpool'] = 'Du specificerade auto_uid_number_mechanism som search i din - konfiguration för server%s, men du specificerade inte - auto_uid_number_search_base. Var vänlig och specificera den innan du fortsätter.'; - // 'You specified the auto_uid_number_mechanism as search in your - //configuration for server %s, but you did not specify the - //auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['auto_uid_invalid_value'] = 'Du specificerade ett ogiltigt värde för auto_uid_number_mechanism (%s) - i din konfiguration. Endast uidpool och search are giltiga. - Var vänlig och rätta till detta problem.'; - //'You specified an invalid value for auto_uid_number_mechanism (%s) - //in your configration. Only uidpool and search are valid. - //Please correct this problem.'; -$lang['error_auth_type_config'] = 'Fel: Du har ett fel i din konfigurationsfil. De enda tillåtna värdena - för auth_type i $servers-sektionen är \'config\' and \'form\'. Du skrev in \'%s\', - vilket inte är tillåtet. '; - //'Error: You have an error in your config file. The only two allowed values - //for auth_type in the $servers section are \'config\' and \'form\'. You entered \'%s\', - //which is not allowed. '; -$lang['php_install_not_supports_tls'] = 'Din PHP-installation stödjer inte TLS';//'Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Det gick inte att starta TLS.
    Var vänlig och kontrollera din LDAP-serverkonfiguration.';//'Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['auth_type_not_valid'] = 'Du har ett fel i din konfigurationsfil. auth_type %s är inte tillåten.';//'You have an error in your config file. auth_type of %s is not valid.'; -$lang['ldap_said'] = 'LDAP sa: %s

    ';//'LDAP said: %s

    '; -$lang['ferror_error'] = 'Fel';'Error'; -$lang['fbrowse'] = 'titta';//'browse'; -$lang['delete_photo'] = 'Ta bort foto';//'Delete Photo'; -$lang['install_not_support_blowfish'] = 'Din PHP-installation stödjer inte blowfish-kryptering.';// 'Your PHP install does not support blowfish encryption.'; -$lang['install_no_mash'] = 'Din PHP-installation har inte funktionen mash(). Det går inte att göra SHA hashes.';//'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'JPEG-fotot innehåller fel
    ';//'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Felnummer: %s (%s)

    ';//'Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Beskrivning: %s

    ';//'Description: %s

    '; -$lang['ferror_number_short'] = 'Felnummer: %s

    ';//'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Beskrivning: (ingen beskrivning tillgänglig)
    ';//'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'är det här ett phpLDAPadmin-fel? Om så är fallet, var vänlig och rapportera det.'; -//'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Okänt felnummer';//'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Du har hittat en icke-kritisk phpLDAPadmin bug!
    Fel:%s (%s)
    Fil:%s rad %s, anropande %s
    Versioner:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Var vänlig och rapportera felet genom att klicka här.

    '; - - //'
    - //
    - //You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s - //
    Web server:%s
    - //Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = 'Gratulerar! Du har hittat en bug i phpLDAPadmin.

    - - - - - - - - - - -
    Fel:%s
    Nivå:%s
    Fil:%s
    Rad:%s
    Anropare:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Var vänlig och rapportera den här buggen genom att klicak här nedan!'; - -//'Congratulations! You found a bug in phpLDAPadmin.

    -// -// -// -// -// -// -// -// -// -// -//
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -//
    -//Please report this bug by clicking below!'; - - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importera LDIF-fil';//'Import LDIF File'; -$lang['select_ldif_file'] = 'Välj en LDIF-fil:';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Fortsätt >>';//'Proceed >>'; - -//ldif_import -$lang['add_action'] = 'Lägger till...';//'Adding...'; -$lang['delete_action'] = 'Tar bort...';//'Deleting...'; -$lang['rename_action'] = 'Döper om...';//''Renaming...'; -$lang['modify_action'] = 'ändrar...';//'Modifying...'; - -$lang['failed'] = 'misslyckades';//'failed'; -$lang['ldif_parse_error'] = 'LDIF parsningsfel';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Det gick inte att lägga till objekt';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Det gick inte att lägga döpa om objekt';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Det gick inte att ta bort objekt';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Det gick inte att ändra objekt';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Radnummer';//'Line Number:'; -$lang['ldif_line'] = 'Rad:';//'Line:'; -?> diff --git a/lang/recoded/zh-cn.php b/lang/recoded/zh-cn.php deleted file mode 100644 index 5d9f7be..0000000 --- a/lang/recoded/zh-cn.php +++ /dev/null @@ -1,720 +0,0 @@ -"zh-cn" //Simplified Chinese - -*/ - -/* --- ָ --- - * - * 뽨һµļ - * ύSourceForge - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * ʹõײѡ"Check to Upload and Attach a Fileϴ" - * - * Ķdoc/README-translation.txt Եõָ - * - * лл - * - */ - -/* - * $lang phpLDAPadmin ʹõ崮 - * ÿһļֻҪжһԵӦ - * ַ - */ - -// Search form -$lang['simple_search_form_str'] = ''; -$lang['advanced_search_form_str '] = '߼'; -$lang['server'] = ''; -$lang['search_for_entries_whose'] = 'Ŀ'; -$lang['base_dn'] = 'DN'; -$lang['search_scope'] = 'Χ'; -$lang['show_attributes'] = 'ʾ'; -//$lang['attributes'] = ''; -$lang['Search'] = ''; -$lang['predefined_search_str'] = 'ѡһԤ'; -$lang['predefined_searches'] = 'Ԥ'; -$lang['no_predefined_queries'] = 'config.phpûĿ塣'; -$lang['export_results'] = ''; -$lang['unrecoginzed_search_result_format'] = 'ʶʽ %s'; -$lang['format'] = 'ʽ'; -$lang['list'] = 'б'; -$lang['table'] = ''; -$lang['bad_search_display'] = 'config.php $default_search_displayָһǷֵ %s'; -$lang['page_n'] = '%dҳ'; -$lang['no_results'] = 'ûҵ'; - -// Tree browser -$lang['request_new_feature'] = ''; -$lang['report_bug'] = '©'; -$lang['schema'] = 'ʽ'; -$lang['search'] = ''; -$lang['create'] = ''; -$lang['info'] = 'Ϣ'; -$lang['import'] = ''; -$lang['refresh'] = 'ˢ'; -$lang['logout'] = '˳'; -$lang['create_new'] = 'Ŀ'; -$lang['view_schema_for'] = '鿴ʽ'; -$lang['refresh_expanded_containers'] = 'ˢչ'; -$lang['create_new_entry_on'] = 'Ŀ'; -$lang['new'] = '½'; -$lang['view_server_info'] = '鿴ӵķϢ'; -$lang['import_from_ldif'] = 'LDIFļĿ'; -$lang['logout_of_this_server'] = '˳'; -$lang['logged_in_as'] = '¼Ϊ '; -$lang['this_base_dn_is_not_valid'] = 'DNЧ'; -$lang['this_base_dn_does_not_exist'] = 'Ŀڡ'; -$lang['read_only'] = 'ֻ'; -$lang['read_only_tooltip'] = 'ѾphpLDAPadmin ԱʶΪֻ'; -$lang['could_not_determine_root'] = 'ⲻLDAPĸ'; -$lang['ldap_refuses_to_give_root'] = 'LDAP˲Ҫ¶ĸ'; -$lang['please_specify_in_config'] = 'config.phpָ'; -$lang['create_new_entry_in'] = 'Ŀ'; -$lang['login_link'] = '¼'; -$lang['login'] = '¼'; -$lang['base_entry_does_not_exist'] = 'û׼Ŀڡ'; -$lang['create_it'] = 'Ҫ'; - -// Entry display -$lang['delete_this_entry'] = 'ɾĿ'; -$lang['delete_this_entry_tooltip'] = 'õʾҪȷϸѡ'; -$lang['copy_this_entry'] = 'ƺƶĿ'; -$lang['copy_this_entry_tooltip'] = 'ƵһλãһDNһ'; -$lang['export'] = ''; -$lang['export_lcase'] = ''; -$lang['export_tooltip'] = 'һöĵ'; -$lang['export_subtree_tooltip'] = 'һöкӵĵ'; -$lang['export_subtree'] = ''; -$lang['create_a_child_entry'] = 'һĿ'; -$lang['rename_entry'] = 'Ŀ'; -$lang['rename'] = ''; -$lang['add'] = ''; -$lang['view'] = '鿴'; -$lang['view_one_child'] = '鿴1Ŀ'; -$lang['view_children'] = '鿴%sĿ'; -$lang['add_new_attribute'] = 'µ'; -$lang['add_new_objectclass'] = 'µObjectClass'; -$lang['hide_internal_attrs'] = 'ڲ'; -$lang['show_internal_attrs'] = 'ʾڲ'; -$lang['attr_name_tooltip'] = '鿴\'%s\'ĸʽ'; -$lang['none'] = 'ʲôû'; -$lang['no_internal_attributes'] = 'ûڲ'; -$lang['no_attributes'] = 'Ŀû'; -$lang['save_changes'] = ''; -$lang['add_value'] = 'ֵ'; -$lang['add_value_tooltip'] = '\'%s\'һӵֵ'; -$lang['refresh_entry'] = 'ˢ'; -$lang['refresh_this_entry'] = 'ˢĿ'; -$lang['delete_hint'] = 'ʾ Ҫɾһԣ뽫ıֶգȻ档'; -$lang['attr_schema_hint'] = 'ʾ Ҫ鿴һԵĸʽԵơ'; -$lang['attrs_modified'] = 'һЩ(%s) ޸ˣұʶΪ'; -$lang['attr_modified'] = 'һ(%s) ޸ˣұʶΪ'; -$lang['viewing_read_only'] = 'ֻģʽ鿴Ŀ'; -$lang['no_new_attrs_available'] = 'Ŀûṩµ'; -$lang['no_new_binary_attrs_available'] = 'ĿûṩµĶ'; -$lang['binary_value'] = 'ֵ'; -$lang['add_new_binary_attr'] = 'µĶֵ'; -$lang['alias_for'] = 'ע⣺ \'%s\'\'%s\'һ'; -$lang['required_for'] = 'objectClass(es) %s'; -$lang['download_value'] = 'ֵ'; -$lang['delete_attribute'] = 'ɾ'; -$lang['true'] = ''; -$lang['false'] = 'ٵ'; -$lang['none_remove_value'] = 'ʲôûУֵƳ'; -$lang['really_delete_attribute'] = 'ɾ'; -$lang['add_new_value'] = 'µֵ'; - -// Schema browser -//$lang['the_following_objectclasses'] = 'LDAP֧objectClasses'; -//$lang['the_following_attributes'] = 'LDAP֧͡'; -//$lang['the_following_matching'] = 'LDAP֧ƥ'; -//$lang['the_following_syntaxes'] = 'LDAP֧﷨'; -$lang['schema_retrieve_error_1']='ȫ֧LDAP Э顣'; -$lang['schema_retrieve_error_2']='PHP汾ȷɲѯ'; -$lang['schema_retrieve_error_3']='phpLDAPadmin֪ȡķĸʽ'; -$lang['schema_retrieve_error_4']='LDAPûṩϢ'; -$lang['jump_to_objectclass'] = 'תһobjectClass'; -$lang['view_schema_for_oclass'] = '鿴objectClassĸʽ'; -$lang['jump_to_attr'] = 'תһ'; -$lang['jump_to_matching_rule'] = 'תһƥĹ'; -$lang['schema_for_server'] = 'ĸʽ'; -$lang['required_attrs'] = ''; -$lang['required'] = ''; -$lang['optional_attrs'] = 'ѡ'; -$lang['optional_binary_attrs'] = 'ѡĶ'; -$lang['OID'] = 'OID'; -$lang['aliases']=''; -$lang['desc'] = ''; -$lang['no_description']='û'; -$lang['name'] = ''; -$lang['equality']=''; -$lang['is_obsolete'] = 'objectClassˡ'; -$lang['inherits'] = '̳'; -$lang['inherited_from'] = '̳'; -$lang['parent_to'] = '˫ָ'; -$lang['jump_to_this_oclass'] = 'תobjectClassĶ崦'; -$lang['matching_rule_oid'] = 'ƥ OID'; -$lang['syntax_oid'] = '﷨OID'; -$lang['not_applicable'] = 'Ӧ'; -$lang['not_specified'] = 'δָ'; -$lang['character']='ַ'; -$lang['characters']='ַ'; -$lang['used_by_objectclasses']='objectClassesʹõ'; -$lang['used_by_attributes']='ʹõ'; -$lang['maximum_length']='󳤶'; -$lang['attribute_types']=''; -$lang['syntaxes']='﷨'; -$lang['matchingrules']='ƥ'; -$lang['oid']='OID'; -$lang['obsolete']='ϵ'; -$lang['ordering']=''; -$lang['substring_rule']='Ӵ'; -$lang['single_valued']='ֵ'; -$lang['collective']=''; -$lang['user_modification']='û޸'; -$lang['usage']='ʹøʽ'; -$lang['could_not_retrieve_schema_from']='һظʽĵط'; -$lang['type']=''; -$lang['no_such_schema_item'] = 'ûĸʽĿ "%s"'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'ɹɾĿ%s'; -$lang['you_must_specify_a_dn'] = 'ָһDN'; -$lang['could_not_delete_entry'] = 'ɾĿ %s'; -$lang['no_such_entry'] = 'ûĿ %s'; -$lang['delete_dn'] = 'ɾ%s'; -$lang['permanently_delete_children'] = 'ҲҪɾĿ'; -$lang['entry_is_root_sub_tree'] = 'ĿǸаĿ%s'; -$lang['view_entries'] = '鿴Ŀ'; -$lang['confirm_recursive_delete'] = 'phpLDAPadminԵݹɾĿĿеģ%s ܻɾĿб鿴档 '; -$lang['confirm_recursive_delete_note'] = 'עͣ DZΣգԸ ɻָ һҪǵaliases referralsԼ顣'; -$lang['delete_all_x_objects'] = 'ɾеĶ%s '; -$lang['recursive_delete_progress'] = 'ݹʽɾ'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'ɹɾĿ%s '; -$lang['failed_to_delete_entry'] = 'ɾĿ%s ʧ'; -$lang['list_of_entries_to_be_deleted'] = 'ɾĿб'; -$lang['sure_permanent_delete_object']='ȷɾ'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = ' phpLDAPadminУ"%s"ʶΪֻ'; -$lang['no_attr_specified'] = 'ûָơ'; -$lang['no_dn_specified'] = 'ûָDN '; - -// Adding attributes -$lang['left_attr_blank'] = 'ֵΪհס 뷵ԡ'; -$lang['failed_to_add_attr'] = 'ʧܡ'; -$lang['file_empty'] = 'ѡļΪջ򲻴ڡ 뷵ԡ'; -$lang['invalid_file'] = 'ȫ ϴļܴڰȫΣա'; -$lang['warning_file_uploads_disabled'] = 'PHPòϴļ ڽ²֮ǰһphp.ini'; -$lang['uploaded_file_too_big'] = 'ϴļ̫ php.iniеupload_max_size '; -$lang['uploaded_file_partial'] = 'ѡļϴΪԵʡ'; -$lang['max_file_size'] = 'ļߴ磺 %s'; - -// Updating values -$lang['modification_successful'] = 'ɹ޸ģ'; -$lang['change_password_new_login'] = 'Ϊ룬ڱʹµµ¼'; - -// Adding objectClass form -$lang['new_required_attrs'] = ''; -$lang['requires_to_add'] = 'Ҫ'; -$lang['new_attributes'] = ''; -$lang['new_required_attrs_instructions'] = 'ָ ΪobjectClass Ŀָ'; -$lang['that_this_oclass_requires'] = 'objectClassġ ɡ'; -$lang['add_oclass_and_attrs'] = 'ObjectClass '; -$lang['objectclasses'] = 'ObjectClasses'; - -// General -$lang['chooser_link_tooltip'] = 'һԻͼηʽѡһĿ(DN) '; -$lang['no_updates_in_read_only_mode'] = 'ֻʽУ㲻ɸ'; -$lang['bad_server_id'] = 'ķid'; -$lang['not_enough_login_info'] = 'û㹻Ϣ¼ á'; -$lang['could_not_connect'] = 'ӵLDAP'; -$lang['could_not_connect_to_host_on_port'] = 'ӵ"%s" "%s"˿'; -$lang['could_not_perform_ldap_mod_add'] = 'ldap_mod_add '; -//$lang['bad_server_id_underline'] = 'server_id'; -$lang['home'] = 'ҳ'; -$lang['help'] = ''; -$lang['success'] = 'ɹ'; -$lang['server_colon_pare'] = ''; -$lang['look_in'] = 'ڲ鿴'; -//$lang['missing_server_id_in_query_string'] = 'ڲѯûָID'; -$lang['missing_dn_in_query_string'] = 'ڲѯûָDN'; -$lang['back_up_p'] = '...'; -$lang['no_entries'] = 'ûĿ'; -//$lang['not_logged_in'] = 'ûе¼'; -$lang['could_not_det_base_dn'] = 'ȷbase DNDN'; -//$lang['please_report_this_as_a_bug']='뱨©'; -$lang['reasons_for_error']='мԭпܵǣ'; -$lang['yes']=''; -$lang['no']=''; -$lang['go']='ʼ'; -$lang['delete']='ɾ'; -$lang['back']=''; -$lang['object']=''; -$lang['delete_all']='ɾе'; -//$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'ʾ'; -$lang['bug'] = '©'; -$lang['warning'] = ''; -$lang['light'] = 'light'; // 'light' 'light bulbݣ' -$lang['proceed_gt'] = ' >>'; -$lang['no_blowfish_secret'] = 'phpLDAPadminܰȫؼܺͽϢΪconfig.phpû$blowfish_secretڣҪ༭config.php$blowfish_secretΪijصַ'; -$lang['jpeg_dir_not_writable'] = 'phpLDAPadminconfig.php$jpeg_temp_dirõһдĿ¼'; -$lang['jpeg_dir_not_writable_error'] = 'ܽ%sд$jpeg_temp_dirĿ¼ȷwebܹдļ'; -$lang['jpeg_unable_toget'] = 'ܴLDAPΪ%sjpegݡ'; -$lang['jpeg_delete'] = 'ɾͼƬ'; - - - -// Add value form -$lang['add_new'] = ''; -$lang['value_to'] = 'ֵ'; -$lang['distinguished_name'] = 'ʶDN'; -$lang['current_list_of'] = 'ǰб'; -$lang['values_for_attribute'] = 'ֵ'; -$lang['inappropriate_matching_note'] = 'עͣ LDAPûΪEQUALITY Ļܻ"inappropriate matchingȷƥ䣩"Ĵ'; -$lang['enter_value_to_add'] = 'ӵֵ'; -$lang['new_required_attrs_note'] = 'עͣ ܻҪobjectClassԡ'; -$lang['syntax'] = ''; - -//copy.php -$lang['copy_server_read_only'] = 'ֻģʽ㲻ɸ'; -$lang['copy_dest_dn_blank'] = ' ĿDNΪա'; -$lang['copy_dest_already_exists'] = 'ĿĿ (%s) Ѿڡ'; -$lang['copy_dest_container_does_not_exist'] = 'Ŀ (%s) ڡ'; -$lang['copy_source_dest_dn_same'] = 'ԴĿDN ͬ'; -$lang['copy_copying'] = 'ڸ '; -$lang['copy_recursive_copy_progress'] = 'ݹָƹ'; -$lang['copy_building_snapshot'] = 'ڽڸƵĿա '; -$lang['copy_successful_like_to'] = 'Ƴɹ 㻹Ҫ '; -$lang['copy_view_new_entry'] = '鿴Ŀ'; -$lang['copy_failed'] = 'DNɹ '; - -//edit.php -$lang['missing_template_file'] = '棺 ļڣ'; -$lang['using_default'] = 'ʹĬϵġ'; -$lang['template'] = ''; -$lang['must_choose_template'] = 'ѡһ'; -$lang['invalid_template'] = '%s һǷ'; -$lang['using_template'] = 'ʹ'; -$lang['go_to_dn'] = 'ת %s'; -$lang['structural_object_class_cannot_remove'] = 'ǸṹObjectClass˲Ƴ'; -$lang['structural'] = 'ṹ'; - -//copy_form.php -$lang['copyf_title_copy'] = ''; -$lang['copyf_to_new_object'] = 'ΪһµĶ'; -$lang['copyf_dest_dn'] = 'ĿDN'; -$lang['copyf_dest_dn_tooltip'] = 'ڸƸԴĿʱĿDN '; -$lang['copyf_dest_server'] = 'Ŀ'; -$lang['copyf_note'] = 'ʾ ͬķ֮临ʱҪû"schemaʽͻ"'; -$lang['copyf_recursive_copy'] = '⻹Ҫݹ鸴ƴ˶ݡ'; -$lang['recursive_copy'] = 'ݹ鸴'; -$lang['filter'] = ''; -//$lang['search_filter'] = ''; -$lang['filter_tooltip'] = 'һݹ鸴ʱֻḴЩƥĿ'; -$lang['delete_after_copy'] = 'ƺɾƶ'; -$lang['delete_after_copy_warn'] = 'ȷĹ棩ѡеӼ¼'; - -//create.php -$lang['create_required_attribute'] = '(%s)ֵΪհס'; -$lang['redirecting'] = 'ض...'; -$lang['here'] = ''; -$lang['create_could_not_add'] = 'ӸöLDAP'; - -//create_form.php -$lang['createf_create_object'] = ''; -$lang['createf_choose_temp'] = 'ѡ'; -$lang['createf_select_temp'] = 'ѡڴ̵'; -$lang['save_as_file'] = 'Ϊļ'; -$lang['rdn_field_blank'] = 'RDNΪհס'; -$lang['container_does_not_exist'] = 'ָ(%s)ڡ ԡ'; -$lang['no_objectclasses_selected'] = 'ûΪöѡκObjectClasses 뷵'; -$lang['hint_structural_oclass'] = 'ʾ ѡһṹobjectClass (ʾ)'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'ڷ'; -$lang['ctemplate_no_template'] = 'POSTûָ塣'; -$lang['template_not_readable'] = 'ָڸ"%s"ֱļΪֹȨ̫ϸɶ'; -$lang['template_does_not_exist'] = 'ļָڸ "%s"ֱǸֱtemplates/creation Ŀ¼вڡ'; -$lang['create_step1'] = 'һ Name ObjectClass(es)'; -$lang['create_step2'] = 'ڶ ָԺֵ'; -$lang['relative_distinguished_name'] = 'Relative Distinguished NameԱʶ'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(磺 cn=MyNewPerson)'; -$lang['container'] = 'Container'; - -// search.php -$lang['you_have_not_logged_into_server'] = '㻹ûеѡķ㲻'; -$lang['click_to_go_to_login_form'] = 'ת¼'; -$lang['unrecognized_criteria_option'] = 'ʶcriteria׼ѡ '; -$lang['if_you_want_to_add_criteria'] = 'Լcriteria б ǵñ༭search.php ǡ ˳'; -$lang['entries_found'] = 'ҵĿ '; -$lang['filter_performed'] = 'Ӧ˵Ĺ '; -$lang['search_duration'] = 'phpLDAPadminʱ'; -$lang['seconds'] = ''; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'ķΧ'; -$lang['scope_sub'] = 'Sub ()'; -$lang['scope_one'] = 'One (base֮µһ)'; -$lang['scope_base'] = 'Base (base dn)'; -$lang['standard_ldap_search_filter'] = '׼LDAP 磺 (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = ''; -$lang['list_of_attrs_to_display_in_results'] = 'ʾڽеб(ԶŸ)'; -//$lang['show_attributes'] = 'ʾ'; - -// search_form_simple.php -//$lang['search_for_entries_whose'] = '˭Ŀ'; -$lang['equals'] = ''; -$lang['starts with'] = 'ʼ'; -$lang['contains'] = ''; -$lang['ends with'] = ''; -$lang['sounds like'] = ''; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'ܴӷȡLDAPϢ ΪPHP©LDAPָ"ʿ"ֹLDAPͻ˷RootDSE'; -$lang['server_info_for'] = 'Ϣ '; -$lang['server_reports_following'] = 'ϢǷĹԼϢ'; -$lang['nothing_to_report'] = '÷ûбκϢ'; - -//update.php -$lang['update_array_malformed'] = 'update_array phpLDAPadminĴ© 뱨档'; -$lang['could_not_perform_ldap_modify'] = 'ldap_modify '; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'ӦЩ仯'; -$lang['attribute'] = ''; -$lang['old_value'] = 'ֵ'; -$lang['new_value'] = 'ֵ'; -$lang['attr_deleted'] = '[ɾ]'; -$lang['commit'] = 'ύ'; -$lang['cancel'] = 'ȡ'; -$lang['you_made_no_changes'] = 'ûни'; -$lang['go_back'] = ''; -$lang['unable_create_samba_pass'] = 'ܽsamba롣template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'ʹ߲˵'; -$lang['credits'] = ''; -$lang['changelog'] = '¼'; -$lang['donate'] = ''; -$lang['pla_logo'] = 'phpLDAPadmin ʶ'; - -// Donate.php -$lang['donation_instructions'] = 'phpLDAPadminĿPayPalťеһ'; -$lang['donate_amount'] = ' %s'; -//$lang['wish_list_option'] = 'phpLDAPadminԱ'; -//$lang['wish_list'] = '鿴DavephpLDAPadmin Ըб'; - -$lang['purge_cache'] = 'ջ'; -$lang['no_cache_to_purge'] = 'ûлա'; -$lang['done_purging_caches'] = 'ջ%s ֽڡ'; -$lang['purge_cache_tooltip'] = 'phpLDAPadminлݣschemaʽ'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'ȫļ '; -$lang['no_such_file'] = 'ûļ '; - -//function.php -$lang['auto_update_not_setup'] = 'Ϊ %s auto_uid_numbers - ûָauto_uid_number_mechanism - '; -$lang['uidpool_not_set'] = 'ڷ%sָ"auto_uid_number_mechanism" Ϊ "uidpool" - ûָ - audo_uid_number_uid_pool_dn ڽ²ǰָ'; -$lang['uidpool_not_exist'] = '("%s")ָuidPool - ڡ'; -$lang['specified_uidpool'] = 'ڷ%sļָ"auto_uid_number_mechanism" Ϊ "search" - ûָ - "auto_uid_number_search_base" ڽ²ǰָ'; -$lang['auto_uid_invalid_credential'] = 'ʹauto_uid credentialsܰ󶨵%s ļ'; -$lang['bad_auto_uid_search_base'] = 'phpLDAPadminΪ%sָһǷauto_uid_search_base '; -$lang['auto_uid_invalid_value'] = 'ļΪauto_uid_number_mechanism ("%s")ָһǷֵ - ֻ"uidpool" "search" ǺϷġ - ⡣'; -$lang['error_auth_type_config'] = ' ļи - $serversֵauth_typeֵΪ \'session\', \'cookie\', and \'config\' \'%s\' - Dzġ '; -$lang['unique_attrs_invalid_credential'] = 'ʹunique_attrs 󶨵%s ļ'; -$lang['unique_attr_failed'] = 'ͼ%s (%s)
    %s
    Dzġ /ֵκĿ

    Ŀ'; -$lang['php_install_not_supports_tls'] = '㰲װPHP ֧TLS'; -$lang['could_not_start_tls'] = 'TLS LDAP á'; -$lang['could_not_bind_anon'] = '󶨵'; -$lang['could_not_bind'] = 'ܰ󶨵LDAP'; -$lang['anonymous_bind'] = ''; -$lang['bad_user_name_or_password'] = 'û롣 ԡ'; -//$lang['redirecting_click_if_nothing_happens'] = 'ض... û·'; -$lang['successfully_logged_in_to_server'] = 'ɹ¼%s'; -$lang['could_not_set_cookie'] = 'cookie'; -$lang['ldap_said'] = 'LDAP˵ %s'; -$lang['ferror_error'] = ''; -$lang['fbrowse'] = ''; -$lang['delete_photo'] = 'ɾͼƬ'; -//$lang['install_not_support_blowfish'] = '㰲װPHP֧blowfish ܡ'; -//$lang['install_not_support_md5crypt'] = '㰲װPHP֧ md5crypt ܡ'; -//$lang['install_no_mash'] = '㰲װPHPûmhash() ܽSHAϣ'; -$lang['install_not_support_ext_des'] = 'ϵͳܿⲻ֧չDESܡ'; -$lang['install_not_support_blowfish'] = 'ϵͳܿⲻ֧blowfishܡ'; -$lang['install_not_support_md5crypt'] = 'ϵͳܿⲻ֧md5cryptܡ'; -$lang['jpeg_contains_errors'] = 'jpegPhoto д
    '; -$lang['ferror_number'] = ' %s'; -$lang['ferror_discription'] = ' %s

    '; -$lang['ferror_number_short'] = 'ţ %s

    '; -$lang['ferror_discription_short'] = ' (ûṩ)
    '; -$lang['ferror_submit_bug'] = 'ǸphpLDAPadmin © ǣһ'; -$lang['ferror_unrecognized_num'] = 'ʶĴţ '; -$lang['ferror_nonfatil_bug'] = '

    -
    - 㷢һʹphpLDAPadmin ©
    %s (%s)
    ļ%s %sú %s
    PLA: %s, PHP: %s, SAPI: %s -
    Web %s
    - ﱨô©

    '; -$lang['ferror_congrats_found_bug'] = 'ϲ㣡 㷢phpLDAPadminһ©

    - - - - - - - - - - -
    %s
    :%s
    ļ%s
    У%s
    ߣ%s
    PLA 汾%s
    PHP 汾%s
    PHP SAPI:%s
    PHP %s
    -
    - ͨ©'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIFļ'; -$lang['select_ldif_file'] = 'ѡһLDIFļ'; -$lang['dont_stop_on_errors'] = 'ʱֹͣ'; - -//ldif_import -$lang['add_action'] = '...'; -$lang['delete_action'] = 'ɾ...'; -$lang['rename_action'] = '...'; -$lang['modify_action'] = '޸...'; -$lang['warning_no_ldif_version_found'] = 'ûҵ汾š 1'; -$lang['valid_dn_line_required'] = 'ҪһϷdnС'; -$lang['missing_uploaded_file'] = 'ʧϴļ'; -$lang['no_ldif_file_specified'] = 'ûָLDIFļ ԡ'; -$lang['ldif_file_empty'] = 'ϴLDIF ļΪա'; -$lang['empty'] = 'յ'; -$lang['file'] = 'ļ'; -$lang['number_bytes'] = '%s ֽ'; - -$lang['failed'] = 'ʧ'; -$lang['ldif_parse_error'] = 'LDIF'; -$lang['ldif_could_not_add_object'] = 'Ӷ'; -$lang['ldif_could_not_rename_object'] = 'ܸ'; -$lang['ldif_could_not_delete_object'] = 'ɾ'; -$lang['ldif_could_not_modify_object'] = '޸Ķ'; -$lang['ldif_line_number'] = 'кţ'; -$lang['ldif_line'] = ':'; - -// Exports -$lang['export_format'] = 'ʽ'; -$lang['line_ends'] = 'н'; -$lang['must_choose_export_format'] = 'ѡһʽ'; -$lang['invalid_export_format'] = 'Ƿĵʽ'; -$lang['no_exporter_found'] = 'ûҵõ'; -$lang['error_performing_search'] = 'ִʱһ'; -$lang['showing_results_x_through_y'] = 'ʾ%sͨ%sɵġ'; -$lang['searching'] = '...'; -$lang['size_limit_exceeded'] = 'ע⣬Сơ'; -$lang['entry'] = 'Ŀ'; -$lang['ldif_export_for_dn'] = 'Ϊ %sLDIF'; -$lang['generated_on_date'] = 'phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) %sɵ'; -$lang['total_entries'] = 'Ŀ'; -$lang['dsml_export_for_dn'] = 'Ϊ %sDSLM'; -$lang['include_system_attrs'] = 'ϵͳ'; -$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)'; - -// logins -//$lang['could_not_find_user'] = 'ҵû"%s"'; -$lang['password_blank'] = 'Ϊա'; -//$lang['login_cancelled'] = '¼ȡˡ'; -$lang['no_one_logged_in'] = 'û˵¼÷'; -$lang['could_not_logout'] = '˳'; -$lang['unknown_auth_type'] = 'ʶauth_type %s'; -$lang['logged_out_successfully'] = 'ɹ%s˳'; -$lang['authenticate_to_server'] = '֤%s'; -$lang['warning_this_web_connection_is_unencrypted'] = '棺 webûмܡ'; -$lang['not_using_https'] = 'ûʹ\'https\' WebĴ¼Ϣ'; -$lang['login_dn'] = '¼DN'; -$lang['user_name'] = 'û'; -$lang['password'] = ''; -$lang['authenticate'] = '֤'; -$lang['login_not_allowed'] = 'Բ̨LDAPʹphpLDAPadmin'; - -// Entry browser -$lang['entry_chooser_title'] = 'Ŀѡ'; - -// Index page -$lang['need_to_configure'] = 'ҪphpLDAPadmin ༭ļ\'config.php\'Ϳԡ иļṩ \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'ֻģʽ²ɾ'; -$lang['error_calling_mass_delete'] = 'mass_delete.phpPOSTжʧ mass_delete'; -$lang['mass_delete_not_array'] = 'mass_delete POST Ǹ顣'; -$lang['mass_delete_not_enabled'] = 'Mass deletion(ɾ)ûá ڽһǰconfig.php'; -$lang['search_attrs_wrong_count'] = 'config.phpи $search_attributes $search_attributes_displayԱŲһ'; -$lang['mass_deleting'] = 'ڴɾ'; -$lang['mass_delete_progress'] = '"%s"ϵɾ'; -$lang['malformed_mass_delete_array'] = 'mass_delete 顣'; -$lang['no_entries_to_delete'] = 'ûѡκҪɾĿ'; -$lang['deleting_dn'] = 'ɾ %s'; -$lang['total_entries_failed'] = 'ɾĿ%s%sʧܡ'; -$lang['all_entries_successful'] = 'Ŀɾɹ'; -$lang['confirm_mass_delete'] = 'ȷϴɾĿ%sڷ%sϣ'; -$lang['yes_delete'] = 'ǵģɾ'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = '㲻ܸһĿĿڷҶĿ'; -$lang['no_rdn_change'] = '㲻ܸRDN'; -$lang['invalid_rdn'] = 'ЧRDNֵ'; -$lang['could_not_rename'] = 'ܸĿ'; - -// General errors -//$lang['php5_unsupported'] = 'phpLDAPadmin ֧PHP 5ܻ벻⡣'; -$lang['mismatched_search_attr_config'] = 'и $search_attributes $search_attributes_display ҪͬĿԡ'; - -// Password checker -$lang['passwords_match'] = 'ƥ䣡'; -$lang['passwords_do_not_match'] = '벻ƥ䣡'; -$lang['password_checker_tool'] = '鹤'; -$lang['compare'] = 'Ƚ'; -$lang['to'] = ''; - -// Templates -$lang['using'] = 'ʹø'; -//$lang['template'] = 'ģ'; -$lang['switch_to'] = 'ת'; -$lang['default_template'] = 'Ĭģ'; - -// template_config -$lang['user_account'] = 'û˺(posixAccount)'; -$lang['address_book_inet'] = 'ַĿ(inetOrgPerson)'; -$lang['address_book_moz'] = 'ַĿ(mozillaOrgPerson)'; -$lang['kolab_user'] = 'KolabûĿ'; -$lang['organizational_unit'] = '֯Ԫ(Organizational Unit)'; -$lang['organizational_role'] = '֯ɫ'; -$lang['posix_group'] = 'Posix'; -$lang['samba_machine'] = 'Samba NT '; -$lang['samba3_machine'] = 'Samba 3 NT '; -$lang['samba_user'] = 'Samba û'; -$lang['samba3_user'] = 'Samba 3 û'; -$lang['samba3_group'] = 'Samba 3 ӳ(Mapping)'; -$lang['dns_entry'] = 'DNS Ŀ'; -$lang['simple_sec_object'] = '򵥰ȫ(Simple Security Object)'; -$lang['courier_mail_account'] = 'Courier ʼ˺'; -$lang['courier_mail_alias'] = 'Courier ʼ'; -$lang['ldap_alias'] = 'LDAP '; -$lang['sendmail_cluster'] = 'Sendmail Ⱥ'; -$lang['sendmail_domain'] = 'Sendmail '; -$lang['sendmail_alias'] = 'Sendmail '; -$lang['sendmail_virt_dom'] = 'Sendmail '; -$lang['sendmail_virt_users'] = 'Sendmail û'; -$lang['sendmail_relays'] = 'Sendmail ظ'; -$lang['custom'] = 'Զ'; -$lang['samba_domain_name'] = 'ҵSamba'; -$lang['administrators'] = 'Ա'; -$lang['users'] = 'û'; -$lang['guests'] = 'һû(Guests)'; -$lang['power_users'] = 'ǿû(Power Users)'; -$lang['account_ops'] = '˺ŹԱ'; -$lang['server_ops'] = 'Ա'; -$lang['print_ops'] = 'ӡԱ'; -$lang['backup_ops'] = 'ݹԱ'; -$lang['replicator'] = '(Replicator)'; -$lang['unable_smb_passwords'] = 'ܽSamba롣ļtemplate_config.phpá'; -$lang['err_smb_conf'] = 'sambaи'; -$lang['err_smb_no_name_sid'] = 'ҪΪsambaṩһ(name)һsid'; -$lang['err_smb_no_name'] = 'ûΪsambaṩ֡'; -$lang['err_smb_no_sid'] = 'ûΪsambaṩsid'; - -// Samba Account Template -$lang['samba_account'] = 'Samba ˺'; -$lang['samba_account_lcase'] = 'samba ˺'; - -// New User (Posix) Account -$lang['t_new_user_account'] = '½û˺'; -$lang['t_hint_customize'] = 'ʾҪģĻԱ༭ļtemplates/creation/new_user_template.php'; -$lang['t_name'] = ''; -$lang['t_first_name'] = 'һ'; -$lang['t_last_name'] = 'һ'; -$lang['t_first'] = 'һ'; -$lang['t_last'] = 'һ'; -$lang['t_common_name'] = '(Common name)'; -$lang['t_user_name'] = 'û'; -$lang['t_password'] = ''; -$lang['t_encryption'] = 'ܷ'; -$lang['t_login_shell'] = '¼Shell'; -$lang['t_home_dir'] = 'Ŀ¼'; -$lang['t_uid_number'] = 'UID'; -$lang['t_auto_det'] = 'Զ⵽ģ'; -$lang['t_group'] = ''; -$lang['t_gid_number'] = 'GID'; -$lang['t_err_passwords'] = '벻ƥ䡣뷵ԡ'; -$lang['t_err_field_blank'] = '%sΪա뷵ԡ'; -$lang['t_err_field_num'] = '%sֶβֻ֡뷵ԡ'; -$lang['t_err_bad_container'] = 'ָ(%s)ڡ뷵ԡ'; -$lang['t_confirm_account_creation'] = 'ȷϴ˺'; -$lang['t_secret'] = '[]'; -$lang['t_create_account'] = '˺'; - -// New Address Template -$lang['t_new_address'] = '½ַĿ'; -$lang['t_organization'] = '֯'; -$lang['t_address'] = 'ַ'; -$lang['t_city'] = ''; -$lang['t_postal_code'] = ''; -$lang['t_street'] = 'ֵ'; -$lang['t_work_phone'] = '绰'; -$lang['t_fax'] = '(Fax)'; -$lang['t_mobile'] = 'ƶ绰(Mobile)'; -$lang['t_email'] = 'ʼ'; -$lang['t_container'] = ''; -$lang['t_err_cn_blank'] = '(Common Name)Ϊա뷵ԡ'; -$lang['t_confim_creation'] = 'ȷϴĿ'; -$lang['t_create_address'] = 'ַ'; - -// default template -$lang['t_check_pass'] = 'ڼ롭'; - -// compare form -$lang['compare'] = 'Ƚ'; -$lang['comparing'] = 'ȽϽŵDN'; -$lang['compare_dn'] = 'ȽһDN'; -$lang['with'] = 'ͬ '; -$lang['compf_source_dn'] = 'ԴDN'; -$lang['compf_dn_tooltip'] = 'DNһȽ'; -$lang['switch_entry'] = 'лĿ'; -$lang['no_value'] = 'ûֵ'; -$lang['compare_with'] = 'ͬһĿбȽ'; -$lang['need_oclass'] = 'Ҫ%sҪObjectClass(es)ࡣ'; - -// Time out page -$lang['session_timed_out_1'] = 'ĻỰڽ޻'; -$lang['session_timed_out_2'] = 'Ӻڡ㽫Զ˳'; -$lang['log_back_in'] = '¼ӣ'; -$lang['session_timed_out_tree'] = '(ỰʱԶ˳)'; -$lang['timeout_at'] = '%s㽫dz'; - - -?> diff --git a/lang/recoded/zh-tw.php b/lang/recoded/zh-tw.php deleted file mode 100644 index c5cb810..0000000 --- a/lang/recoded/zh-tw.php +++ /dev/null @@ -1,490 +0,0 @@ ->'; - -// Add value form -$lang['add_new']='新增'; -$lang['value_to']='數值至'; -$lang['distinguished_name']='識別名稱'; -$lang['current_list_of']='此屬性有'; -$lang['values_for_attribute']='下列數值:'; -$lang['inappropriate_matching_note']='請注意:若您的LDAP伺服器中並未設定等式規則,您將會遇到\"無適合的比對\"錯誤'; -$lang['enter_value_to_add']='請輸入您要加入的數值'; -$lang['new_required_attrs_note']='請注意:由於此objectClass定義的'; -$lang['syntax']='語法,您必須輸入新屬性'; - -//copy.php -$lang['copy_server_read_only']='無法在伺服器為唯讀模式時更新資料'; -$lang['copy_dest_dn_blank']='目的地識別名稱不能是空白'; -$lang['copy_dest_already_exists']='目的地識別名稱 (%s) 已經存在'; -$lang['copy_dest_container_does_not_exist']='目的地集合 (%s) 不存在'; -$lang['copy_source_dest_dn_same']='來源識別名稱與目的地識別名稱重複'; -$lang['copy_copying']='複製中'; -$lang['copy_recursive_copy_progress']='遞迴複製作業'; -$lang['copy_building_snapshot']='對資料樹建立副本來複製'; -$lang['copy_successful_like_to']='複製成功!!您要'; -$lang['copy_view_new_entry']='查閱此新紀錄?'; -$lang['copy_failed']='以下 DN 複製失敗:'; - -//edit.php -$lang['missing_template_file']='警告:找不到樣版檔案'; -$lang['using_default']='使用預設值'; -$lang['template']='樣版'; -$lang['must_choose_template']='你必須選擇一個樣版'; -$lang['invalid_template']='%s 是錯誤的樣版'; -$lang['using_template']='使用樣版'; -$lang['go_to_dn']='到 %s'; - -//copy_form.php -$lang['copyf_title_copy']='複製'; -$lang['copyf_to_new_object']='成新物件'; -$lang['copyf_dest_dn']='目的地識別名稱'; -$lang['copyf_dest_dn_tooltip']='來源資料複製後的完整識別名稱'; -$lang['copyf_dest_server']='目的伺服器'; -$lang['copyf_note']='提示:只有當不同的伺服器間的schema相容才能在不同的伺服器之間進行複製'; -$lang['copyf_recursive_copy']='遞迴複製所有此物件的子資料'; -$lang['recursive_copy']='遞迴複製'; -$lang['filter']='過濾條件'; -$lang['filter_tooltip']='只有符合過濾條件的資料會被遞迴複製'; - -//create.php -$lang['create_required_attribute']='必要的屬性 (%s) 必須有資料'; -$lang['redirecting']='正在轉換至...'; -$lang['here']='這裡'; -$lang['create_could_not_add']='不能新增物件到此LDAP伺服器'; - -//create_form.php -$lang['createf_create_object']='創造物件'; -$lang['createf_choose_temp']='選擇樣版'; -$lang['createf_select_temp']='請選擇一個你要建立的紀錄模板'; -$lang['createf_proceed']='下一步'; -$lang['rdn_field_blank']='相對識別名稱欄位不能是空白'; -$lang['container_does_not_exist']='您指定的集合 (%s) 不存在,請重新指定'; -$lang['no_objectclasses_selected']='您必須為此物件指定ObjectClasses'; -$lang['hint_structural_oclass']='提示:您必須在伺服器上至少'; - -//creation_template.php -$lang['ctemplate_on_server']='選擇一個objectClass'; -$lang['ctemplate_no_template']='在POST變數中並未指定模版'; -$lang['ctemplate_config_handler']='您的設定指定了由某個程式來執行此模版'; -$lang['ctemplate_handler_does_not_exist']='但此程式在 templates/creation 目錄中找不到'; -$lang['create_step1']='步驟 1 之 2:名稱與ObjectClass(es)'; -$lang['create_step2']='步驟 2 之 2:指定屬性與數值'; -$lang['relative_distinguished_name']='相對識別名稱'; -$lang['rdn']='相對識別名稱'; -$lang['rdn_example']='(範例: cn=MyNewPerson)(範例: cn=MyNewPerson)'; -$lang['container']='集合'; - -// search.php -$lang['you_have_not_logged_into_server']='您必須先登入伺服器才能在伺服器執行搜尋'; -$lang['click_to_go_to_login_form']='點選這邊回去登入表單'; -$lang['unrecognized_criteria_option']='無法辨識的基準'; -$lang['if_you_want_to_add_criteria']='如果您要加入自己的基準到項目列表中,請編輯search.php'; -$lang['entries_found']='找到的紀錄:'; -$lang['filter_performed']='執行過濾條件'; -$lang['search_duration']='phpLDAPadmin將會'; -$lang['seconds']='馬上執行查詢'; - -// search_form_advanced.php -$lang['scope_in_which_to_search']='搜尋範圍'; -$lang['scope_sub']='Sub (整個子樹)'; -$lang['scope_one']='One (單一階層下)'; -$lang['scope_base']='Base (只有基礎識別名稱)'; -$lang['standard_ldap_search_filter']='標準的LDAP搜尋條件. 如: (&(sn=Smith)(givenname=David))'; -$lang['search_filter']='過濾搜尋'; -$lang['list_of_attrs_to_display_in_results']='下列為搜尋結果(以 , 區隔)'; -$lang['equals']='等於'; -$lang['starts with']='開始於'; -$lang['contains']='內含'; -$lang['ends with']='結束於'; -$lang['sounds like']='喜愛的聲音'; - -// server_info.php -$lang['could_not_fetch_server_info']='無法從伺服器取得 LDAP 資訊'; -$lang['server_info_for']='伺服器資訊:'; -$lang['server_reports_following']='伺服器回報下列資訊:'; -$lang['nothing_to_report']='此伺服器沒有資訊可以回報'; - -//update.php -$lang['update_array_malformed']='無法更新陣列,可能是phpLDAPadmin的bug,請回報此問題'; -$lang['could_not_perform_ldap_modify']='無法執行ldap_modify操作'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes']='您確定要做這些更動?'; -$lang['attribute']='屬性'; -$lang['old_value']='原設定值'; -$lang['new_value']='新設定植'; -$lang['attr_deleted']='[屬性已刪除]'; -$lang['commit']='送出'; -$lang['cancel']='取消'; -$lang['you_made_no_changes']='您並沒有做任何更動'; -$lang['go_back']='回上頁'; - -// welcome.php -$lang['welcome_note']='請用左邊的選單瀏覽'; -$lang['credits']='成員列表'; -$lang['changelog']='更新紀錄'; -$lang['donate']='捐獻'; - -// view_jpeg_photo.php -$lang['unsafe_file_name']='不安全的檔案名稱:'; -$lang['no_such_file']='沒有以下檔案:'; - -//function.php -$lang['auto_update_not_setup']='您在設定中開啟 %s的auto_uid_numbers功能,但並未指定auto_uid_number_mechanism,請修正此問題'; -$lang['uidpool_not_set']='伺服器%s的auto_uid_number_mechanism指定為uidpool,但並未指定audo_uid_number_uid_pool_dn,請修正此問題再繼續'; -$lang['uidpool_not_exist']='您再設定檔(\"%s\")中指定的uidPool機制並不存在'; -$lang['specified_uidpool']='伺服器%s的auto_uid_number_mechanism指定為search,但您並未指定auto_uid_number_search_base,請修正此問題再繼續'; -$lang['auto_uid_invalid_credential']='無法以您的auto_uid設定登入%s,請檢查您的設定檔'; -$lang['bad_auto_uid_search_base']='您在phpLDAPadmin設定中對伺服器%s指定了無效的auto_uid_search_base'; -$lang['auto_uid_invalid_value']='您的auto_uid_number_mechanism (\"%s\") 設定是無效的,只有uidpool與search為有效設定,請修正此問題'; -$lang['error_auth_type_config']='錯誤:您的設定有錯誤,變數auth_type只允許session , cookie與config,您的設定值 '; -$lang['php_install_not_supports_tls']='您安裝的 php 並沒有支援 TLS.'; -$lang['could_not_start_tls']='無法啟動 TLS 請檢查您的 LDAP 伺服器設定.'; -$lang['could_not_bind_anon']='伺服器不接受匿名登入'; -$lang['anonymous_bind']='匿名登入'; -$lang['bad_user_name_or_password']='錯誤的 使用者名稱 或 密碼.請重新輸入一次.'; -$lang['redirecting_click_if_nothing_happens']='正在重新導向...如果瀏覽器沒有動作,請點選這裡.'; -$lang['successfully_logged_in_to_server']='成功登入伺服器 %s'; -$lang['could_not_set_cookie']='不能設定 cookie'; -$lang['ldap_said']='伺服器回應: %s'; -$lang['ferror_error']='錯誤'; -$lang['fbrowse']='瀏覽'; -$lang['delete_photo']='刪除相片'; -$lang['install_not_support_blowfish']='您所安裝的 PHP 並不支援 Blowfish 加密'; -$lang['install_no_mash']='您所安裝的 PHP 並沒有 mhash() 函數,無法進行 SHA 加密'; -$lang['jpeg_contains_errors']='jpegPhoto 內容發生錯誤
    '; -$lang['ferror_number']='錯誤碼: %s (%s)'; -$lang['ferror_discription']='說明: %s

    '; -$lang['ferror_number_short']='錯誤編號: %s'; -$lang['ferror_discription_short']='說明: (無任何說明內容)
    '; -$lang['ferror_submit_bug']='這是 phpLDAPadmin 的 bug? 如果是,請回報這個Bug.'; -$lang['ferror_unrecognized_num']='無法辨識的錯誤代碼:'; -$lang['ferror_nonfatil_bug']='
    -
    - You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Please report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug']='恭喜! 您發現了phpLDAPadmin的bug.

    - - - - - - - - - -
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title']='匯入 LDIF 檔案'; -$lang['select_ldif_file']='選擇一個 LDIF 檔案:'; -$lang['select_ldif_file_proceed']='下一步'; - -//ldif_import -$lang['add_action']='增加中...'; -$lang['delete_action']='刪除中...'; -$lang['rename_action']='更名中...'; -$lang['modify_action']='改變中...'; -$lang['warning_no_ldif_version_found']='找不到版本資訊,預設使用版本1'; -$lang['valid_dn_line_required']='需要有效的識別名稱行'; -$lang['missing_uploaded_file']='找不到指定的上傳檔案'; -$lang['no_ldif_file_specified.']='沒有指定LDIF檔案請重試'; -$lang['ldif_file_empty']='上傳的 LDIF 檔案是空白的'; -$lang['file']='檔案'; -$lang['number_bytes']='%s bytes'; -$lang['failed']='失敗'; -$lang['ldif_parse_error']='LDIF 解析錯誤'; -$lang['ldif_could_not_add_object']='無法新增 object:'; -$lang['ldif_could_not_rename_object']='無法重新命名 object:'; -$lang['ldif_could_not_delete_object']='無法刪除 object:'; -$lang['ldif_could_not_modify_object']='無法修改 object:'; -$lang['ldif_line_number']='行數:'; -$lang['ldif_line']='行:'; - -// Exports -$lang['export_format']='匯出格式'; -$lang['line_ends']='斷行'; -$lang['must_choose_export_format']='你必須選擇一種匯出格式'; -$lang['invalid_export_format']='無效的匯出格式'; -$lang['no_exporter_found']='沒有可用的匯出程式'; -$lang['error_performing_search']='在執行搜尋時發生錯誤'; -$lang['showing_results_x_through_y']='透過 %s 顯示結果 %s'; -$lang['searching']='搜索中...'; -$lang['size_limit_exceeded']='注意:到達搜尋大小上限'; -$lang['entry']='紀錄'; -$lang['ldif_export_for_dn']='匯出 LDIF :'; -$lang['generated_on_date']='由'; -$lang['total_entries']='全部的紀錄'; -$lang['dsml_export_for_dn']='匯出 DSLM :'; - -// logins -$lang['could_not_find_user']='找不到使用者 \"%s\"'; -$lang['password_blank']='您沒有輸入密碼欄位.'; -$lang['login_cancelled']='已經取消登入.'; -$lang['no_one_logged_in']='在此伺服器尚無人登入.'; -$lang['could_not_logout']='無法登出.'; -$lang['unknown_auth_type']='未知的認證模式: %s'; -$lang['logged_out_successfully']='成功的從 %s 伺服器登出'; -$lang['authenticate_to_server']='登入伺服器 %s'; -$lang['warning_this_web_connection_is_unencrypted']='警告: 這個網頁連線是沒有加密的.'; -$lang['not_using_https']='您並未使用https加密連線,您的瀏覽器將直接以明碼傳送您的帳號與密碼'; -$lang['login_dn']='登入 DN'; -$lang['user_name']='使用者名稱'; -$lang['password']='密碼'; -$lang['authenticate']='驗證'; - -// Entry browser -$lang['entry_chooser_title']='紀錄選擇器'; - -// Index page -$lang['need_to_configure']='您必須先設定phpLDAPadmin,請依照config.php.example編輯config.php'; - -// Mass deletes -$lang['no_deletes_in_read_only']='在唯讀模式時不允許刪除資料'; -$lang['error_calling_mass_delete']='呼叫mass_delete.php時發生錯誤,mass_delete不在POST變數中'; -$lang['mass_delete_not_array']='mass_delete POST變數不是陣列'; -$lang['mass_delete_not_enabled']='大量刪除功能並未開啟,請在config.php中開啟此功能'; -$lang['mass_deleting']='大量刪除'; -$lang['mass_delete_progress']='正在 \"%s\" 伺服器上進行刪除程序'; -$lang['malformed_mass_delete_array']='錯誤的大量刪除陣列'; -$lang['no_entries_to_delete']='您沒有選擇任何要刪除的紀錄'; -$lang['deleting_dn']='刪除 %s'; -$lang['total_entries_failed']='無法刪除紀錄 %s %s'; -$lang['all_entries_successful']='全部刪除完成'; -$lang['confirm_mass_delete']='確認要刪除 %s 登入在伺服器 %s上'; -$lang['yes_delete']='沒錯,刪除吧!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed']='當此記錄有子紀錄時無法重新命名'; -$lang['no_rdn_change']='您並沒有改變相對識別名稱'; -$lang['invalid_rdn']='無效的相對識別名稱'; -$lang['could_not_rename']='無法重新命名'; - -?> \ No newline at end of file diff --git a/lang/recoded/zz.php b/lang/recoded/zz.php deleted file mode 100644 index 922fdc0..0000000 --- a/lang/recoded/zz.php +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/lang/recoded/zzz.php b/lang/recoded/zzz.php deleted file mode 100644 index d7822e9..0000000 --- a/lang/recoded/zzz.php +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/lang/ru.php b/lang/ru.php deleted file mode 100644 index 2bac5ed..0000000 --- a/lang/ru.php +++ /dev/null @@ -1,535 +0,0 @@ -%s
    в Вашей конфигурации, - но Вы не указали auto_uid_number_mechanism. Пожалуйста исправьте эту проблему.'; -$lang['uidpool_not_set'] = 'Вы указали "auto_uid_number_mechanism" как "uidpool" - в Вашей конфигурации для сервера %s, но не указали - audo_uid_number_uid_pool_dn. Исправьте это перед тем как продолжить.'; -$lang['uidpool_not_exist'] = 'Похоже что uidPool, который Вы указали в Вашей конфигурации ("%s") - не существует.'; -$lang['specified_uidpool'] = 'Вы указали "auto_uid_number_mechanism" как "search" в Вашей кофигурации - для сервера %s, но не указали - "auto_uid_number_search_base". Исправьте это перед тем как продолжить.'; -$lang['auto_uid_invalid_credential'] = 'Не могу привязаться к %s с Вашими auto_uid данными. Проверьте Ваш файл конфигурации.'; -$lang['bad_auto_uid_search_base'] = 'В Вашей конфигурации phpLDAPadmin указано неверное значение для auto_uid_search_base для сервера %s'; -$lang['auto_uid_invalid_value'] = 'Вы указали неверное значение для auto_uid_number_mechanism ("%s") - в Вашей конфигурации. Возможны только "uidpool" и "search". - Пожалуйста исправьте эту проблему.'; -$lang['error_auth_type_config'] = 'Ошибка: В Вашем конфигурационном файле ошибка. Единственные три допустимых значения - для auth_type в секции $servers - \'session\', \'cookie\', и \'config\'. Вы ввели \'%s\', - что недопустимо. '; -$lang['php_install_not_supports_tls'] = 'Ваша установленная версия PHP не поддерживает TLS.'; -$lang['could_not_start_tls'] = 'Не могу запустить TLS. Проверьте конфигурацию Вашего LDAP-сервера.'; -$lang['could_not_bind_anon'] = 'Не могу анонимно привязаться к серверу.'; -$lang['could_not_bind'] = 'Не удалось привязаться к LDAP-серверу.'; -$lang['anonymous_bind'] = 'Анонимная привязка'; -$lang['bad_user_name_or_password'] = 'Неверное имя или пароль. Попробуйте еще раз.'; -$lang['redirecting_click_if_nothing_happens'] = 'Перенапрявляю... Нажмите здесь, если ничего не происходит.'; -$lang['successfully_logged_in_to_server'] = 'Успешно вошли на сервер %s'; -$lang['could_not_set_cookie'] = 'Не удалось установить cookie.'; -$lang['ldap_said'] = 'LDAP ответил: %s'; -$lang['ferror_error'] = 'Ошибка'; -$lang['fbrowse'] = 'просмотр'; -$lang['delete_photo'] = 'Удалить фотографию'; -$lang['install_not_support_blowfish'] = 'Ваша установленная версия PHP не поддерживает шифрование blowfish.'; -$lang['install_not_support_md5crypt'] = 'Ваша установленная версия PHP не поддерживает шифрование md5crypt.'; -$lang['install_no_mash'] = 'Ваша установленная версия PHP не имеет функцию mhash(). Не могу создать хэши SHA.'; -$lang['jpeg_contains_errors'] = 'jpegPhoto содержит ошибки
    '; -$lang['ferror_number'] = 'Номер ошибки: %s (%s)'; -$lang['ferror_discription'] = 'Описание: %s

    '; -$lang['ferror_number_short'] = 'Номер ошибки: %s

    '; -$lang['ferror_discription_short'] = 'Описание: (нет описания)
    '; -$lang['ferror_submit_bug'] = 'Если это ошибка phpLDAPadmin - пожалуйста, сообщите о ней.'; -$lang['ferror_unrecognized_num'] = 'Нераспознанная ошибка: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Вы нашли нефатальную ошибку phpLDAPadmin!
    Ошибка:%s (%s)
    Файл:%s строка %s, вызвано %s
    Версии:PLA: %s, PHP: %s, SAPI: %s -
    Web сервер:%s
    - Сообщите об этой ошибке нажав здесь.

    '; -$lang['ferror_congrats_found_bug'] = 'Поздравляем! Вы нашли ошибку в phpLDAPadmin.

    - - - - - - - - - - -
    Ошибка:%s
    Уровень:%s
    Файл:%s
    Строка:%s
    Вызвано:%s
    PLA Версия:%s
    PHP Версия:%s
    PHP SAPI:%s
    Web сервер:%s
    -
    - Сообщите об этой ошибке нажав ниже!'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Иморт LDIF файла'; -$lang['select_ldif_file'] = 'Выберите LDIF файл:'; -$lang['select_ldif_file_proceed'] = 'Далее >>'; -$lang['dont_stop_on_errors'] = 'Не останавливаться на ошибках'; - -//ldif_import -$lang['add_action'] = 'Добавляю...'; -$lang['delete_action'] = 'Удаляю...'; -$lang['rename_action'] = 'Переименовываю...'; -$lang['modify_action'] = 'Изменяю...'; -$lang['warning_no_ldif_version_found'] = 'Не найдено номера версии. Предполагаю 1.'; -$lang['valid_dn_line_required'] = 'Требуется правильная строка с dn.'; -$lang['missing_uploaded_file'] = 'Отсутствует загруженный файл.'; -$lang['no_ldif_file_specified.'] = 'не указан LDIF файл. Попробуйте еще раз.'; -$lang['ldif_file_empty'] = 'Загруженный LDIF файл пуст.'; -$lang['empty'] = 'пуст'; -$lang['file'] = 'Файл'; -$lang['number_bytes'] = '%s байт'; - -$lang['failed'] = 'Не удалось'; -$lang['ldif_parse_error'] = 'Ошибка интерпретации LDIF файла'; -$lang['ldif_could_not_add_object'] = 'Не удалось добавить объект:'; -$lang['ldif_could_not_rename_object'] = 'Не удалось переименовать объект:'; -$lang['ldif_could_not_delete_object'] = 'Не удалось удалить объект:'; -$lang['ldif_could_not_modify_object'] = 'Не удалось изменить объект:'; -$lang['ldif_line_number'] = 'Номер строки:'; -$lang['ldif_line'] = 'Строка:'; - -// Exports -$lang['export_format'] = 'Формат экспорта'; -$lang['line_ends'] = 'Конец строки'; -$lang['must_choose_export_format'] = 'Вы должны выбрать формат экспорта.'; -$lang['invalid_export_format'] = 'Неверный формат экспорта'; -$lang['no_exporter_found'] = 'Нет доступных экспортеров.'; -$lang['error_performing_search'] = 'Произошла ошибка во время поиска.'; -$lang['showing_results_x_through_y'] = 'Показываю результаты с %s по %s.'; -$lang['searching'] = 'Поиск...'; -$lang['size_limit_exceeded'] = 'Внимание, превышен размер поиска.'; -$lang['entry'] = 'Запись'; -$lang['ldif_export_for_dn'] = 'LDIF экспорт для: %s'; -$lang['generated_on_date'] = 'Сгенерировано phpLDAPadmin %s'; -$lang['total_entries'] = 'Всего записей'; -$lang['dsml_export_for_dn'] = 'DSLM экспорт для: %s'; - -// logins -$lang['could_not_find_user'] = 'Не могу найти пользователя "%s"'; -$lang['password_blank'] = 'Вы не ввели пароль.'; -$lang['login_cancelled'] = 'Вход отменен.'; -$lang['no_one_logged_in'] = 'На этом сервере сейчас никого нет.'; -$lang['could_not_logout'] = 'Не удалось выйти.'; -$lang['unknown_auth_type'] = 'Неизвестный auth_type: %s'; -$lang['logged_out_successfully'] = 'Успешно вышли с сервера %s'; -$lang['authenticate_to_server'] = 'Авторизация на сервере %s'; -$lang['warning_this_web_connection_is_unencrypted'] = 'Предупреждение: Это web-соединение нешифровано.'; -$lang['not_using_https'] = 'Вы не используете \'https\'. Web-браузер передает авторизационные данные открытым текстом.'; -$lang['login_dn'] = 'Login DN'; -$lang['user_name'] = 'Имя пользователя'; -$lang['password'] = 'Пароль'; -$lang['authenticate'] = 'Авторизация'; - -// Entry browser -$lang['entry_chooser_title'] = 'Выбор записи'; - -// Index page -$lang['need_to_configure'] = 'Вам надо сконфигурировать phpLDAPadmin. Отредактируйте файл \'config.php\'. Примерный файл настроек - \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'Удаление невозможно в режиме "только для чтения".'; -$lang['error_calling_mass_delete'] = 'Ошибка вызова mass_delete.php. Отсутствует mass_delete в POST переменных.'; -$lang['mass_delete_not_array'] = 'POST переменная mass_delete не в массиве.'; -$lang['mass_delete_not_enabled'] = 'Массовое удаление не разрешено. Испровьте это в config.php перед тем как продолжить.'; -$lang['mass_deleting'] = 'Массовое удаление'; -$lang['mass_delete_progress'] = 'Прогресс удаления на сервере "%s"'; -$lang['malformed_mass_delete_array'] = 'Неправильно сформированный массив mass_delete.'; -$lang['no_entries_to_delete'] = 'Вы не выбрали ни одной записи для удаления.'; -$lang['deleting_dn'] = 'Удаляю %s'; -$lang['total_entries_failed'] = 'Не удалось удалить %s из %s записей.'; -$lang['all_entries_successful'] = 'Все записи успешно удалены.'; -$lang['confirm_mass_delete'] = 'Подтвердите массовое удаление %s записей на сервере %s'; -$lang['yes_delete'] = 'Да, удалить!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = 'Вы не можете переименовать запись, которая имеет потомков (т.е., операция переименования не допустима для дерева)'; -$lang['no_rdn_change'] = 'Вы не изменили RDN'; -$lang['invalid_rdn'] = 'Неверное значение RDN'; -$lang['could_not_rename'] = 'Не удалось переименовать запись'; - -?> diff --git a/lang/sv.php b/lang/sv.php deleted file mode 100644 index 91255ec..0000000 --- a/lang/sv.php +++ /dev/null @@ -1,387 +0,0 @@ - - * based on 0.9.3 Version - -*/ - -// Search form -$lang['simple_search_form_str'] = 'Enkel skning';//'Simple Search Form'; -$lang['advanced_search_form_str'] = 'Expertskning';//'Advanced Search Form'; -$lang['server'] = 'Server';//'Server'; -$lang['search_for_entries_whose'] = 'Sk efter rader som';//'Search for entries whose'; -$lang['base_dn'] = 'Base DN';//'Base DN'; -$lang['search_scope'] = 'Skomfng';//Search Scope'; -$lang['search_ filter'] = 'Skfilter';//'Search Filter'; -$lang['show_attributes'] = 'Visa attribut';//'Show Attributtes'; -$lang['Search'] = 'Sk';// 'Search'; -$lang['equals'] = 'lika med';//'equals'; -$lang['starts_with'] = 'Brjar med';//'starts with'; -$lang['contains'] = 'innehller';//'contains'; -$lang['ends_with'] = 'slutar med';//'ends with'; -$lang['sounds_like'] = 'lter som';//'sounds like'; - -// Tree browser -$lang['request_new_feature'] = 'Begr en ny funktion';//'Request a new feature'; -$lang['see_open_requests'] = 'Se ppna frfrgningar';//'see open requests'; -$lang['report_bug'] = 'Rapportera ett fel';//'Report a bug'; -$lang['see_open_bugs'] = 'Se ppna felrapporter';//'see open bugs'; -$lang['schema'] = 'schema';//'schema'; -$lang['search'] = 'skning';//'search'; -$lang['create'] = 'skapa';//'create'; -$lang['info'] = 'information';//'info'; -$lang['import'] = 'importera';//'import'; -$lang['refresh'] = 'uppdatera';//'refresh'; -$lang['logout'] = 'logga ut';//'logout'; -$lang['create_new'] = 'Skapa ny';//'Create New'; -$lang['view_schema_for'] = 'Titta p schema fr';//'View schema for'; -$lang['refresh_expanded_containers'] = 'Uppdatera alla pnna behllare fr';//'Refresh all expanded containers for'; -$lang['create_new_entry_on'] = 'Skapa en ny post fr';//'Create a new entry on'; -$lang['view_server_info'] = 'Titta p information som servern tillhandahllit';//'View server-supplied information'; -$lang['import_from_ldif'] = 'Importera rader frn LDIF file';//'Import entries from an LDIF file'; -$lang['logout_of_this_server'] = 'Logga ut frn den hr servern';//'Logout of this server'; -$lang['logged_in_as'] = '/Inloggad som';//'Logged in as: '; -$lang['read_only'] = 'Enbart lsning';//'read only'; -$lang['could_not_determine_root'] = 'Kan inte bestmma roten fr ditt LDAP trd';//'Could not determine the root of your LDAP tree.'; -$lang['ldap_refuses_to_give_root'] = 'Det ser ut som om LDAP-servern har konfigurerats att inte avslja sin rot.';//'It appears that the LDAP server has been configured to not reveal its root.'; -$lang['please_specify_in_config'] = 'Var snll och specificera i config.php';//'Please specify it in config.php'; -$lang['create_new_entry_in'] = 'Skapa en ny post i';//'Create a new entry in'; -$lang['login_link'] = 'Logga in...';//'Login...'; - -// Entry display -$lang['delete_this_entry'] = 'Ta bort den hr posten';//'Delete this entry'; -$lang['delete_this_entry_tooltip'] = 'Du kommer att bli tillfrgad fr att konfirmera det hr beslutet';//'You will be prompted to confirm this decision'; -$lang['copy_this_entry'] = 'Kopiera den hr posten';//'Copy this entry'; -$lang['copy_this_entry_tooltip'] = 'Kopiera det hr objektet till en annan plats, ett nytt DN, eller en annan server';//'Copy this object to another location, a new DN, or another server'; -$lang['export_to_ldif'] = 'Exportera till LDIF';//'Export to LDIF'; -$lang['export_to_ldif_tooltip'] = 'Spara en LDIF kopia av detta objekt';//'Save an LDIF dump of this object'; -$lang['export_subtree_to_ldif_tooltip'] = 'Spara en LDIF kopia av detta objekt och alla dess underobjekt';//'Save an LDIF dump of this object and all of its children'; -$lang['export_subtree_to_ldif'] = 'Exportera subtrdet till LDIF';//'Export subtree to LDIF'; -$lang['export_to_ldif_mac'] = 'Radslut enligt Macintosh-standard';// 'Macintosh style line ends'; -$lang['export_to_ldif_win'] = 'Radslut enligt Windows-standard';//'Windows style line ends'; -$lang['export_to_ldif_unix'] = 'Radslut enligt Unix-standard';//'Unix style line ends'; -$lang['create_a_child_entry'] = 'Skapa en subpost';//'Create a child entry'; -$lang['add_a_jpeg_photo'] = 'Lgg till ett JPEG-foto';//'Add a jpegPhoto'; -$lang['rename_entry'] = 'Dp om posten';//'Rename Entry'; -$lang['rename'] = 'Dp om ';//'Rename'; -$lang['add'] = 'Lgg till';//'Add'; -$lang['view'] = 'Titta';//'View'; -$lang['add_new_attribute'] = 'Lgg till ett nytt attribut';//'Add New Attribute'; -$lang['add_new_attribute_tooltip'] = 'Lgg till ett nytt attribut/vrde till denna post';//'Add a new attribute/value to this entry'; -$lang['internal_attributes'] = 'Interna attribut';//'Internal Attributes'; -$lang['hide_internal_attrs'] = 'Gm interna attribut';//'Hide internal attributes'; -$lang['show_internal_attrs'] ='Visa interna attribut';// 'Show internal attributes'; -$lang['internal_attrs_tooltip'] = 'Attribut som stts automatiskt av systemet';//'Attributes set automatically by the system'; -$lang['entry_attributes'] = 'Ingngsattribut';//'Entry Attributes'; -$lang['attr_name_tooltip'] = 'Klicka fr att titta p schemadefinitionen fr attributtyp \'%s\'';//'Click to view the schema defintion for attribute type \'%s\''; -$lang['click_to_display'] = 'klicka\'+\' fr att visa';// 'click \'+\' to display'; -$lang['hidden'] = 'gmda';//'hidden'; -$lang['none'] = 'inget';//'none'; -$lang['save_changes'] = 'Spara ndringar';//'Save Changes'; -$lang['add_value'] = 'lgg till vrde';//'add value'; -$lang['add_value_tooltip'] = 'Lgg till ett ytterligare vrde till attribut \'%s\''; // 'Add an additional value to attribute \'%s\''; -$lang['refresh_entry'] = 'Uppdatera';//'Refresh'; -$lang['refresh_this_entry'] = 'Uppdatera denna post';//'Refresh this entry'; -$lang['delete_hint'] = 'Tips: Fr att ta bort ett attribut, ta bort all text i textfltet och klicka \'Spara ndringar\'.'; 'Hint: To delete an attribute, empty the text field and click save.'; -$lang['attr_schema_hint'] = 'Tips: Fr att titta p ett attributs schema, klicka p attributnamnet';//'Hint: To view the schema for an attribute, click the attribute name.'; -$lang['attrs_modified'] = 'Ngra attribut var ndrade och r markerade nedan.';//'Some attributes (%s) were modified and are highlighted below.'; -$lang['attr_modified'] = 'Ett attribut var ndrat och r markerat nedan.';//An attribute (%s) was modified and is highlighted below.'; -$lang['viewing_read_only'] = 'Titta p en post med enbart lstiilstnd';//'Viewing entry in read-only mode.'; -$lang['change_entry_rdn'] = 'ndra denna posts RDN';//'Change this entry\'s RDN'; -$lang['no_new_attrs_available'] = 'inga nya attribut tillgngliga fr denna post';//'no new attributes available for this entry'; -$lang['binary_value'] = 'Binrt vrde';//'Binary value'; -$lang['add_new_binary_attr'] = 'Lgg till nytt binrt attribut';//'Add New Binary Attribute'; -$lang['add_new_binary_attr_tooltip'] = 'Lgg till nytt binrt attribut/vrde frn en fil';//'Add a new binary attribute/value from a file'; -$lang['alias_for'] = 'Observera: \'%s\' r ett alias for \'%s\'';//'Note: \'%s\' is an alias for \'%s\''; -$lang['download_value'] = 'ladda ner vrde';//'download value'; -$lang['delete_attribute'] = 'ta bort attribut';//'delete attribute'; -$lang['true'] = 'Sant';//'true'; -$lang['false'] = 'Falskt';//'false'; -$lang['none_remove_value'] = 'inget, ta bort vrdet';//'none, remove value'; -$lang['really_delete_attribute'] = 'Ta definitivt bort vrdet';//'Really delete attribute'; - -// Schema browser -$lang['the_following_objectclasses'] = 'Fljande objektklasser stds av denna LDAP server.';//'The following objectClasses are supported by this LDAP server.'; -$lang['the_following_attributes'] = 'Fljande attributtyper stds av denna LDAP server.';//'The following attributeTypes are supported by this LDAP server.'; -$lang['the_following_matching'] = 'Fljande matchningsregler stds av denna LDAP server.';//'The following matching rules are supported by this LDAP server.'; -$lang['the_following_syntaxes'] = 'Fljande syntax stds av denna LDAP server.';//'The following syntaxes are supported by this LDAP server.'; -$lang['jump_to_objectclass'] = 'Vlj en objectClass';//'Jump to an objectClass'; -$lang['jump_to_attr'] = 'Vlj en attributtyp';//'Jump to an attribute type'; -$lang['schema_for_server'] = 'Schema fr servern';//'Schema for server'; -$lang['required_attrs'] = 'Ndvndiga attribut';//'Required Attributes'; -$lang['optional_attrs'] = 'Valfria attribut';//'Optional Attributes'; -$lang['OID'] = 'OID';//'OID'; -$lang['desc'] = 'Beskrivning';//'Description'; -$lang['name'] = 'Namn';//'Name'; -$lang['is_obsolete'] = 'Denna objectClass r frldrad';//'This objectClass is obsolete'; -$lang['inherits'] = 'rver';//'Inherits'; -$lang['jump_to_this_oclass'] = 'G till definitionen av denna objectClass';//'Jump to this objectClass definition'; -$lang['matching_rule_oid'] = 'Matchande regel-OID';//'Matching Rule OID'; -$lang['syntax_oid'] = 'Syntax-OID';//'Syntax OID'; -$lang['not_applicable'] = 'inte tillmplig';//'not applicable'; -$lang['not_specified'] = 'inte specificerad';//'not specified'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'Borttagning av posten \'%s\' lyckades';//'Entry \'%s\' deleted successfully.'; -$lang['you_must_specify_a_dn'] = 'Du mste specificera ett DN';//'You must specify a DN'; -$lang['could_not_delete_entry'] = 'Det gick inte att ta bort posten';//'Could not delete the entry: %s'; - -// Adding objectClass form -$lang['new_required_attrs'] = 'Nya ndvndiga attribut';//'New Required Attributes'; -$lang['requires_to_add'] = 'Den hr tgrden krver att du lgger till';//'This action requires you to add'; -$lang['new_attributes'] = 'nya attribut';//'new attributes'; -$lang['new_required_attrs_instructions'] = 'Instruktioner: Fr att kunna lgga till objektklassen till denna post, mste du specificera';//'Instructions: In order to add this objectClass to this entry, you must specify'; -$lang['that_this_oclass_requires'] = 'att objektklassen krver. Det kan gras i detta formulr.';//'that this objectClass requires. You can do so in this form.'; -$lang['add_oclass_and_attrs'] = 'Lgg till objektklass och attribut';//'Add ObjectClass and Attributes'; - -// General -$lang['chooser_link_tooltip'] = 'Klicka fr att ppna ett fnster fr att vlja ett grafiskt.';//'Click to popup a dialog to select an entry (DN) graphically'; -$lang['no_updates_in_read_only_mode'] = 'Du kan inte gra uppdateringar medan servern r i lstillstnd';//'You cannot perform updates while server is in read-only mode'; -$lang['bad_server_id'] = 'Felaktigt server-id';//'Bad server id'; -$lang['not_enough_login_info'] = 'Det saknas information fr att logga in p servern. Var vnlig och kontrollera din konfiguration.';//'Not enough information to login to server. Please check your configuration.'; -$lang['could_not_connect'] = 'Det gick inte att ansluta till LDAP-servern.';//'Could not connect to LDAP server.'; -$lang['could_not_perform_ldap_mod_add'] = 'Det gick inte att utfra ldap_mod_add operationen.';//''Could not perform ldap_mod_add operation.'; -$lang['bad_server_id_underline'] = 'Felaktigt server_id';//'Bad server_id: '; -$lang['success'] = 'Det lyckades';//'Success'; -$lang['server_colon_pare'] = 'Server';//'Server: '; -$lang['look_in'] = 'Tittar in';//'Looking in: '; -$lang['missing_server_id_in_query_string'] = 'Inget server-ID specificerat i frgestrgen!';//'No server ID specified in query string!'; -$lang['missing_dn_in_query_string'] = 'Inget DN specificerat i frgestrgen!';//'No DN specified in query string!'; -$lang['back_up_p'] = 'Tillbaka';//'Back Up...'; -$lang['no_entries'] = 'inga poster';//'no entries'; -$lang['not_logged_in'] = 'Inte inloggad';//'Not logged in'; -$lang['could_not_det_base_dn'] = 'Det gick inte att bestmma \'base DN\'';//'Could not determine base DN'; - -// Add value form -$lang['add_new'] = 'Lgg till nytt';//'Add new'; -$lang['value_to'] = 'vrde till';//'value to'; -$lang['distinguished_name'] = 'Distinguished Name';//'Distinguished Name'; -$lang['current_list_of'] = 'Aktuell lista av';//'Current list of'; -$lang['values_for_attribute'] = 'attributvrden';//'values for attribute'; -$lang['inappropriate_matching_note'] = 'Observera: Du kommer att f ett \'inappropriate matching\'-fel om du inte har
    ' . - 'satt upp en EQUALITY-regel p din LDAP-server fr detta attribut.';// 'Note: You will get an "inappropriate matching" error if you have not
    ' . - 'setup an EQUALITY rule on your LDAP server for this attribute.'; -$lang['enter_value_to_add'] = 'Skriv in vrdet du vill lgga till';//'Enter the value you would like to add:'; -$lang['new_required_attrs_note'] = 'Observera: Du kan bli tvungen att skriva in de nya attribut som denna objectClass behver';//'Note: you may be required to enter new attributes that this objectClass requires'; -$lang['syntax'] = 'Syntax';//'Syntax'; - -//copy.php -$lang['copy_server_read_only'] = 'Du kan inte gra uppdateringar medan servern r i lstillstnd';//'You cannot perform updates while server is in read-only mode'; -$lang['copy_dest_dn_blank'] = 'Du lmnade destinations-DN tomt';//'You left the destination DN blank.'; -$lang['copy_dest_already_exists'] = 'Destinationen finns redan';//'The destination entry (%s) already exists.'; -$lang['copy_dest_container_does_not_exist'] = 'Destinations-behllaren (%s) finns inte';// 'The destination container (%s) does not exist.'; -$lang['copy_source_dest_dn_same'] = 'Kll- och destinations-DN r samma.';//'The source and destination DN are the same.'; -$lang['copy_copying'] = 'Kopierar';//'Copying '; -$lang['copy_recursive_copy_progress'] = 'Rekursiv kopiering pgr';//'Recursive copy progress'; -$lang['copy_building_snapshot'] = 'Bygger en gonblicksbild av det trd som ska kopieras';//'Building snapshot of tree to copy... '; -$lang['copy_successful_like_to'] = 'Kopieringen lyckades! Vill du';//'Copy successful! Would you like to '; -$lang['copy_view_new_entry'] = 'titta p den nya posten';//'view the new entry'; -$lang['copy_failed'] = 'Kopiering av DN misslyckades';//'Failed to copy DN: '; - -//edit.php -$lang['missing_template_file'] = 'Varning! mall-filen saknas,';//'Warning: missing template file, '; -$lang['using_default'] = 'anvnder default.'; //'Using default.'; - -//copy_form.php -$lang['copyf_title_copy'] = 'Kopiera';//'Copy '; -$lang['copyf_to_new_object'] = 'till ett nytt objekt';//'to a new object'; -$lang['copyf_dest_dn'] = 'Destinations-DN';//'Destination DN'; -$lang['copyf_dest_dn_tooltip'] = 'Den nya postens fullstndiga DN skapas nr kllposten kopieras';//'The full DN of the new entry to be created when copying the source entry'; -$lang['copyf_dest_server'] = 'Destinations-server';//'Destination Server'; -$lang['copyf_note'] = 'Tips: Kopiering mellan olika servrar fungerar bara om det inte finns ngra brott mot schemorna.';// 'Hint: Copying between different servers only works if there are no schema violations'; -$lang['copyf_recursive_copy'] = 'Kopiera ven rekursivt alla underobjekt till detta objekt.';//'Recursively copy all children of this object as well.'; - -//create.php -$lang['create_required_attribute'] = 'Du lmnade ett vrde tomt fr ett ndvndigt attribut %s.';//'You left the value blank for required attribute %s.'; -$lang['create_redirecting'] = 'Omstyrning';//'Redirecting'; -$lang['create_here'] = 'hr';//'here'; -$lang['create_could_not_add'] = 'Det gick inte att lgga till objektet till LDAP-servern.';//'Could not add the object to the LDAP server.'; - -//create_form.php -$lang['createf_create_object'] = 'Skapa objekt';//'Create Object'; -$lang['createf_choose_temp'] = 'Vlj en mall';//'Choose a template'; -$lang['createf_select_temp'] = 'Vlj en mall fr att skapa objekt';//'Select a template for the creation process'; -$lang['createf_proceed'] = 'Fortstt';//'Proceed'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'P servern';//'On server'; -$lang['ctemplate_no_template'] = 'Ingen mall specificerad i POST variablerna.';//'No template specified in POST variables.'; -$lang['ctemplate_config_handler'] = 'Din konfiguration specificerar en hanterare';//'Your config specifies a handler of'; -$lang['ctemplate_handler_does_not_exist'] = 'fr denna mall, men hanteraren finns inte i templates/creation-katalogen';//'for this template. But, this handler does not exist in the templates/creation directory.'; - -// search.php -$lang['you_have_not_logged_into_server'] = 'Du har inte loggat in till den valda servern nnu, s du kan inte gra skningar p den.';//'You have not logged into the selected server yet, so you cannot perform searches on it.'; -$lang['click_to_go_to_login_form'] = 'Klicka hr fr att komma till login-formulret';//'Click here to go to the login form'; -$lang['unrecognized_criteria_option'] = 'Knner inte till detta urvals-kriterium';//'Unrecognized criteria option: '; -$lang['if_you_want_to_add_criteria'] = 'Om du vill lgga till ditt eget kriterium till listan, kom ihg att ndra search.php fr att hantera det. Avslutar.';//'If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting.'; -$lang['entries_found'] = 'Poster funna:';//'Entries found: '; -$lang['filter_performed'] = 'Filtrering utfrd: ';//'Filter performed: '; -$lang['search_duration'] = 'Skning utfrd av phpLDAPadmin p';//'Search performed by phpLDAPadmin in'; -$lang['seconds'] = 'sekunder';//'seconds'; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'Skomfattning';//'The scope in which to search'; -$lang['scope_sub'] = 'Sub (Base DN och hela trdet under)';//'Sub (entire subtree)'; -$lang['scope_one'] = 'One (en niv under Base DN)';//One (one level beneath base)'; -$lang['scope_base'] = 'Base (endast Base DN)';//'Base (base dn only)'; -$lang['standard_ldap_search_filter'] = 'Standard LDAP skfilter. Exempel: (&(sn=Smith)(givenname=David))';//'Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = 'Skfilter';//'Search Filter'; -$lang['list_of_attrs_to_display_in_results'] = 'En lista med attribut att visa i resultatet (komma-separerad)';// 'A list of attributes to display in the results (comma-separated)'; -$lang['show_attributes'] = 'Visa attribut';//'Show Attributes'; - -// search_form_simple.php -$lang['search_for_entries_whose'] = 'Sk efter poster som:';//'Search for entries whose:'; -$lang['equals'] = 'r lika med';//'equals'; -$lang['starts with'] = 'brjar med';//'starts with'; -$lang['contains'] = 'innehller';//'contains'; -$lang['ends with'] = 'slutar med';//'ends with'; -$lang['sounds like'] = 'lter som';//'sounds like'; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'Det gick inte att hmta LDAP information frn servern.';//'Could not retrieve LDAP information from the server'; -$lang['server_info_for'] = 'Serverinformation fr';//'Server info for: '; -$lang['server_reports_following'] = 'Servern rapporterar fljande information om sig sjlv';//'Server reports the following information about itself'; -$lang['nothing_to_report'] = 'Servern har inget att rapportera';//'This server has nothing to report.'; - -//update.php -$lang['update_array_malformed'] = 'update_array r felaktig. Detta kan vara ett phpLDAPadmin-fel. Var vnlig och rapportera det.';// 'update_array is malformed. This might be a phpLDAPadmin bug. Please report it.'; -$lang['could_not_perform_ldap_modify'] = 'Det gick inte att utfra operationen ldap_modify.';//'Could not perform ldap_modify operation.'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'Vill du gra dessa ndringar?';//'Do you want to make these changes?'; -$lang['attribute'] = 'Attribut';//'Attribute'; -$lang['old_value'] = 'Fregende vrde';//'Old Value'; -$lang['new_value'] = 'Nytt vrde';//'New Value'; -$lang['attr_deleted'] = '[attributet borttaget]';//'[attribute deleted]'; -$lang['commit'] = 'Bekrfta';//'Commit'; -$lang['cancel'] = 'ngra';//'Cancel'; -$lang['you_made_no_changes'] = 'Du gjorde inga ndringar';//'You made no changes'; -$lang['go_back'] = 'G tillbaka';//'Go back'; - -// welcome.php -$lang['welcome_note'] = 'Navigera med hjlp av menyn till vnster';//'Use the menu to the left to navigate'; -$lang['credits'] = 'Tack till';//'Credits'; -$lang['changelog'] = 'ndringslogg';//'ChangeLog'; -$lang['documentation'] = 'Dokumentation';//'Documentation'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'Oskert filnamn';//'Unsafe file name: '; -$lang['no_such_file'] = 'Filen finns inte';//'No such file: '; - -//function.php -$lang['auto_update_not_setup'] = 'Du har slagit p auto_uid_numbers fr %s i din konfiguration, - men du har inte specificerat auto_uid_number_mechanism. Var vnlig och rtta till - detta problem.'; - //'You have enabled auto_uid_numbers for %s in your configuration, - //but you have not specified the auto_uid_number_mechanism. Please correct - //this problem.'; -$lang['uidpool_not_set'] = 'Du har specificerat auto_uid_number_mechanism som uidpool - i din konfiguration fr server%s, men du specificerade inte - audo_uid_number_uid_pool_dn. Var vnlig och specificera den innan du fortstter.'; - //'You specified the auto_uid_number_mechanism as uidpool - //in your configuration for server %s, but you did not specify the - //audo_uid_number_uid_pool_dn. Please specify it before proceeding.'; -$lang['uidpool_not_exist'] = 'Det ser ut som om den uidPool du specificerade i din konfiguration (%s) - inte existerar.'; - // 'It appears that the uidPool you specified in your configuration (%s) - // does not exist.'; -$lang['specified_uidpool'] = 'Du specificerade auto_uid_number_mechanism som search i din - konfiguration fr server%s, men du specificerade inte - auto_uid_number_search_base. Var vnlig och specificera den innan du fortstter.'; - // 'You specified the auto_uid_number_mechanism as search in your - //configuration for server %s, but you did not specify the - //auto_uid_number_search_base. Please specify it before proceeding.'; -$lang['auto_uid_invalid_value'] = 'Du specificerade ett ogiltigt vrde fr auto_uid_number_mechanism (%s) - i din konfiguration. Endast uidpool och search are giltiga. - Var vnlig och rtta till detta problem.'; - //'You specified an invalid value for auto_uid_number_mechanism (%s) - //in your configration. Only uidpool and search are valid. - //Please correct this problem.'; -$lang['error_auth_type_config'] = 'Fel: Du har ett fel i din konfigurationsfil. De enda tilltna vrdena - fr auth_type i $servers-sektionen r \'config\' and \'form\'. Du skrev in \'%s\', - vilket inte r tilltet. '; - //'Error: You have an error in your config file. The only two allowed values - //for auth_type in the $servers section are \'config\' and \'form\'. You entered \'%s\', - //which is not allowed. '; -$lang['php_install_not_supports_tls'] = 'Din PHP-installation stdjer inte TLS';//'Your PHP install does not support TLS'; -$lang['could_not_start_tls'] = 'Det gick inte att starta TLS.
    Var vnlig och kontrollera din LDAP-serverkonfiguration.';//'Could not start TLS.
    Please check your LDAP server configuration.'; -$lang['auth_type_not_valid'] = 'Du har ett fel i din konfigurationsfil. auth_type %s r inte tillten.';//'You have an error in your config file. auth_type of %s is not valid.'; -$lang['ldap_said'] = 'LDAP sa: %s

    ';//'LDAP said: %s

    '; -$lang['ferror_error'] = 'Fel';'Error'; -$lang['fbrowse'] = 'titta';//'browse'; -$lang['delete_photo'] = 'Ta bort foto';//'Delete Photo'; -$lang['install_not_support_blowfish'] = 'Din PHP-installation stdjer inte blowfish-kryptering.';// 'Your PHP install does not support blowfish encryption.'; -$lang['install_no_mash'] = 'Din PHP-installation har inte funktionen mash(). Det gr inte att gra SHA hashes.';//'Your PHP install does not have the mhash() function. Cannot do SHA hashes.'; -$lang['jpeg_contains_errors'] = 'JPEG-fotot innehller fel
    ';//'jpegPhoto contains errors
    '; -$lang['ferror_number'] = 'Felnummer: %s (%s)

    ';//'Error number: %s (%s)

    '; -$lang['ferror_discription'] ='Beskrivning: %s

    ';//'Description: %s

    '; -$lang['ferror_number_short'] = 'Felnummer: %s

    ';//'Error number: %s

    '; -$lang['ferror_discription_short'] = 'Beskrivning: (ingen beskrivning tillgnglig)
    ';//'Description: (no description available)
    '; -$lang['ferror_submit_bug'] = 'r det hr ett phpLDAPadmin-fel? Om s r fallet, var vnlig och rapportera det.'; -//'Is this a phpLDAPadmin bug? If so, please report it.'; -$lang['ferror_unrecognized_num'] = 'Oknt felnummer';//'Unrecognized error number: '; -$lang['ferror_nonfatil_bug'] = '
    -
    - Du har hittat en icke-kritisk phpLDAPadmin bug!
    Fel:%s (%s)
    Fil:%s rad %s, anropande %s
    Versioner:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Var vnlig och rapportera felet genom att klicka hr.

    '; - - //'
    - //
    - //You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s - //
    Web server:%s
    - //Please report this bug by clicking here.

    '; - -$lang['ferror_congrats_found_bug'] = 'Gratulerar! Du har hittat en bug i phpLDAPadmin.

    - - - - - - - - - - -
    Fel:%s
    Niv:%s
    Fil:%s
    Rad:%s
    Anropare:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Var vnlig och rapportera den hr buggen genom att klicak hr nedan!'; - -//'Congratulations! You found a bug in phpLDAPadmin.

    -// -// -// -// -// -// -// -// -// -// -//
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -//
    -//Please report this bug by clicking below!'; - - -//ldif_import_form -$lang['import_ldif_file_title'] = 'Importera LDIF-fil';//'Import LDIF File'; -$lang['select_ldif_file'] = 'Vlj en LDIF-fil:';//'Select an LDIF file:'; -$lang['select_ldif_file_proceed'] = 'Fortstt >>';//'Proceed >>'; - -//ldif_import -$lang['add_action'] = 'Lgger till...';//'Adding...'; -$lang['delete_action'] = 'Tar bort...';//'Deleting...'; -$lang['rename_action'] = 'Dper om...';//''Renaming...'; -$lang['modify_action'] = 'ndrar...';//'Modifying...'; - -$lang['failed'] = 'misslyckades';//'failed'; -$lang['ldif_parse_error'] = 'LDIF parsningsfel';//'LDIF Parse Error'; -$lang['ldif_could_not_add_object'] = 'Det gick inte att lgga till objekt';//'Could not add object:'; -$lang['ldif_could_not_rename_object'] = 'Det gick inte att lgga dpa om objekt';//'Could not rename object:'; -$lang['ldif_could_not_delete_object'] = 'Det gick inte att ta bort objekt';//'Could not delete object:'; -$lang['ldif_could_not_modify_object'] = 'Det gick inte att ndra objekt';//'Could not modify object:'; -$lang['ldif_line_number'] = 'Radnummer';//'Line Number:'; -$lang['ldif_line'] = 'Rad:';//'Line:'; -?> diff --git a/lang/zh-cn.php b/lang/zh-cn.php deleted file mode 100644 index 914b7cf..0000000 --- a/lang/zh-cn.php +++ /dev/null @@ -1,720 +0,0 @@ -"zh-cn" //Simplified Chinese - -*/ - -/* --- ָ --- - * - * 뽨һµļ - * ύSourceForge - * - * https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498548 - * - * ʹõײѡ"Check to Upload and Attach a Fileϴ" - * - * Ķdoc/README-translation.txt Եõָ - * - * лл - * - */ - -/* - * $lang phpLDAPadmin ʹõ崮 - * ÿһļֻҪжһԵӦ - * ַ - */ - -// Search form -$lang['simple_search_form_str'] = ''; -$lang['advanced_search_form_str '] = '߼'; -$lang['server'] = ''; -$lang['search_for_entries_whose'] = 'Ŀ'; -$lang['base_dn'] = 'DN'; -$lang['search_scope'] = 'Χ'; -$lang['show_attributes'] = 'ʾ'; -//$lang['attributes'] = ''; -$lang['Search'] = ''; -$lang['predefined_search_str'] = 'ѡһԤ'; -$lang['predefined_searches'] = 'Ԥ'; -$lang['no_predefined_queries'] = 'config.phpûĿ塣'; -$lang['export_results'] = ''; -$lang['unrecoginzed_search_result_format'] = 'ʶʽ %s'; -$lang['format'] = 'ʽ'; -$lang['list'] = 'б'; -$lang['table'] = ''; -$lang['bad_search_display'] = 'config.php $default_search_displayָһǷֵ %s'; -$lang['page_n'] = '%dҳ'; -$lang['no_results'] = 'ûҵ'; - -// Tree browser -$lang['request_new_feature'] = ''; -$lang['report_bug'] = '©'; -$lang['schema'] = 'ʽ'; -$lang['search'] = ''; -$lang['create'] = ''; -$lang['info'] = 'Ϣ'; -$lang['import'] = ''; -$lang['refresh'] = 'ˢ'; -$lang['logout'] = '˳'; -$lang['create_new'] = 'Ŀ'; -$lang['view_schema_for'] = '鿴ʽ'; -$lang['refresh_expanded_containers'] = 'ˢչ'; -$lang['create_new_entry_on'] = 'Ŀ'; -$lang['new'] = '½'; -$lang['view_server_info'] = '鿴ӵķϢ'; -$lang['import_from_ldif'] = 'LDIFļĿ'; -$lang['logout_of_this_server'] = '˳'; -$lang['logged_in_as'] = '¼Ϊ '; -$lang['this_base_dn_is_not_valid'] = 'DNЧ'; -$lang['this_base_dn_does_not_exist'] = 'Ŀڡ'; -$lang['read_only'] = 'ֻ'; -$lang['read_only_tooltip'] = 'ѾphpLDAPadmin ԱʶΪֻ'; -$lang['could_not_determine_root'] = 'ⲻLDAPĸ'; -$lang['ldap_refuses_to_give_root'] = 'LDAP˲Ҫ¶ĸ'; -$lang['please_specify_in_config'] = 'config.phpָ'; -$lang['create_new_entry_in'] = 'Ŀ'; -$lang['login_link'] = '¼'; -$lang['login'] = '¼'; -$lang['base_entry_does_not_exist'] = 'û׼Ŀڡ'; -$lang['create_it'] = 'Ҫ'; - -// Entry display -$lang['delete_this_entry'] = 'ɾĿ'; -$lang['delete_this_entry_tooltip'] = 'õʾҪȷϸѡ'; -$lang['copy_this_entry'] = 'ƺƶĿ'; -$lang['copy_this_entry_tooltip'] = 'ƵһλãһDNһ'; -$lang['export'] = ''; -$lang['export_lcase'] = ''; -$lang['export_tooltip'] = 'һöĵ'; -$lang['export_subtree_tooltip'] = 'һöкӵĵ'; -$lang['export_subtree'] = ''; -$lang['create_a_child_entry'] = 'һĿ'; -$lang['rename_entry'] = 'Ŀ'; -$lang['rename'] = ''; -$lang['add'] = ''; -$lang['view'] = '鿴'; -$lang['view_one_child'] = '鿴1Ŀ'; -$lang['view_children'] = '鿴%sĿ'; -$lang['add_new_attribute'] = 'µ'; -$lang['add_new_objectclass'] = 'µObjectClass'; -$lang['hide_internal_attrs'] = 'ڲ'; -$lang['show_internal_attrs'] = 'ʾڲ'; -$lang['attr_name_tooltip'] = '鿴\'%s\'ĸʽ'; -$lang['none'] = 'ʲôû'; -$lang['no_internal_attributes'] = 'ûڲ'; -$lang['no_attributes'] = 'Ŀû'; -$lang['save_changes'] = ''; -$lang['add_value'] = 'ֵ'; -$lang['add_value_tooltip'] = '\'%s\'һӵֵ'; -$lang['refresh_entry'] = 'ˢ'; -$lang['refresh_this_entry'] = 'ˢĿ'; -$lang['delete_hint'] = 'ʾ Ҫɾһԣ뽫ıֶգȻ档'; -$lang['attr_schema_hint'] = 'ʾ Ҫ鿴һԵĸʽԵơ'; -$lang['attrs_modified'] = 'һЩ(%s) ޸ˣұʶΪ'; -$lang['attr_modified'] = 'һ(%s) ޸ˣұʶΪ'; -$lang['viewing_read_only'] = 'ֻģʽ鿴Ŀ'; -$lang['no_new_attrs_available'] = 'Ŀûṩµ'; -$lang['no_new_binary_attrs_available'] = 'ĿûṩµĶ'; -$lang['binary_value'] = 'ֵ'; -$lang['add_new_binary_attr'] = 'µĶֵ'; -$lang['alias_for'] = 'ע⣺ \'%s\'\'%s\'һ'; -$lang['required_for'] = 'objectClass(es) %s'; -$lang['download_value'] = 'ֵ'; -$lang['delete_attribute'] = 'ɾ'; -$lang['true'] = ''; -$lang['false'] = 'ٵ'; -$lang['none_remove_value'] = 'ʲôûУֵƳ'; -$lang['really_delete_attribute'] = 'ɾ'; -$lang['add_new_value'] = 'µֵ'; - -// Schema browser -//$lang['the_following_objectclasses'] = 'LDAP֧objectClasses'; -//$lang['the_following_attributes'] = 'LDAP֧͡'; -//$lang['the_following_matching'] = 'LDAP֧ƥ'; -//$lang['the_following_syntaxes'] = 'LDAP֧﷨'; -$lang['schema_retrieve_error_1']='ȫ֧LDAP Э顣'; -$lang['schema_retrieve_error_2']='PHP汾ȷɲѯ'; -$lang['schema_retrieve_error_3']='phpLDAPadmin֪ȡķĸʽ'; -$lang['schema_retrieve_error_4']='LDAPûṩϢ'; -$lang['jump_to_objectclass'] = 'תһobjectClass'; -$lang['view_schema_for_oclass'] = '鿴objectClassĸʽ'; -$lang['jump_to_attr'] = 'תһ'; -$lang['jump_to_matching_rule'] = 'תһƥĹ'; -$lang['schema_for_server'] = 'ĸʽ'; -$lang['required_attrs'] = ''; -$lang['required'] = ''; -$lang['optional_attrs'] = 'ѡ'; -$lang['optional_binary_attrs'] = 'ѡĶ'; -$lang['OID'] = 'OID'; -$lang['aliases']=''; -$lang['desc'] = ''; -$lang['no_description']='û'; -$lang['name'] = ''; -$lang['equality']=''; -$lang['is_obsolete'] = 'objectClassˡ'; -$lang['inherits'] = '̳'; -$lang['inherited_from'] = '̳'; -$lang['parent_to'] = '˫ָ'; -$lang['jump_to_this_oclass'] = 'תobjectClassĶ崦'; -$lang['matching_rule_oid'] = 'ƥ OID'; -$lang['syntax_oid'] = '﷨OID'; -$lang['not_applicable'] = 'Ӧ'; -$lang['not_specified'] = 'δָ'; -$lang['character']='ַ'; -$lang['characters']='ַ'; -$lang['used_by_objectclasses']='objectClassesʹõ'; -$lang['used_by_attributes']='ʹõ'; -$lang['maximum_length']='󳤶'; -$lang['attribute_types']=''; -$lang['syntaxes']='﷨'; -$lang['matchingrules']='ƥ'; -$lang['oid']='OID'; -$lang['obsolete']='ϵ'; -$lang['ordering']=''; -$lang['substring_rule']='Ӵ'; -$lang['single_valued']='ֵ'; -$lang['collective']=''; -$lang['user_modification']='û޸'; -$lang['usage']='ʹøʽ'; -$lang['could_not_retrieve_schema_from']='һظʽĵط'; -$lang['type']=''; -$lang['no_such_schema_item'] = 'ûĸʽĿ "%s"'; - -// Deleting entries -$lang['entry_deleted_successfully'] = 'ɹɾĿ%s'; -$lang['you_must_specify_a_dn'] = 'ָһDN'; -$lang['could_not_delete_entry'] = 'ɾĿ %s'; -$lang['no_such_entry'] = 'ûĿ %s'; -$lang['delete_dn'] = 'ɾ%s'; -$lang['permanently_delete_children'] = 'ҲҪɾĿ'; -$lang['entry_is_root_sub_tree'] = 'ĿǸаĿ%s'; -$lang['view_entries'] = '鿴Ŀ'; -$lang['confirm_recursive_delete'] = 'phpLDAPadminԵݹɾĿĿеģ%s ܻɾĿб鿴档 '; -$lang['confirm_recursive_delete_note'] = 'עͣ DZΣգԸ ɻָ һҪǵaliases referralsԼ顣'; -$lang['delete_all_x_objects'] = 'ɾеĶ%s '; -$lang['recursive_delete_progress'] = 'ݹʽɾ'; -$lang['entry_and_sub_tree_deleted_successfully'] = 'ɹɾĿ%s '; -$lang['failed_to_delete_entry'] = 'ɾĿ%s ʧ'; -$lang['list_of_entries_to_be_deleted'] = 'ɾĿб'; -$lang['sure_permanent_delete_object']='ȷɾ'; -$lang['dn'] = 'DN'; - -// Deleting attributes -$lang['attr_is_read_only'] = ' phpLDAPadminУ"%s"ʶΪֻ'; -$lang['no_attr_specified'] = 'ûָơ'; -$lang['no_dn_specified'] = 'ûָDN '; - -// Adding attributes -$lang['left_attr_blank'] = 'ֵΪհס 뷵ԡ'; -$lang['failed_to_add_attr'] = 'ʧܡ'; -$lang['file_empty'] = 'ѡļΪջ򲻴ڡ 뷵ԡ'; -$lang['invalid_file'] = 'ȫ ϴļܴڰȫΣա'; -$lang['warning_file_uploads_disabled'] = 'PHPòϴļ ڽ²֮ǰһphp.ini'; -$lang['uploaded_file_too_big'] = 'ϴļ̫ php.iniеupload_max_size '; -$lang['uploaded_file_partial'] = 'ѡļϴΪԵʡ'; -$lang['max_file_size'] = 'ļߴ磺 %s'; - -// Updating values -$lang['modification_successful'] = 'ɹ޸ģ'; -$lang['change_password_new_login'] = 'Ϊ룬ڱʹµµ¼'; - -// Adding objectClass form -$lang['new_required_attrs'] = ''; -$lang['requires_to_add'] = 'Ҫ'; -$lang['new_attributes'] = ''; -$lang['new_required_attrs_instructions'] = 'ָ ΪobjectClass Ŀָ'; -$lang['that_this_oclass_requires'] = 'objectClassġ ɡ'; -$lang['add_oclass_and_attrs'] = 'ObjectClass '; -$lang['objectclasses'] = 'ObjectClasses'; - -// General -$lang['chooser_link_tooltip'] = 'һԻͼηʽѡһĿ(DN) '; -$lang['no_updates_in_read_only_mode'] = 'ֻʽУ㲻ɸ'; -$lang['bad_server_id'] = 'ķid'; -$lang['not_enough_login_info'] = 'û㹻Ϣ¼ á'; -$lang['could_not_connect'] = 'ӵLDAP'; -$lang['could_not_connect_to_host_on_port'] = 'ӵ"%s" "%s"˿'; -$lang['could_not_perform_ldap_mod_add'] = 'ldap_mod_add '; -//$lang['bad_server_id_underline'] = 'server_id'; -$lang['home'] = 'ҳ'; -$lang['help'] = ''; -$lang['success'] = 'ɹ'; -$lang['server_colon_pare'] = ''; -$lang['look_in'] = 'ڲ鿴'; -//$lang['missing_server_id_in_query_string'] = 'ڲѯûָID'; -$lang['missing_dn_in_query_string'] = 'ڲѯûָDN'; -$lang['back_up_p'] = '...'; -$lang['no_entries'] = 'ûĿ'; -//$lang['not_logged_in'] = 'ûе¼'; -$lang['could_not_det_base_dn'] = 'ȷbase DNDN'; -//$lang['please_report_this_as_a_bug']='뱨©'; -$lang['reasons_for_error']='мԭпܵǣ'; -$lang['yes']=''; -$lang['no']=''; -$lang['go']='ʼ'; -$lang['delete']='ɾ'; -$lang['back']=''; -$lang['object']=''; -$lang['delete_all']='ɾе'; -//$lang['url_bug_report']='https://sourceforge.net/tracker/?func=add&group_id=61828&atid=498546'; -$lang['hint'] = 'ʾ'; -$lang['bug'] = '©'; -$lang['warning'] = ''; -$lang['light'] = 'light'; // 'light' 'light bulbݣ' -$lang['proceed_gt'] = ' >>'; -$lang['no_blowfish_secret'] = 'phpLDAPadminܰȫؼܺͽϢΪconfig.phpû$blowfish_secretڣҪ༭config.php$blowfish_secretΪijصַ'; -$lang['jpeg_dir_not_writable'] = 'phpLDAPadminconfig.php$jpeg_temp_dirõһдĿ¼'; -$lang['jpeg_dir_not_writable_error'] = 'ܽ%sд$jpeg_temp_dirĿ¼ȷwebܹдļ'; -$lang['jpeg_unable_toget'] = 'ܴLDAPΪ%sjpegݡ'; -$lang['jpeg_delete'] = 'ɾͼƬ'; - - - -// Add value form -$lang['add_new'] = ''; -$lang['value_to'] = 'ֵ'; -$lang['distinguished_name'] = 'ʶDN'; -$lang['current_list_of'] = 'ǰб'; -$lang['values_for_attribute'] = 'ֵ'; -$lang['inappropriate_matching_note'] = 'עͣ LDAPûΪEQUALITY Ļܻ"inappropriate matchingȷƥ䣩"Ĵ'; -$lang['enter_value_to_add'] = 'ӵֵ'; -$lang['new_required_attrs_note'] = 'עͣ ܻҪobjectClassԡ'; -$lang['syntax'] = ''; - -//copy.php -$lang['copy_server_read_only'] = 'ֻģʽ㲻ɸ'; -$lang['copy_dest_dn_blank'] = ' ĿDNΪա'; -$lang['copy_dest_already_exists'] = 'ĿĿ (%s) Ѿڡ'; -$lang['copy_dest_container_does_not_exist'] = 'Ŀ (%s) ڡ'; -$lang['copy_source_dest_dn_same'] = 'ԴĿDN ͬ'; -$lang['copy_copying'] = 'ڸ '; -$lang['copy_recursive_copy_progress'] = 'ݹָƹ'; -$lang['copy_building_snapshot'] = 'ڽڸƵĿա '; -$lang['copy_successful_like_to'] = 'Ƴɹ 㻹Ҫ '; -$lang['copy_view_new_entry'] = '鿴Ŀ'; -$lang['copy_failed'] = 'DNɹ '; - -//edit.php -$lang['missing_template_file'] = '棺 ļڣ'; -$lang['using_default'] = 'ʹĬϵġ'; -$lang['template'] = ''; -$lang['must_choose_template'] = 'ѡһ'; -$lang['invalid_template'] = '%s һǷ'; -$lang['using_template'] = 'ʹ'; -$lang['go_to_dn'] = 'ת %s'; -$lang['structural_object_class_cannot_remove'] = 'ǸṹObjectClass˲Ƴ'; -$lang['structural'] = 'ṹ'; - -//copy_form.php -$lang['copyf_title_copy'] = ''; -$lang['copyf_to_new_object'] = 'ΪһµĶ'; -$lang['copyf_dest_dn'] = 'ĿDN'; -$lang['copyf_dest_dn_tooltip'] = 'ڸƸԴĿʱĿDN '; -$lang['copyf_dest_server'] = 'Ŀ'; -$lang['copyf_note'] = 'ʾ ͬķ֮临ʱҪû"schemaʽͻ"'; -$lang['copyf_recursive_copy'] = '⻹Ҫݹ鸴ƴ˶ݡ'; -$lang['recursive_copy'] = 'ݹ鸴'; -$lang['filter'] = ''; -//$lang['search_filter'] = ''; -$lang['filter_tooltip'] = 'һݹ鸴ʱֻḴЩƥĿ'; -$lang['delete_after_copy'] = 'ƺɾƶ'; -$lang['delete_after_copy_warn'] = 'ȷĹ棩ѡеӼ¼'; - -//create.php -$lang['create_required_attribute'] = '(%s)ֵΪհס'; -$lang['redirecting'] = 'ض...'; -$lang['here'] = ''; -$lang['create_could_not_add'] = 'ӸöLDAP'; - -//create_form.php -$lang['createf_create_object'] = ''; -$lang['createf_choose_temp'] = 'ѡ'; -$lang['createf_select_temp'] = 'ѡڴ̵'; -$lang['save_as_file'] = 'Ϊļ'; -$lang['rdn_field_blank'] = 'RDNΪհס'; -$lang['container_does_not_exist'] = 'ָ(%s)ڡ ԡ'; -$lang['no_objectclasses_selected'] = 'ûΪöѡκObjectClasses 뷵'; -$lang['hint_structural_oclass'] = 'ʾ ѡһṹobjectClass (ʾ)'; - -//creation_template.php -$lang['ctemplate_on_server'] = 'ڷ'; -$lang['ctemplate_no_template'] = 'POSTûָ塣'; -$lang['template_not_readable'] = 'ָڸ"%s"ֱļΪֹȨ̫ϸɶ'; -$lang['template_does_not_exist'] = 'ļָڸ "%s"ֱǸֱtemplates/creation Ŀ¼вڡ'; -$lang['create_step1'] = 'һ Name ObjectClass(es)'; -$lang['create_step2'] = 'ڶ ָԺֵ'; -$lang['relative_distinguished_name'] = 'Relative Distinguished NameԱʶ'; -$lang['rdn'] = 'RDN'; -$lang['rdn_example'] = '(磺 cn=MyNewPerson)'; -$lang['container'] = 'Container'; - -// search.php -$lang['you_have_not_logged_into_server'] = '㻹ûеѡķ㲻'; -$lang['click_to_go_to_login_form'] = 'ת¼'; -$lang['unrecognized_criteria_option'] = 'ʶcriteria׼ѡ '; -$lang['if_you_want_to_add_criteria'] = 'Լcriteria б ǵñ༭search.php ǡ ˳'; -$lang['entries_found'] = 'ҵĿ '; -$lang['filter_performed'] = 'Ӧ˵Ĺ '; -$lang['search_duration'] = 'phpLDAPadminʱ'; -$lang['seconds'] = ''; - -// search_form_advanced.php -$lang['scope_in_which_to_search'] = 'ķΧ'; -$lang['scope_sub'] = 'Sub ()'; -$lang['scope_one'] = 'One (base֮µһ)'; -$lang['scope_base'] = 'Base (base dn)'; -$lang['standard_ldap_search_filter'] = '׼LDAP 磺 (&(sn=Smith)(givenname=David))'; -$lang['search_filter'] = ''; -$lang['list_of_attrs_to_display_in_results'] = 'ʾڽеб(ԶŸ)'; -//$lang['show_attributes'] = 'ʾ'; - -// search_form_simple.php -//$lang['search_for_entries_whose'] = '˭Ŀ'; -$lang['equals'] = ''; -$lang['starts with'] = 'ʼ'; -$lang['contains'] = ''; -$lang['ends with'] = ''; -$lang['sounds like'] = ''; - -// server_info.php -$lang['could_not_fetch_server_info'] = 'ܴӷȡLDAPϢ ΪPHP©LDAPָ"ʿ"ֹLDAPͻ˷RootDSE'; -$lang['server_info_for'] = 'Ϣ '; -$lang['server_reports_following'] = 'ϢǷĹԼϢ'; -$lang['nothing_to_report'] = '÷ûбκϢ'; - -//update.php -$lang['update_array_malformed'] = 'update_array phpLDAPadminĴ© 뱨档'; -$lang['could_not_perform_ldap_modify'] = 'ldap_modify '; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes'] = 'ӦЩ仯'; -$lang['attribute'] = ''; -$lang['old_value'] = 'ֵ'; -$lang['new_value'] = 'ֵ'; -$lang['attr_deleted'] = '[ɾ]'; -$lang['commit'] = 'ύ'; -$lang['cancel'] = 'ȡ'; -$lang['you_made_no_changes'] = 'ûни'; -$lang['go_back'] = ''; -$lang['unable_create_samba_pass'] = 'ܽsamba롣template_config.php'; - -// welcome.php -$lang['welcome_note'] = 'ʹ߲˵'; -$lang['credits'] = ''; -$lang['changelog'] = '¼'; -$lang['donate'] = ''; -$lang['pla_logo'] = 'phpLDAPadmin ʶ'; - -// Donate.php -$lang['donation_instructions'] = 'phpLDAPadminĿPayPalťеһ'; -$lang['donate_amount'] = ' %s'; -//$lang['wish_list_option'] = 'phpLDAPadminԱ'; -//$lang['wish_list'] = '鿴DavephpLDAPadmin Ըб'; - -$lang['purge_cache'] = 'ջ'; -$lang['no_cache_to_purge'] = 'ûлա'; -$lang['done_purging_caches'] = 'ջ%s ֽڡ'; -$lang['purge_cache_tooltip'] = 'phpLDAPadminлݣschemaʽ'; - -// view_jpeg_photo.php -$lang['unsafe_file_name'] = 'ȫļ '; -$lang['no_such_file'] = 'ûļ '; - -//function.php -$lang['auto_update_not_setup'] = 'Ϊ %s auto_uid_numbers - ûָauto_uid_number_mechanism - '; -$lang['uidpool_not_set'] = 'ڷ%sָ"auto_uid_number_mechanism" Ϊ "uidpool" - ûָ - audo_uid_number_uid_pool_dn ڽ²ǰָ'; -$lang['uidpool_not_exist'] = '("%s")ָuidPool - ڡ'; -$lang['specified_uidpool'] = 'ڷ%sļָ"auto_uid_number_mechanism" Ϊ "search" - ûָ - "auto_uid_number_search_base" ڽ²ǰָ'; -$lang['auto_uid_invalid_credential'] = 'ʹauto_uid credentialsܰ󶨵%s ļ'; -$lang['bad_auto_uid_search_base'] = 'phpLDAPadminΪ%sָһǷauto_uid_search_base '; -$lang['auto_uid_invalid_value'] = 'ļΪauto_uid_number_mechanism ("%s")ָһǷֵ - ֻ"uidpool" "search" ǺϷġ - ⡣'; -$lang['error_auth_type_config'] = ' ļи - $serversֵauth_typeֵΪ \'session\', \'cookie\', and \'config\' \'%s\' - Dzġ '; -$lang['unique_attrs_invalid_credential'] = 'ʹunique_attrs 󶨵%s ļ'; -$lang['unique_attr_failed'] = 'ͼ%s (%s)
    %s
    Dzġ /ֵκĿ

    Ŀ'; -$lang['php_install_not_supports_tls'] = '㰲װPHP ֧TLS'; -$lang['could_not_start_tls'] = 'TLS LDAP á'; -$lang['could_not_bind_anon'] = '󶨵'; -$lang['could_not_bind'] = 'ܰ󶨵LDAP'; -$lang['anonymous_bind'] = ''; -$lang['bad_user_name_or_password'] = 'û롣 ԡ'; -//$lang['redirecting_click_if_nothing_happens'] = 'ض... û·'; -$lang['successfully_logged_in_to_server'] = 'ɹ¼%s'; -$lang['could_not_set_cookie'] = 'cookie'; -$lang['ldap_said'] = 'LDAP˵ %s'; -$lang['ferror_error'] = ''; -$lang['fbrowse'] = ''; -$lang['delete_photo'] = 'ɾͼƬ'; -//$lang['install_not_support_blowfish'] = '㰲װPHP֧blowfish ܡ'; -//$lang['install_not_support_md5crypt'] = '㰲װPHP֧ md5crypt ܡ'; -//$lang['install_no_mash'] = '㰲װPHPûmhash() ܽSHAϣ'; -$lang['install_not_support_ext_des'] = 'ϵͳܿⲻ֧չDESܡ'; -$lang['install_not_support_blowfish'] = 'ϵͳܿⲻ֧blowfishܡ'; -$lang['install_not_support_md5crypt'] = 'ϵͳܿⲻ֧md5cryptܡ'; -$lang['jpeg_contains_errors'] = 'jpegPhoto д
    '; -$lang['ferror_number'] = ' %s'; -$lang['ferror_discription'] = ' %s

    '; -$lang['ferror_number_short'] = 'ţ %s

    '; -$lang['ferror_discription_short'] = ' (ûṩ)
    '; -$lang['ferror_submit_bug'] = 'ǸphpLDAPadmin © ǣһ'; -$lang['ferror_unrecognized_num'] = 'ʶĴţ '; -$lang['ferror_nonfatil_bug'] = '

    -
    - 㷢һʹphpLDAPadmin ©
    %s (%s)
    ļ%s %sú %s
    PLA: %s, PHP: %s, SAPI: %s -
    Web %s
    - ﱨô©

    '; -$lang['ferror_congrats_found_bug'] = 'ϲ㣡 㷢phpLDAPadminһ©

    - - - - - - - - - - -
    %s
    :%s
    ļ%s
    У%s
    ߣ%s
    PLA 汾%s
    PHP 汾%s
    PHP SAPI:%s
    PHP %s
    -
    - ͨ©'; - -//ldif_import_form -$lang['import_ldif_file_title'] = 'LDIFļ'; -$lang['select_ldif_file'] = 'ѡһLDIFļ'; -$lang['dont_stop_on_errors'] = 'ʱֹͣ'; - -//ldif_import -$lang['add_action'] = '...'; -$lang['delete_action'] = 'ɾ...'; -$lang['rename_action'] = '...'; -$lang['modify_action'] = '޸...'; -$lang['warning_no_ldif_version_found'] = 'ûҵ汾š 1'; -$lang['valid_dn_line_required'] = 'ҪһϷdnС'; -$lang['missing_uploaded_file'] = 'ʧϴļ'; -$lang['no_ldif_file_specified'] = 'ûָLDIFļ ԡ'; -$lang['ldif_file_empty'] = 'ϴLDIF ļΪա'; -$lang['empty'] = 'յ'; -$lang['file'] = 'ļ'; -$lang['number_bytes'] = '%s ֽ'; - -$lang['failed'] = 'ʧ'; -$lang['ldif_parse_error'] = 'LDIF'; -$lang['ldif_could_not_add_object'] = 'Ӷ'; -$lang['ldif_could_not_rename_object'] = 'ܸ'; -$lang['ldif_could_not_delete_object'] = 'ɾ'; -$lang['ldif_could_not_modify_object'] = '޸Ķ'; -$lang['ldif_line_number'] = 'кţ'; -$lang['ldif_line'] = ':'; - -// Exports -$lang['export_format'] = 'ʽ'; -$lang['line_ends'] = 'н'; -$lang['must_choose_export_format'] = 'ѡһʽ'; -$lang['invalid_export_format'] = 'Ƿĵʽ'; -$lang['no_exporter_found'] = 'ûҵõ'; -$lang['error_performing_search'] = 'ִʱһ'; -$lang['showing_results_x_through_y'] = 'ʾ%sͨ%sɵġ'; -$lang['searching'] = '...'; -$lang['size_limit_exceeded'] = 'ע⣬Сơ'; -$lang['entry'] = 'Ŀ'; -$lang['ldif_export_for_dn'] = 'Ϊ %sLDIF'; -$lang['generated_on_date'] = 'phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) %sɵ'; -$lang['total_entries'] = 'Ŀ'; -$lang['dsml_export_for_dn'] = 'Ϊ %sDSLM'; -$lang['include_system_attrs'] = 'ϵͳ'; -$lang['csv_spreadsheet'] = 'CSV (Spreadsheet)'; - -// logins -//$lang['could_not_find_user'] = 'ҵû"%s"'; -$lang['password_blank'] = 'Ϊա'; -//$lang['login_cancelled'] = '¼ȡˡ'; -$lang['no_one_logged_in'] = 'û˵¼÷'; -$lang['could_not_logout'] = '˳'; -$lang['unknown_auth_type'] = 'ʶauth_type %s'; -$lang['logged_out_successfully'] = 'ɹ%s˳'; -$lang['authenticate_to_server'] = '֤%s'; -$lang['warning_this_web_connection_is_unencrypted'] = '棺 webûмܡ'; -$lang['not_using_https'] = 'ûʹ\'https\' WebĴ¼Ϣ'; -$lang['login_dn'] = '¼DN'; -$lang['user_name'] = 'û'; -$lang['password'] = ''; -$lang['authenticate'] = '֤'; -$lang['login_not_allowed'] = 'Բ̨LDAPʹphpLDAPadmin'; - -// Entry browser -$lang['entry_chooser_title'] = 'Ŀѡ'; - -// Index page -$lang['need_to_configure'] = 'ҪphpLDAPadmin ༭ļ\'config.php\'Ϳԡ иļṩ \'config.php.example\''; - -// Mass deletes -$lang['no_deletes_in_read_only'] = 'ֻģʽ²ɾ'; -$lang['error_calling_mass_delete'] = 'mass_delete.phpPOSTжʧ mass_delete'; -$lang['mass_delete_not_array'] = 'mass_delete POST Ǹ顣'; -$lang['mass_delete_not_enabled'] = 'Mass deletion(ɾ)ûá ڽһǰconfig.php'; -$lang['search_attrs_wrong_count'] = 'config.phpи $search_attributes $search_attributes_displayԱŲһ'; -$lang['mass_deleting'] = 'ڴɾ'; -$lang['mass_delete_progress'] = '"%s"ϵɾ'; -$lang['malformed_mass_delete_array'] = 'mass_delete 顣'; -$lang['no_entries_to_delete'] = 'ûѡκҪɾĿ'; -$lang['deleting_dn'] = 'ɾ %s'; -$lang['total_entries_failed'] = 'ɾĿ%s%sʧܡ'; -$lang['all_entries_successful'] = 'Ŀɾɹ'; -$lang['confirm_mass_delete'] = 'ȷϴɾĿ%sڷ%sϣ'; -$lang['yes_delete'] = 'ǵģɾ'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed'] = '㲻ܸһĿĿڷҶĿ'; -$lang['no_rdn_change'] = '㲻ܸRDN'; -$lang['invalid_rdn'] = 'ЧRDNֵ'; -$lang['could_not_rename'] = 'ܸĿ'; - -// General errors -//$lang['php5_unsupported'] = 'phpLDAPadmin ֧PHP 5ܻ벻⡣'; -$lang['mismatched_search_attr_config'] = 'и $search_attributes $search_attributes_display ҪͬĿԡ'; - -// Password checker -$lang['passwords_match'] = 'ƥ䣡'; -$lang['passwords_do_not_match'] = '벻ƥ䣡'; -$lang['password_checker_tool'] = '鹤'; -$lang['compare'] = 'Ƚ'; -$lang['to'] = ''; - -// Templates -$lang['using'] = 'ʹø'; -//$lang['template'] = 'ģ'; -$lang['switch_to'] = 'ת'; -$lang['default_template'] = 'Ĭģ'; - -// template_config -$lang['user_account'] = 'û˺(posixAccount)'; -$lang['address_book_inet'] = 'ַĿ(inetOrgPerson)'; -$lang['address_book_moz'] = 'ַĿ(mozillaOrgPerson)'; -$lang['kolab_user'] = 'KolabûĿ'; -$lang['organizational_unit'] = '֯Ԫ(Organizational Unit)'; -$lang['organizational_role'] = '֯ɫ'; -$lang['posix_group'] = 'Posix'; -$lang['samba_machine'] = 'Samba NT '; -$lang['samba3_machine'] = 'Samba 3 NT '; -$lang['samba_user'] = 'Samba û'; -$lang['samba3_user'] = 'Samba 3 û'; -$lang['samba3_group'] = 'Samba 3 ӳ(Mapping)'; -$lang['dns_entry'] = 'DNS Ŀ'; -$lang['simple_sec_object'] = '򵥰ȫ(Simple Security Object)'; -$lang['courier_mail_account'] = 'Courier ʼ˺'; -$lang['courier_mail_alias'] = 'Courier ʼ'; -$lang['ldap_alias'] = 'LDAP '; -$lang['sendmail_cluster'] = 'Sendmail Ⱥ'; -$lang['sendmail_domain'] = 'Sendmail '; -$lang['sendmail_alias'] = 'Sendmail '; -$lang['sendmail_virt_dom'] = 'Sendmail '; -$lang['sendmail_virt_users'] = 'Sendmail û'; -$lang['sendmail_relays'] = 'Sendmail ظ'; -$lang['custom'] = 'Զ'; -$lang['samba_domain_name'] = 'ҵSamba'; -$lang['administrators'] = 'Ա'; -$lang['users'] = 'û'; -$lang['guests'] = 'һû(Guests)'; -$lang['power_users'] = 'ǿû(Power Users)'; -$lang['account_ops'] = '˺ŹԱ'; -$lang['server_ops'] = 'Ա'; -$lang['print_ops'] = 'ӡԱ'; -$lang['backup_ops'] = 'ݹԱ'; -$lang['replicator'] = '(Replicator)'; -$lang['unable_smb_passwords'] = 'ܽSamba롣ļtemplate_config.phpá'; -$lang['err_smb_conf'] = 'sambaи'; -$lang['err_smb_no_name_sid'] = 'ҪΪsambaṩһ(name)һsid'; -$lang['err_smb_no_name'] = 'ûΪsambaṩ֡'; -$lang['err_smb_no_sid'] = 'ûΪsambaṩsid'; - -// Samba Account Template -$lang['samba_account'] = 'Samba ˺'; -$lang['samba_account_lcase'] = 'samba ˺'; - -// New User (Posix) Account -$lang['t_new_user_account'] = '½û˺'; -$lang['t_hint_customize'] = 'ʾҪģĻԱ༭ļtemplates/creation/new_user_template.php'; -$lang['t_name'] = ''; -$lang['t_first_name'] = 'һ'; -$lang['t_last_name'] = 'һ'; -$lang['t_first'] = 'һ'; -$lang['t_last'] = 'һ'; -$lang['t_common_name'] = '(Common name)'; -$lang['t_user_name'] = 'û'; -$lang['t_password'] = ''; -$lang['t_encryption'] = 'ܷ'; -$lang['t_login_shell'] = '¼Shell'; -$lang['t_home_dir'] = 'Ŀ¼'; -$lang['t_uid_number'] = 'UID'; -$lang['t_auto_det'] = 'Զ⵽ģ'; -$lang['t_group'] = ''; -$lang['t_gid_number'] = 'GID'; -$lang['t_err_passwords'] = '벻ƥ䡣뷵ԡ'; -$lang['t_err_field_blank'] = '%sΪա뷵ԡ'; -$lang['t_err_field_num'] = '%sֶβֻ֡뷵ԡ'; -$lang['t_err_bad_container'] = 'ָ(%s)ڡ뷵ԡ'; -$lang['t_confirm_account_creation'] = 'ȷϴ˺'; -$lang['t_secret'] = '[]'; -$lang['t_create_account'] = '˺'; - -// New Address Template -$lang['t_new_address'] = '½ַĿ'; -$lang['t_organization'] = '֯'; -$lang['t_address'] = 'ַ'; -$lang['t_city'] = ''; -$lang['t_postal_code'] = ''; -$lang['t_street'] = 'ֵ'; -$lang['t_work_phone'] = '绰'; -$lang['t_fax'] = '(Fax)'; -$lang['t_mobile'] = 'ƶ绰(Mobile)'; -$lang['t_email'] = 'ʼ'; -$lang['t_container'] = ''; -$lang['t_err_cn_blank'] = '(Common Name)Ϊա뷵ԡ'; -$lang['t_confim_creation'] = 'ȷϴĿ'; -$lang['t_create_address'] = 'ַ'; - -// default template -$lang['t_check_pass'] = 'ڼ롭'; - -// compare form -$lang['compare'] = 'Ƚ'; -$lang['comparing'] = 'ȽϽŵDN'; -$lang['compare_dn'] = 'ȽһDN'; -$lang['with'] = 'ͬ '; -$lang['compf_source_dn'] = 'ԴDN'; -$lang['compf_dn_tooltip'] = 'DNһȽ'; -$lang['switch_entry'] = 'лĿ'; -$lang['no_value'] = 'ûֵ'; -$lang['compare_with'] = 'ͬһĿбȽ'; -$lang['need_oclass'] = 'Ҫ%sҪObjectClass(es)ࡣ'; - -// Time out page -$lang['session_timed_out_1'] = 'ĻỰڽ޻'; -$lang['session_timed_out_2'] = 'Ӻڡ㽫Զ˳'; -$lang['log_back_in'] = '¼ӣ'; -$lang['session_timed_out_tree'] = '(ỰʱԶ˳)'; -$lang['timeout_at'] = '%s㽫dz'; - - -?> diff --git a/lang/zh-tw.php b/lang/zh-tw.php deleted file mode 100644 index c5cb810..0000000 --- a/lang/zh-tw.php +++ /dev/null @@ -1,490 +0,0 @@ ->'; - -// Add value form -$lang['add_new']='新增'; -$lang['value_to']='數值至'; -$lang['distinguished_name']='識別名稱'; -$lang['current_list_of']='此屬性有'; -$lang['values_for_attribute']='下列數值:'; -$lang['inappropriate_matching_note']='請注意:若您的LDAP伺服器中並未設定等式規則,您將會遇到\"無適合的比對\"錯誤'; -$lang['enter_value_to_add']='請輸入您要加入的數值'; -$lang['new_required_attrs_note']='請注意:由於此objectClass定義的'; -$lang['syntax']='語法,您必須輸入新屬性'; - -//copy.php -$lang['copy_server_read_only']='無法在伺服器為唯讀模式時更新資料'; -$lang['copy_dest_dn_blank']='目的地識別名稱不能是空白'; -$lang['copy_dest_already_exists']='目的地識別名稱 (%s) 已經存在'; -$lang['copy_dest_container_does_not_exist']='目的地集合 (%s) 不存在'; -$lang['copy_source_dest_dn_same']='來源識別名稱與目的地識別名稱重複'; -$lang['copy_copying']='複製中'; -$lang['copy_recursive_copy_progress']='遞迴複製作業'; -$lang['copy_building_snapshot']='對資料樹建立副本來複製'; -$lang['copy_successful_like_to']='複製成功!!您要'; -$lang['copy_view_new_entry']='查閱此新紀錄?'; -$lang['copy_failed']='以下 DN 複製失敗:'; - -//edit.php -$lang['missing_template_file']='警告:找不到樣版檔案'; -$lang['using_default']='使用預設值'; -$lang['template']='樣版'; -$lang['must_choose_template']='你必須選擇一個樣版'; -$lang['invalid_template']='%s 是錯誤的樣版'; -$lang['using_template']='使用樣版'; -$lang['go_to_dn']='到 %s'; - -//copy_form.php -$lang['copyf_title_copy']='複製'; -$lang['copyf_to_new_object']='成新物件'; -$lang['copyf_dest_dn']='目的地識別名稱'; -$lang['copyf_dest_dn_tooltip']='來源資料複製後的完整識別名稱'; -$lang['copyf_dest_server']='目的伺服器'; -$lang['copyf_note']='提示:只有當不同的伺服器間的schema相容才能在不同的伺服器之間進行複製'; -$lang['copyf_recursive_copy']='遞迴複製所有此物件的子資料'; -$lang['recursive_copy']='遞迴複製'; -$lang['filter']='過濾條件'; -$lang['filter_tooltip']='只有符合過濾條件的資料會被遞迴複製'; - -//create.php -$lang['create_required_attribute']='必要的屬性 (%s) 必須有資料'; -$lang['redirecting']='正在轉換至...'; -$lang['here']='這裡'; -$lang['create_could_not_add']='不能新增物件到此LDAP伺服器'; - -//create_form.php -$lang['createf_create_object']='創造物件'; -$lang['createf_choose_temp']='選擇樣版'; -$lang['createf_select_temp']='請選擇一個你要建立的紀錄模板'; -$lang['createf_proceed']='下一步'; -$lang['rdn_field_blank']='相對識別名稱欄位不能是空白'; -$lang['container_does_not_exist']='您指定的集合 (%s) 不存在,請重新指定'; -$lang['no_objectclasses_selected']='您必須為此物件指定ObjectClasses'; -$lang['hint_structural_oclass']='提示:您必須在伺服器上至少'; - -//creation_template.php -$lang['ctemplate_on_server']='選擇一個objectClass'; -$lang['ctemplate_no_template']='在POST變數中並未指定模版'; -$lang['ctemplate_config_handler']='您的設定指定了由某個程式來執行此模版'; -$lang['ctemplate_handler_does_not_exist']='但此程式在 templates/creation 目錄中找不到'; -$lang['create_step1']='步驟 1 之 2:名稱與ObjectClass(es)'; -$lang['create_step2']='步驟 2 之 2:指定屬性與數值'; -$lang['relative_distinguished_name']='相對識別名稱'; -$lang['rdn']='相對識別名稱'; -$lang['rdn_example']='(範例: cn=MyNewPerson)(範例: cn=MyNewPerson)'; -$lang['container']='集合'; - -// search.php -$lang['you_have_not_logged_into_server']='您必須先登入伺服器才能在伺服器執行搜尋'; -$lang['click_to_go_to_login_form']='點選這邊回去登入表單'; -$lang['unrecognized_criteria_option']='無法辨識的基準'; -$lang['if_you_want_to_add_criteria']='如果您要加入自己的基準到項目列表中,請編輯search.php'; -$lang['entries_found']='找到的紀錄:'; -$lang['filter_performed']='執行過濾條件'; -$lang['search_duration']='phpLDAPadmin將會'; -$lang['seconds']='馬上執行查詢'; - -// search_form_advanced.php -$lang['scope_in_which_to_search']='搜尋範圍'; -$lang['scope_sub']='Sub (整個子樹)'; -$lang['scope_one']='One (單一階層下)'; -$lang['scope_base']='Base (只有基礎識別名稱)'; -$lang['standard_ldap_search_filter']='標準的LDAP搜尋條件. 如: (&(sn=Smith)(givenname=David))'; -$lang['search_filter']='過濾搜尋'; -$lang['list_of_attrs_to_display_in_results']='下列為搜尋結果(以 , 區隔)'; -$lang['equals']='等於'; -$lang['starts with']='開始於'; -$lang['contains']='內含'; -$lang['ends with']='結束於'; -$lang['sounds like']='喜愛的聲音'; - -// server_info.php -$lang['could_not_fetch_server_info']='無法從伺服器取得 LDAP 資訊'; -$lang['server_info_for']='伺服器資訊:'; -$lang['server_reports_following']='伺服器回報下列資訊:'; -$lang['nothing_to_report']='此伺服器沒有資訊可以回報'; - -//update.php -$lang['update_array_malformed']='無法更新陣列,可能是phpLDAPadmin的bug,請回報此問題'; -$lang['could_not_perform_ldap_modify']='無法執行ldap_modify操作'; - -// update_confirm.php -$lang['do_you_want_to_make_these_changes']='您確定要做這些更動?'; -$lang['attribute']='屬性'; -$lang['old_value']='原設定值'; -$lang['new_value']='新設定植'; -$lang['attr_deleted']='[屬性已刪除]'; -$lang['commit']='送出'; -$lang['cancel']='取消'; -$lang['you_made_no_changes']='您並沒有做任何更動'; -$lang['go_back']='回上頁'; - -// welcome.php -$lang['welcome_note']='請用左邊的選單瀏覽'; -$lang['credits']='成員列表'; -$lang['changelog']='更新紀錄'; -$lang['donate']='捐獻'; - -// view_jpeg_photo.php -$lang['unsafe_file_name']='不安全的檔案名稱:'; -$lang['no_such_file']='沒有以下檔案:'; - -//function.php -$lang['auto_update_not_setup']='您在設定中開啟 %s的auto_uid_numbers功能,但並未指定auto_uid_number_mechanism,請修正此問題'; -$lang['uidpool_not_set']='伺服器%s的auto_uid_number_mechanism指定為uidpool,但並未指定audo_uid_number_uid_pool_dn,請修正此問題再繼續'; -$lang['uidpool_not_exist']='您再設定檔(\"%s\")中指定的uidPool機制並不存在'; -$lang['specified_uidpool']='伺服器%s的auto_uid_number_mechanism指定為search,但您並未指定auto_uid_number_search_base,請修正此問題再繼續'; -$lang['auto_uid_invalid_credential']='無法以您的auto_uid設定登入%s,請檢查您的設定檔'; -$lang['bad_auto_uid_search_base']='您在phpLDAPadmin設定中對伺服器%s指定了無效的auto_uid_search_base'; -$lang['auto_uid_invalid_value']='您的auto_uid_number_mechanism (\"%s\") 設定是無效的,只有uidpool與search為有效設定,請修正此問題'; -$lang['error_auth_type_config']='錯誤:您的設定有錯誤,變數auth_type只允許session , cookie與config,您的設定值 '; -$lang['php_install_not_supports_tls']='您安裝的 php 並沒有支援 TLS.'; -$lang['could_not_start_tls']='無法啟動 TLS 請檢查您的 LDAP 伺服器設定.'; -$lang['could_not_bind_anon']='伺服器不接受匿名登入'; -$lang['anonymous_bind']='匿名登入'; -$lang['bad_user_name_or_password']='錯誤的 使用者名稱 或 密碼.請重新輸入一次.'; -$lang['redirecting_click_if_nothing_happens']='正在重新導向...如果瀏覽器沒有動作,請點選這裡.'; -$lang['successfully_logged_in_to_server']='成功登入伺服器 %s'; -$lang['could_not_set_cookie']='不能設定 cookie'; -$lang['ldap_said']='伺服器回應: %s'; -$lang['ferror_error']='錯誤'; -$lang['fbrowse']='瀏覽'; -$lang['delete_photo']='刪除相片'; -$lang['install_not_support_blowfish']='您所安裝的 PHP 並不支援 Blowfish 加密'; -$lang['install_no_mash']='您所安裝的 PHP 並沒有 mhash() 函數,無法進行 SHA 加密'; -$lang['jpeg_contains_errors']='jpegPhoto 內容發生錯誤
    '; -$lang['ferror_number']='錯誤碼: %s (%s)'; -$lang['ferror_discription']='說明: %s

    '; -$lang['ferror_number_short']='錯誤編號: %s'; -$lang['ferror_discription_short']='說明: (無任何說明內容)
    '; -$lang['ferror_submit_bug']='這是 phpLDAPadmin 的 bug? 如果是,請回報這個Bug.'; -$lang['ferror_unrecognized_num']='無法辨識的錯誤代碼:'; -$lang['ferror_nonfatil_bug']='
    -
    - You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s -
    Web server:%s
    - Please report this bug by clicking here.

    '; -$lang['ferror_congrats_found_bug']='恭喜! 您發現了phpLDAPadmin的bug.

    - - - - - - - - - -
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    -
    - Please report this bug by clicking below!'; - -//ldif_import_form -$lang['import_ldif_file_title']='匯入 LDIF 檔案'; -$lang['select_ldif_file']='選擇一個 LDIF 檔案:'; -$lang['select_ldif_file_proceed']='下一步'; - -//ldif_import -$lang['add_action']='增加中...'; -$lang['delete_action']='刪除中...'; -$lang['rename_action']='更名中...'; -$lang['modify_action']='改變中...'; -$lang['warning_no_ldif_version_found']='找不到版本資訊,預設使用版本1'; -$lang['valid_dn_line_required']='需要有效的識別名稱行'; -$lang['missing_uploaded_file']='找不到指定的上傳檔案'; -$lang['no_ldif_file_specified.']='沒有指定LDIF檔案請重試'; -$lang['ldif_file_empty']='上傳的 LDIF 檔案是空白的'; -$lang['file']='檔案'; -$lang['number_bytes']='%s bytes'; -$lang['failed']='失敗'; -$lang['ldif_parse_error']='LDIF 解析錯誤'; -$lang['ldif_could_not_add_object']='無法新增 object:'; -$lang['ldif_could_not_rename_object']='無法重新命名 object:'; -$lang['ldif_could_not_delete_object']='無法刪除 object:'; -$lang['ldif_could_not_modify_object']='無法修改 object:'; -$lang['ldif_line_number']='行數:'; -$lang['ldif_line']='行:'; - -// Exports -$lang['export_format']='匯出格式'; -$lang['line_ends']='斷行'; -$lang['must_choose_export_format']='你必須選擇一種匯出格式'; -$lang['invalid_export_format']='無效的匯出格式'; -$lang['no_exporter_found']='沒有可用的匯出程式'; -$lang['error_performing_search']='在執行搜尋時發生錯誤'; -$lang['showing_results_x_through_y']='透過 %s 顯示結果 %s'; -$lang['searching']='搜索中...'; -$lang['size_limit_exceeded']='注意:到達搜尋大小上限'; -$lang['entry']='紀錄'; -$lang['ldif_export_for_dn']='匯出 LDIF :'; -$lang['generated_on_date']='由'; -$lang['total_entries']='全部的紀錄'; -$lang['dsml_export_for_dn']='匯出 DSLM :'; - -// logins -$lang['could_not_find_user']='找不到使用者 \"%s\"'; -$lang['password_blank']='您沒有輸入密碼欄位.'; -$lang['login_cancelled']='已經取消登入.'; -$lang['no_one_logged_in']='在此伺服器尚無人登入.'; -$lang['could_not_logout']='無法登出.'; -$lang['unknown_auth_type']='未知的認證模式: %s'; -$lang['logged_out_successfully']='成功的從 %s 伺服器登出'; -$lang['authenticate_to_server']='登入伺服器 %s'; -$lang['warning_this_web_connection_is_unencrypted']='警告: 這個網頁連線是沒有加密的.'; -$lang['not_using_https']='您並未使用https加密連線,您的瀏覽器將直接以明碼傳送您的帳號與密碼'; -$lang['login_dn']='登入 DN'; -$lang['user_name']='使用者名稱'; -$lang['password']='密碼'; -$lang['authenticate']='驗證'; - -// Entry browser -$lang['entry_chooser_title']='紀錄選擇器'; - -// Index page -$lang['need_to_configure']='您必須先設定phpLDAPadmin,請依照config.php.example編輯config.php'; - -// Mass deletes -$lang['no_deletes_in_read_only']='在唯讀模式時不允許刪除資料'; -$lang['error_calling_mass_delete']='呼叫mass_delete.php時發生錯誤,mass_delete不在POST變數中'; -$lang['mass_delete_not_array']='mass_delete POST變數不是陣列'; -$lang['mass_delete_not_enabled']='大量刪除功能並未開啟,請在config.php中開啟此功能'; -$lang['mass_deleting']='大量刪除'; -$lang['mass_delete_progress']='正在 \"%s\" 伺服器上進行刪除程序'; -$lang['malformed_mass_delete_array']='錯誤的大量刪除陣列'; -$lang['no_entries_to_delete']='您沒有選擇任何要刪除的紀錄'; -$lang['deleting_dn']='刪除 %s'; -$lang['total_entries_failed']='無法刪除紀錄 %s %s'; -$lang['all_entries_successful']='全部刪除完成'; -$lang['confirm_mass_delete']='確認要刪除 %s 登入在伺服器 %s上'; -$lang['yes_delete']='沒錯,刪除吧!'; - -// Renaming entries -$lang['non_leaf_nodes_cannot_be_renamed']='當此記錄有子紀錄時無法重新命名'; -$lang['no_rdn_change']='您並沒有改變相對識別名稱'; -$lang['invalid_rdn']='無效的相對識別名稱'; -$lang['could_not_rename']='無法重新命名'; - -?> \ No newline at end of file diff --git a/lang/zz.php b/lang/zz.php deleted file mode 100644 index e847169..0000000 --- a/lang/zz.php +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/lang/zzz.php b/lang/zzz.php deleted file mode 100644 index 522dfef..0000000 --- a/lang/zzz.php +++ /dev/null @@ -1,13 +0,0 @@ - diff --git a/lib/common.php b/lib/common.php index 5568e1b..8039b60 100644 --- a/lib/common.php +++ b/lib/common.php @@ -1,5 +1,5 @@ = "5") { +if (phpversion() >= '5') { # Work-around to get PLA to work in PHP5 - ini_set( "zend.ze1_compatibility_mode", 1 ); + ini_set('zend.ze1_compatibility_mode',1); # E_DEBUG is PHP5 specific and prevents warnings about using 'var' to declare class members - error_reporting( E_DEBUG ); + error_reporting(E_DEBUG); } else # For PHP4 - error_reporting( E_ALL ); + error_reporting(E_ALL); /** * At this point we have read all our additional function PHP files and our configuration. @@ -80,53 +78,63 @@ if (pla_session_start()) */ $language = $config->GetValue('appearance','language'); -# Get english by default, in case there are tags that are missing. -ob_start(); -include LANGDIR."recoded/en.php"; -ob_end_clean(); -if ($language == "auto") { +if ($language == 'auto') { # Make sure their browser correctly reports language. If not, skip this. - if( isset( $_SERVER['HTTP_ACCEPT_LANGUAGE'] ) ) { + if (isset($_SERVER['HTTP_ACCEPT_LANGUAGE'])) { - # get the languages which are spetcified in the HTTP header - $HTTP_LANGS1 = preg_split ("/[;,]+/", $_SERVER['HTTP_ACCEPT_LANGUAGE'] ); - $HTTP_LANGS2 = preg_split ("/[;,]+/", $_SERVER['HTTP_ACCEPT_LANGUAGE'] ); - foreach( $HTTP_LANGS2 as $key => $value ) { - $value=preg_split ("/[-]+/", $value ); - $HTTP_LANGS2[$key]=$value[0]; + # Get the languages which are spetcified in the HTTP header + $HTTP_LANGS = preg_split ('/[;,]+/',$_SERVER['HTTP_ACCEPT_LANGUAGE']); + foreach ($HTTP_LANGS as $key => $value) { + if (substr($value,0,2) == 'q=') { + unset($HTTP_LANGS[$key]); + continue; + } + + $value = preg_split('/[-]+/',$value); + if (sizeof($value) == 2) + $HTTP_LANGS[$key] = strtolower($value[0]).'_'.strtoupper($value[1]); + else + $HTTP_LANGS[$key] = auto_lang(strtolower($value[0])); } - $HTTP_LANGS = array_merge ($HTTP_LANGS1, $HTTP_LANGS2); - foreach( $HTTP_LANGS as $HTTP_LANG) { - # try to grab one after the other the language file - $language_file = LANGDIR."recoded/$HTTP_LANG.php"; - if( file_exists($language_file) && - is_readable($language_file)) { - ob_start(); - include $language_file; - ob_end_clean(); + $HTTP_LANGS = array_unique($HTTP_LANGS); + + foreach ($HTTP_LANGS as $HTTP_LANG) { + # Try to grab one after the other the language file + $language_file = LANGDIR.$HTTP_LANG; + + if ((substr($HTTP_LANG,0,2) == 'en') || + (file_exists($language_file) && is_readable($language_file))) { + + # Set language + putenv('LANG='.$HTTP_LANG); # e.g. LANG=de_DE + setlocale(LC_ALL,$HTTP_LANG); # set LC_ALL to de_DE + bindtextdomain('messages',LANGDIR); + bind_textdomain_codeset('messages','UTF-8'); + textdomain('messages'); + header('Content-type: text/html; charset=UTF-8',true); break; } } } } else { - # grab the language file configured in config.php - if( $language != null ) { - if( 0 == strcmp( $language, 'english' ) ) - $language = 'en'; + # Grab the language file configured in config.php + if ($language != null) { + if (strcmp($language,'english') == 0) + $language = 'en_GB'; - $language_file = LANGDIR."recoded/$language.php"; - if( file_exists($language_file) && - is_readable($language_file)) { - ob_start(); - include $language_file; - ob_end_clean(); - } else { - pla_error(sprintf('Could not read language file "%s". Either the file does not exist, or its permissions do not allow phpLDAPadmin to read it.',$language_file)); - } + $language_file = LANGDIR.$language; + + # Set language + putenv('LANG='.$language); # e.g. LANG=de_DE + setlocale(LC_ALL,$language); # set LC_ALL to de_DE + bindtextdomain('messages',LANGDIR); + bind_textdomain_codeset('messages','UTF-8'); + textdomain('messages'); + header('Content-type: text/html; charset=UTF-8', true); } } @@ -138,7 +146,7 @@ if (! isset($templates) || ! is_array($templates)) $templates['custom'] = array('desc' => 'Custom', 'icon' => 'images/object.png', - 'handler' => 'custom.php' ); + 'handler' => 'custom.php'); /* * Strip slashes from GET, POST, and COOKIE variables if this @@ -149,7 +157,6 @@ if (get_magic_quotes_gpc() && (! isset($slashes_stripped) || ! $slashes_stripped array_stripslashes($_GET); array_stripslashes($_POST); array_stripslashes($_COOKIE); - array_stripslashes($_FILES); $slashes_stripped = true; } @@ -162,4 +169,36 @@ if (isset($_REQUEST['server_id'])) { if ($ldapserver->haveAuthInfo()) set_lastactivity($ldapserver); } + +/** + * Timer stopwatch, used to instrument PLA + */ +function stopwatch() { + static $mt_previous = 0; + + list($usec, $sec) = explode(' ',microtime()); + $mt_current = (float)$usec + (float)$sec; + + if (! $mt_previous) { + $mt_previous = $mt_current; + return 0; + + } else { + $mt_diff = ($mt_current - $mt_previous); + $mt_previous = $mt_current; + return sprintf('%.5f',$mt_diff); + } +} + +/** + * This function will convert the browser two character language into the + * default 5 character language, where the country portion should NOT be + * assumed to be upper case characters of the first two characters. + */ +function auto_lang($lang) { + switch ($lang) { + case 'ja': return 'ja_JP'; + default: return sprintf('%s_%s',$lang,strtoupper($lang)); + } +} ?> diff --git a/lib/config_default.php b/lib/config_default.php index 6684b32..eb84a80 100644 --- a/lib/config_default.php +++ b/lib/config_default.php @@ -1,5 +1,5 @@ default->appearance['anonymous_bind_implies_read_only'] = array( 'desc'=>'Display as read only if user logs in with anonymous bind', 'default'=>true); -//$anonymous_bind_implies_read_only = true; /* Anonymous redirect * Set to true if you want phpLDAPadmin to redirect anonymous @@ -38,21 +37,18 @@ class Config { $this->default->appearance['anonymous_bind_redirect_no_tree'] = array( 'desc'=>'Redirect user to search form if anonymous', 'default'=>false); -//$anonymous_bind_redirect_no_tree = false; $this->default->appearance['date'] = array( 'desc'=>'Date format whenever dates are shown', 'default'=>'%A %e %B %Y'); -//$date_format = "%A %e %B %Y"; $this->default->appearance['date_attrs'] = array( 'desc'=>'Array of attributes that should show a jscalendar', - 'default'=>array('shadowExpire'=>'%es','shadowInactive'=>'%es','shadowLastChange'=>'%es')); + 'default'=>array('shadowExpire'=>'%es','shadowLastChange'=>'%es')); $this->default->appearance['hide_configuration_management'] = array( 'desc'=>'Hide the Sourceforge related links', 'default'=>false); -//$hide_configuration_management = false; /** Language * The language setting. If you set this to 'auto', phpLDAPadmin will @@ -64,7 +60,6 @@ class Config { $this->default->appearance['language'] = array( 'desc'=>'Language', 'default'=>'auto'); -//$language = 'auto'; /** Mass Delete * Set to true if you want to draw a checkbox next to each entry in the tree viewer @@ -73,7 +68,6 @@ class Config { $this->default->appearance['mass_delete'] = array( 'desc'=>'Enable mass delete in tree viewer', 'default'=>false); -//$enable_mass_delete = false; /** * If you want certain attributes to be editable as multi-line, include them in this list @@ -82,7 +76,6 @@ class Config { $this->default->appearance['multi_line_attributes'] = array( 'desc'=>'Attributes to show as multiline attributes', 'default'=>array("postalAddress","homePostalAddress","personalSignature")); -//$multi_line_attributes = array( "postalAddress", "homePostalAddress", "personalSignature" ); /** * A list of syntax OIDs which support multi-line attribute values: @@ -94,7 +87,6 @@ class Config { "1.3.6.1.4.1.1466.115.121.1.40", // postal address syntax OID: "1.3.6.1.4.1.1466.115.121.1.41")); -//$multi_line_syntax_oids ... /** Obfuscate Password * If true, display all password hash values as "******". Note that clear-text @@ -103,7 +95,6 @@ class Config { $this->default->appearance['obfuscate_password_display'] = array( 'desc'=>'Obfuscate the display of passwords', 'default'=>false); -//$obfuscate_password_display = false; $this->default->appearance['show_clear_password'] = array( 'desc'=>'Whether to show clear passwords if we dont obfuscate them', @@ -116,7 +107,6 @@ class Config { $this->default->appearance['show_hints'] = array( 'desc'=>'Show helpful hints', 'default'=>true); -//$show_hints = true; // set to false to disable hints /** Tree display * A format string used to display enties in the tree viewer (left-hand side) @@ -142,12 +132,14 @@ class Config { $this->default->appearance['tree_display_format'] = array( 'desc'=>'LDAP attribute to show in the tree', 'default'=>'%rdn'); -//$tree_display_format = '%rdn'; $this->default->appearance['tree_width'] = array( 'desc'=>'Pixel width of the left frame view (tree browser)', 'default'=>320); -//$tree_width = 320; // pixels + + $this->default->appearance['tree_plm'] = array( + 'desc'=>'Whether to enable the PHPLayersMenu for the tree', + 'default'=>false); /** Caching */ @@ -159,6 +151,10 @@ class Config { 'desc'=>'Cache Template configuration', 'default'=>true); + $this->default->cache['tree'] = array( + 'desc'=>'Cache Browser Tree', + 'default'=>true); + /** Aliases and Referrrals * Similar to ldapsearch's -a option, the following options allow you to configure * how phpLDAPadmin will treat aliases and referrals in the LDAP tree. @@ -173,31 +169,26 @@ class Config { * LDAP_DEREF_ALWAYS - aliases should be dereferenced always (eg, the contents * of the referenced entry is shown and not the aliasing entry) */ - $this->default->deref['export'] = array( + @$this->default->deref['export'] = array( 'desc'=>'', 'default'=>LDAP_DEREF_NEVER); -//$export_deref = LDAP_DEREF_NEVER; - $this->default->deref['search'] = array( + @$this->default->deref['search'] = array( 'desc'=>'', 'default'=>LDAP_DEREF_ALWAYS); -//$search_deref = LDAP_DEREF_ALWAYS; - $this->default->deref['tree'] = array( + @$this->default->deref['tree'] = array( 'desc'=>'', 'default'=>LDAP_DEREF_NEVER); -//$tree_deref = LDAP_DEREF_NEVER; - $this->default->deref['view'] = array( + @$this->default->deref['view'] = array( 'desc'=>'', 'default'=>LDAP_DEREF_NEVER); -//$view_deref = LDAP_DEREF_NEVER; ## Debug Attributes $this->default->debug['level'] = array( 'desc'=>'Debug level verbosity', 'default'=>0); -//$debug_level $this->default->debug['syslog'] = array( 'desc'=>'Whether to send debug messages to syslog', @@ -206,7 +197,6 @@ class Config { $this->default->debug['file'] = array( 'desc'=>'Name of file to send debug output to', 'default'=>null); -//$use_syslog /** Temp Directories * This directory must be readable and writable by your web server @@ -214,12 +204,10 @@ class Config { $this->default->jpeg['tmpdir'] = array( 'desc'=>'Temporary directory for jpegPhoto data', 'default'=>'/tmp'); -//$jpeg_temp_dir = "/tmp"; $this->default->jpeg['tmp_keep_time'] = array( 'desc'=>'Time in seconds to keep jpegPhoto temporary files in the temp directory', 'default'=>120); -//$jpeg_tmp_keep_time = 120; // seconds ## Session Attributes /** Cookie Encryption @@ -228,7 +216,6 @@ class Config { $this->default->session['blowfish'] = array( 'desc'=>'Blowfish key to encrypt cookie details', 'default'=>null); -//$blowfish_secret = ''; /** Cookie Time * If you used auth_type 'form' in the servers list, you can adjust how long the cookie will last @@ -237,7 +224,6 @@ class Config { $this->default->session['cookie_time'] = array( 'desc'=>'Time in seconds for the life of cookies', 'default'=>0); -//$cookie_time = 0; ## Password Generation $this->default->password['length'] = array( @@ -264,15 +250,6 @@ class Config { 'desc'=>'Whether to use similiar characters', 'default'=>true); - ## Template Engine Configuration - $this->default->template_engine['enable'] = array( - 'desc'=>'Use templates from parsed by the template engine', - 'default'=>true); - - $this->default->template_engine['disable_old'] = array( - 'desc'=>'Disable access to old templates', - 'default'=>true); - /** Search display * By default, when searching you may display a list or a table of results. * Set this to 'table' to see table formatted results. @@ -281,12 +258,10 @@ class Config { $this->default->search['display'] = array( 'desc'=>'Display a list or table of search results', 'default'=>'list'); -//$default_search_display = 'list'; $this->default->search['size_limit'] = array( 'desc'=>'Limit the size of searchs on the search page', 'default'=>50); -//$search_result_size_limit = 50; /** * Which attributes to include in the drop-down menu of the simple search form (comma-separated) @@ -296,7 +271,6 @@ class Config { $this->default->search['attributes'] = array( 'desc'=>'Attributes to include in the drop down menu of the simple search form (comma separated)', 'default'=>array('uid','cn','gidNumber','objectClass','telephoneNumber','mail','street')); -//$search_attributes ... /** * You can re-arrange the order of the search criteria on the simple search form by modifying this array @@ -304,8 +278,7 @@ class Config { */ $this->default->search['criteria_options'] = array( 'desc'=>'Rearrange the order of the search criteria', - 'default'=>array("equals","starts with","contains","ends with","sounds like")); -//$search_criteria_options ... + 'default'=>array('equals','starts with','contains','ends with','sounds like')); /** * The list of attributes to display in each search result entry. @@ -314,7 +287,6 @@ class Config { $this->default->search['result_attributes'] = array( 'desc'=>'List of attributes to display in each search result entry', 'default'=>array('cn','sn','uid','postalAddress','telephoneNumber')); -//$search_result_attributes ... } function GetValue($key,$index) { diff --git a/lib/createlm.php b/lib/createlm.php index 4e88fd5..0be0b7e 100644 --- a/lib/createlm.php +++ b/lib/createlm.php @@ -1,6 +1,6 @@ Array ( - * [0] => top - * [1] => person - * [2] => inetOrgPerson - * ) - * [cn] => John - * [sn] => Doe - * ... - * ) - * - * @deprecated - */ -function preEntryCreate( $server_id, $dn, $attrs ) -{ - // Fill me in - return true; -} - -/* - * This function is executed before an entry is deleted. - * If it returns true, the entry is deleted, if false - * is returned, the entry is not deleted. - * @deprecated - */ -function preEntryDelete( $server_id, $dn ) -{ - // Fill me in - return true; -} - -/* - * This function is executed after an entry is deleted. - * Unlike preEntryDelete(), this function's return - * value is ignored. - * @deprecated - */ -function postEntryDelete( $server_id, $dn ) -{ - // Fill me in -} - -/** - * This function is called, after a new session is initilaized - * @deprecated - */ -function postSessionInit() -{ - // Fill me in -} -?> diff --git a/lib/export_functions.php b/lib/export_functions.php index ebf95b0..0e5f045 100755 --- a/lib/export_functions.php +++ b/lib/export_functions.php @@ -1,5 +1,5 @@ 'LDIF', 'extension' => 'ldif' ); - + $exporters[] = array( 'output_type'=>'dsml', 'desc' => 'DSML V.1', @@ -38,108 +35,82 @@ $exporters[] = array( $exporters[] = array( 'output_type'=>'csv', - 'desc' => $lang['csv_spreadsheet'], + 'desc' => _('CSV (Spreadsheet)'), 'extension' => 'csv' ); /** - * This class encapsulate informations about the ldap server + * This class encapsulate informations about the ldap server * from which the export is done. - * The following info are provided within this class: + * The following info are provided within this class: * - * $server_id: the id of the server. - * $base_dn: if the source of the export is the ldap server, - * it indicates the base dn of the search. + * $ldapserver: the object of the server. + * $base_dn: if the source of the export is the ldap server, + * it indicates the base dn of the search. * $query_filter: if the source of the export is the ldap server, - * it indicates the query filter for the search. + * it indicates the query filter for the search. * $scope: if the source of the export is the ldap server, - * it indicates the scope of the search. + * it indicates the scope of the search. * * @package phpLDAPadmin */ - class LdapExportInfo { + var $ldapserver; + var $base_dn; + var $query_filter; + var $scope; - var $base_dn; - var $query_filter; - var $scope; + /** + * Create a new LdapExportInfo object + * + * @param int $server_id the server id + * @param String $base_dn the base_dn for the search in a ldap server + * @param String $query_filter the query filter for the search + * @param String $scope the scope of the search in a ldap server + */ - /** - * Create a new LdapExportInfo object - * - * @param int $server_id the server id - * @param String $base_dn the base_dn for the search in a ldap server - * @param String $query_filter the query filter for the search - * @param String $scope the scope of the search in a ldap server - */ + function LdapExportInfo($server_id,$base_dn=null,$query_filter=null,$scope=null) { + global $ldapservers; - function LdapExportInfo($server_id,$base_dn = NULL,$query_filter = NULL,$scope = NULL){ - global $ldapservers; - - $this->ldapserver = $ldapservers->Instance($server_id); - - $this->ldapserver->base_dn = $base_dn; - $this->ldapserver->query_filter = $query_filter; - $this->ldapserver->scope = $scope; - } + $this->ldapserver = $ldapservers->Instance($server_id); + $this->ldapserver->base_dn = $base_dn; + $this->ldapserver->query_filter = $query_filter; + $this->ldapserver->scope = $scope; + } } /** * This class represents the base class of all exporters * It can be subclassed directly if your intend is to write - * a source exporter(ie. it will act only as a decoree + * a source exporter(ie. it will act only as a decoree * which will be wrapped by an another exporter.) - * If you consider writting an exporter for filtering data + * If you consider writting an exporter for filtering data * or directly display entries, please consider subclass * the PlaExporter * * @see PlaExporter * @package phpLDAPadmin */ +class PlaAbstractExporter { + /** + * Return the number of entries + * @return int the number of entries to be exported + */ + function pla_num_entries() {} -class PlaAbstractExporter{ - - /** - * Return the number of entries - * @return int the number of entries to be exported - */ - function pla_num_entries(){} - - /** - * Return true if there is some more entries to be processed - * @return bool if there is some more entries to be processed - */ - function pla_has_entry(){} - - /** - * Return the entry as an array - * @return array an entry as an array - */ - function pla_fetch_entry_array(){} - - /** - * Return the entry as an Entry object - * @return Entry an entry as an Entry Object - */ - function pla_fetch_entry_object(){} - - /** - * Return a PlaLdapInfo Object - * @return LdapInfo Object with info from the ldap serveur - */ - function pla_get_ldap_info(){} - - /** - * May be call when the processing is finished - * and to free some ressources. - * @return bool true or false if any errors is encountered - */ - function pla_close(){} - -}// end PlaAbstractExporter - + /** + * Return the results + * @return array if there is some more entries to be processed + */ + function pla_results() {} + /** + * Return a PlaLdapInfo Object + * @return LdapInfo Object with info from the ldap serveur + */ + function pla_get_ldap_info() {} +} # end PlaAbstractExporter /** * PlaExporter acts a wrapper around another exporter. @@ -147,354 +118,265 @@ class PlaAbstractExporter{ * * @package phpLDAPadmin */ +class PlaExporter extends PlaAbstractExporter { + # Default CRLN + var $br = "\n"; + # The wrapped $exporter + var $exporter; -class PlaExporter extends PlaAbstractExporter{ - // the default CRLN - var $br="\n"; - // the wrapped $exporter - var $exporter; + var $compress = false; - /** - * Constructor - * @param source $source the decoree for this exporter - */ - function PlaExporter( $source ){ - $this->exporter = $source; - } - - /** - * Return the number of entries - * @return int the number of entries to be exported - */ - function pla_num_entries(){ - return $this->exporter->pla_num_entries(); - } + /** + * Constructor + * @param source $source the decoree for this exporter + */ + function PlaExporter($source) { + $this->exporter = $source; + } - /** - * Return true if there is some more entries to be processed - * @return bool if there is some more entries to be processed - */ - function pla_has_entry(){ - return $this->exporter->pla_has_entry(); - } + /** + * Return the number of entries + * @return int the number of entries to be exported + */ + function pla_num_entries() { + return $this->exporter->pla_num_entries(); + } - /** - * Return the entry as an array - * @return array an entry as an array - */ - function pla_fetch_entry_array(){ - return $this->exporter->pla_fetch_entry_array(); - } + /** + * Return the results + * @return array if there is some more entries to be processed + */ + function pla_results() { + return $this->exporter->pla_results(); + } - /** - * Return the entry as an Entry object - * @return Entry an entry as an Entry Object - */ - function pla_fetch_entry_object(){ - return $this->exporter->pla_fetch_entry_object(); - } + /** + * Return a PlaLdapInfo Object + * @return LdapInfo Object with info from the ldap serveur + */ + function pla_get_ldap_info() { + return $this->exporter->pla_get_ldap_info(); + } - /** - * Return a PlaLdapInfo Object - * @return LdapInfo Object with info from the ldap serveur - */ - function pla_get_ldap_info(){ - return $this->exporter->pla_get_ldap_info(); - } + /** + * Helper method to check if the attribute value should be base 64 encoded. + * @param String $str the string to check. + * @return bool true if the string is safe ascii, false otherwise. + */ + function is_safe_ascii($str) { + for ($i=0;$i 127) + return false; + return true; + } - /** - * May be called when the processing is finished - * and to free some ressources. - * @return bool false if any errors are encountered,false otherwise - */ - function pla_close(){ - return $this->exporter->pla_close(); - } + /** + * Abstract method use to export data. + * Must be implemented in a sub-class if you write an exporter + * which export data. + * Leave it empty if you write a sub-class which do only some filtering. + */ + function export() {} - /** - * Helper method to check if the attribute value should be base 64 encoded. - * @param String $str the string to check. - * @return bool true if the string is safe ascii, false otherwise. - */ - function is_safe_ascii( $str ){ - for( $i=0; $i 127 ) - return false; - return true; - } - - /** - * Abstract method use to export data. - * Must be implemented in a sub-class if you write an exporter - * which export data. - * Leave it empty if you write a sub-class which do only some filtering. - */ - function export(){} - - /** - * Set the carriage return /linefeed for the export - * @param String $br the CRLF to be set - */ - function setOutputFormat( $br ){ - $this->br = $br; - } + /** + * Set the carriage return /linefeed for the export + * @param String $br the CRLF to be set + */ + function setOutputFormat($br){ + $this->br = $br; + } -}// end PlaExporter + /** + * Display the header for the export + */ + function displayExportInfoHeader($type,$ldapserver) { + $output = ''; + $output .= sprintf("version: 1%s%s",$this->br,$this->br); + $output .= sprintf('# '.$type."%s",$ldapserver->base_dn,$this->br); + $output .= sprintf('# '._('Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s')."%s",date('F j, Y g:i a'),$this->br); + $output .= sprintf("# %s: %s (%s)%s",_('Server'),$ldapserver->name,$ldapserver->host,$this->br); + $output .= sprintf("# %s: %s%s",_('Search Scope'),$ldapserver->scope,$this->br); + $output .= sprintf("# %s: %s%s",_('Search Filter'),$ldapserver->query_filter,$this->br); + $output .= sprintf("# %s: %s%s",_('Total Entries'),$this->pla_num_entries(),$this->br); + $output .= $this->br; + + return $output; + } + + function compress($boolean) { + $this->compress = $boolean; + } + + function isCompressed() { + return $this->compress; + } +} # end PlaExporter /** * Export data from a ldap server * @extends PlaAbstractExporter * @package phpLDAPadmin */ +class PlaLdapExporter extends PlaAbstractExporter { + var $scope; + var $base_dn; + var $server_id; + var $queryFilter; + var $attributes; + var $ldap_info; + var $results; + var $num_entries; -class PlaLdapExporter extends PlaAbstractExporter{ - var $entry_id; - var $results; - var $server_id; - var $scope; - var $entry_array; - var $num_entries; - var $ldap_info; - var $queryFilter; - var $hasNext; - var $attributes; - /** - * Create a PlaLdapExporter object. - * @param int $server_id the server id - * @param String $queryFilter the queryFilter for the export - * @param String $base_dn the base_dn for the data to export - * @param String $scope the scope for export - */ - function PlaLdapExporter( $server_id , $queryFilter , $base_dn , $scope, $attributes){ - global $lang, $config; - $this->scope = $scope; - $this->base_dn = $base_dn; - $this->server_id = $server_id; - $this->queryFilter = $queryFilter; - // infos for the server - $this->ldap_info = new LdapExportInfo($server_id,$base_dn,$queryFilter,$scope); - // boolean to check if there is more entries - $this->hasNext = 0; - // boolean to check the state of the connection + /** + * Create a PlaLdapExporter object. + * @param int $server_id the server id + * @param String $queryFilter the queryFilter for the export + * @param String $base_dn the base_dn for the data to export + * @param String $scope the scope for export + */ + function PlaLdapExporter($server_id,$queryFilter,$base_dn,$scope,$attributes) { + global $config; - $this->attributes = $attributes; - // connect to the server - $this->ds = $this->ldap_info->ldapserver->connect(); - // @todo test whether we need to call pla_ldap_connection_is_error here. - //pla_ldap_connection_is_error( $this->ds ); + $this->scope = $scope; + $this->base_dn = $base_dn; + $this->server_id = $server_id; + $this->queryFilter = $queryFilter; + $this->attributes = $attributes; - // get the data to be exported - if( $this->scope == 'base' ) - $this->results = @ldap_read( $this->ds, $this->base_dn, $this->queryFilter,$this->attributes, - 0, 0, 0, $config->GetValue('deref','export')); - elseif( $this->scope == 'one' ) - $this->results = @ldap_list( $this->ds, $this->base_dn, $this->queryFilter, $this->attributes, - 0, 0, 0, $config->GetValue('deref','export')); - else // scope == 'sub' - $this->results = @ldap_search( $this->ds, $this->base_dn, $this->queryFilter, $this->attributes, - 0, 0, 0, $config->GetValue('deref','export')); - - // if no result, there is a something wrong - if( ! $this->results ) - pla_error( $lang['error_performing_search'], ldap_error( $this->ds ), ldap_errno( $this->ds ) ); - - // get the number of entries to be exported - $this->num_entries = @ldap_count_entries( $this->ds,$this->results ); + # infos for the server + $this->ldap_info = new LdapExportInfo($server_id,$base_dn,$queryFilter,$scope); - if( $this->entry_id = @ldap_first_entry( $this->ds,$this->results ) ){ - $this->hasNext = 1; - } - }//end constructor + # get the data to be exported + $this->results = $this->ldap_info->ldapserver->search(null,$this->base_dn,$this->queryFilter,$this->attributes, + $this->scope,true,$config->GetValue('deref','export')); - /** - * Return the entry as an array - * @return array an entry as an array - */ - function pla_fetch_entry_array(){ - return $this->entry_array; - } + # if no result, there is a something wrong + if (! $this->results && $this->ldap_info->ldapserver->errno()) + pla_error(_('Encountered an error while performing search.'),$this->ldap_info->ldapserver->error(), + $this->ldap_info->ldapserver->errno()); - /** - * Return the entry as an Entry object - * @return Entry an entry as an Entry Object - */ - function pla_fetch_entry_object(){ - // to do - } - - /** - * Return a PlaLdapInfo Object - * @return LdapInfo Object with info from the ldap serveur - */ - function pla_get_ldap_info(){ - return $this->ldap_info->ldapserver; - } + usort($this->results,'pla_compare_dns'); + $this->num_entries = count($this->results); + } # End constructor - /** - * Return the number of entries - * @return int the number of entries to be exported - */ - function pla_num_entries(){ - return $this->num_entries; - } - - /** - * Return true if there is some more entries to be processed - * @return bool if there is some more entries to be processed - */ - function pla_has_entry(){ - if( $this->hasNext ){ - unset( $this->entry_array ); - $dn = @ldap_get_dn( $this->ds,$this->entry_id ); - $this->entry_array['dn'] = $dn; - - //get the attributes of the entry - $attrs = @ldap_get_attributes($this->ds,$this->entry_id); - if( $attr = @ldap_first_attribute( $this->ds,$this->entry_id,$attrs ) ){ - - //iterate over the attributes - while( $attr ){ - if( is_attr_binary( $this->ldap_info->ldapserver,$attr ) ){ - $this->entry_array[$attr] = @ldap_get_values_len( $this->ds,$this->entry_id,$attr ); - } - else{ - $this->entry_array[$attr] = @ldap_get_values( $this->ds,$this->entry_id,$attr ); - } - unset( $this->entry_array[$attr]['count'] ); - $attr = @ldap_next_attribute( $this->ds,$this->entry_id,$attrs ); - }// end while attr - - if(!$this->entry_id = @ldap_next_entry( $this->ds,$this->entry_id ) ){ - $this->hasNext = 0; + /** + * Return the results + * @return array if there is some more entries to be processed + */ + function pla_results() { + return $this->results; } - }// end if attr - return true; - } - else{ - $this->pla_close(); - return false; - } - } - - /** - * May be called when the processing is finished - * and to free some ressources. - * @return bool true or false if any errors is encountered - * @todo This could break something, so need to add a method to LDAPServer to close connection and reset $connected. - */ - function pla_close(){ -// if($this->ldap_info->connected){ -// return @ldap_close( $this->ds ); -// } -// else{ -// return true; -// } - } -} // end PlaLdapExporter + + /** + * Return a PlaLdapInfo Object + * @return LdapInfo Object with info from the ldap serveur + */ + function pla_get_ldap_info() { + return $this->ldap_info->ldapserver; + } + + /** + * Return the number of entries + * @return int the number of entries to be exported + */ + function pla_num_entries() { + return $this->num_entries; + } +} # End PlaLdapExporter /** * Export entries to ldif format * @extends PlaExporter * @package phpLDAPadmin */ +class PlaLdifExporter extends PlaExporter { + # variable to keep the count of the entries + var $counter = 0; -class PlaLdifExporter extends PlaExporter{ + # the maximum length of the ldif line + var $MAX_LDIF_LINE_LENGTH = 76; - // variable to keep the count of the entries - var $counter = 0; - - // the maximum length of the ldif line - var $MAX_LDIF_LINE_LENGTH = 76; - - /** - * Create a PlaLdifExporter object - * @param PlaAbstractExporter $exporter the source exporter - */ - function PlaLdifExporter( $exporter ){ - $this->exporter = $exporter; - } - - /** - * Export entries to ldif format - */ - function export(){ - $pla_ldap_info = $this->pla_get_ldap_info(); - $this->displayExportInfo($pla_ldap_info); - - //While there is an entry, fecth the entry as an array - while($this->pla_has_entry()){ - $entry = $this->pla_fetch_entry_array(); - $this->counter++; - - // display comment before each entry - global $lang; - $title_string = "# " . $lang['entry'] . " " . $this->counter . ": " . $entry['dn'] ; - if( strlen( $title_string ) > $this->MAX_LDIF_LINE_LENGTH-3 ) - $title_string = substr( $title_string, 0, $this->MAX_LDIF_LINE_LENGTH-3 ) . "..."; - echo "$title_string$this->br"; - - // display dn - if( $this->is_safe_ascii( $entry['dn'] )) - $this->multi_lines_display("dn: ". $entry['dn']); - else - $this->multi_lines_display("dn:: " . base64_encode( $entry['dn'] )); - array_shift($entry); - - // display the attributes - foreach( $entry as $key => $attr ){ - foreach( $attr as $value ){ - if( !$this->is_safe_ascii($value) || is_attr_binary($pla_ldap_info,$key ) ){ - $this->multi_lines_display( $key.":: " . base64_encode( $value ) ); - } - else{ - $this->multi_lines_display( $key.": ".$value ); - } + /** + * Create a PlaLdifExporter object + * @param PlaAbstractExporter $exporter the source exporter + */ + function PlaLdifExporter($exporter) { + $this->exporter = $exporter; } - }// end foreach $entry - echo $this->br; - // flush every 5th entry (sppeds things up a bit) - if( 0 == $this->counter % 5 ) - flush(); - } - } - - // display info related to this export - function displayExportInfo($pla_ldap_info){ - global $lang; - echo "version: 1$this->br$this->br"; - echo "# " . sprintf( $lang['ldif_export_for_dn'], $pla_ldap_info->base_dn ) . $this->br; - echo "# " . sprintf( $lang['generated_on_date'], date("F j, Y g:i a") ) . $this->br; - echo "# " . $lang['server'] . ": " .$pla_ldap_info->name . " (" . $pla_ldap_info->host . ")" . $this->br; - echo "# " . $lang['search_scope'] . ": " . $pla_ldap_info->scope . $this->br; - echo "# " . $lang['search_filter'] . ": " . $pla_ldap_info->query_filter . $this->br; - echo "# " . $lang['total_entries'] . ": " . $this->pla_num_entries() . $this->br; - echo $this->br; - } + /** + * Export entries to ldif format + */ + function export() { + $ldapserver = $this->pla_get_ldap_info(); + $output = $this->displayExportInfoHeader(_('LDIF Export for: %s'),$ldapserver); - /** - * Helper method to wrap ldif lines - * @param String $str the line to be wrapped if needed. - */ - function multi_lines_display( $str ){ - - $length_string = strlen($str); - $max_length = $this->MAX_LDIF_LINE_LENGTH; - - while ($length_string > $max_length){ - echo substr($str,0,$max_length).$this->br." "; - $str= substr($str,$max_length,$length_string); - $length_string = strlen($str); - - // need to do minus one to align on the right - // the first line with the possible following lines - // as these will have an extra space - $max_length = $this->MAX_LDIF_LINE_LENGTH-1; - } - echo $str."".$this->br; - } + # Sift through the entries. + foreach ($this->pla_results() as $dn => $dndetails) { + $this->counter++; + if (isset($dndetails['dn'])) { + $dn = $dndetails['dn']; + unset($dndetails['dn']); + } + $title_string = sprintf('# %s %s: %s%s',_('Entry'),$this->counter,$dn,$this->br); + if (strlen($title_string) > $this->MAX_LDIF_LINE_LENGTH-3) + $title_string = substr($title_string,0,$this->MAX_LDIF_LINE_LENGTH-3).'...'.$this->br; + + # display dn + if ($this->is_safe_ascii($dn)) + $output .= $this->multi_lines_display(sprintf('dn: %s',$dn)); + else + $output .= $this->multi_lines_display(sprintf('dn:: %s',base64_encode($dn))); + + # display the attributes + foreach ($dndetails as $key => $attr) { + if (! is_array($attr)) + $attr = array($attr); + + foreach ($attr as $value) { + if (! $this->is_safe_ascii($value) || $ldapserver->isAttrBinary($key)) { + $output .= $this->multi_lines_display(sprintf('%s:: %s',$key,base64_encode($value))); + + } else { + $output .= $this->multi_lines_display(sprintf('%s: %s',$key,$value)); + } + } + } # end foreach + + $output .= $this->br; + } + + if ($this->compress) + echo gzencode($output); + else + echo $output; + } + + /** + * Helper method to wrap ldif lines + * @param String $str the line to be wrapped if needed. + */ + function multi_lines_display($str) { + $length_string = strlen($str); + $max_length = $this->MAX_LDIF_LINE_LENGTH; + + $output = ''; + while ($length_string > $max_length) { + $output .= substr($str,0,$max_length).$this->br.' '; + $str = substr($str,$max_length,$length_string); + $length_string = strlen($str); + + /* need to do minus one to align on the right + the first line with the possible following lines + as these will have an extra space. */ + $max_length = $this->MAX_LDIF_LINE_LENGTH-1; + } + $output .= $str.$this->br; + + return $output; + } } /** @@ -502,374 +384,334 @@ class PlaLdifExporter extends PlaExporter{ * @extends PlaExporter * @package phpLDAPadmin */ +class PlaDsmlExporter extends PlaExporter { + var $counter = 0; -class PlaDsmlExporter extends PlaExporter{ - - //not in use - var $indent_step = 2; - var $counter = 0; - - /** - * Create a PlaDsmlExporter object - * @param PlaAbstractExporter $exporter the decoree exporter - */ - function PlaDsmlExporter( $exporter ){ - $this->exporter = $exporter; - } - - /** - * Export the entries to DSML - */ - function export(){ - global $lang; - $pla_ldap_info = $this->pla_get_ldap_info(); - // not very elegant, but do the job for the moment as we have just 4 level - $directory_entries_indent = " "; - $entry_indent= " "; - $attr_indent = " "; - $attr_value_indent = " "; - - // print declaration - echo "$this->br"; - - // print root element - echo "$this->br"; - - // print info related to this export - echo "" . $this->br; - - - echo $directory_entries_indent."$this->br"; - //While there is an entry, fetch the entry as an array - while($this->pla_has_entry()){ - $entry = $this->pla_fetch_entry_array(); - $this->counter++; - // display dn - echo $entry_indent."".$this->br; - array_shift($entry); - - // echo the objectclass attributes first - if(isset($entry['objectClass'])){ - echo $attr_indent."".$this->br; - foreach($entry['objectClass'] as $ocValue){ - echo $attr_value_indent."$ocValue".$this->br; - } - echo $attr_indent."".$this->br; - unset($entry['objectClass']); + /** + * Create a PlaDsmlExporter object + * @param PlaAbstractExporter $exporter the decoree exporter + */ + function PlaDsmlExporter($exporter) { + $this->exporter = $exporter; } - - $binary_mode = 0; - // display the attributes - foreach($entry as $key=>$attr){ - echo $attr_indent."".$this->br; - - // if the attribute is binary, set the flag $binary_mode to true - $binary_mode = is_attr_binary($pla_ldap_info,$key)?1:0; - - foreach($attr as $value){ - echo $attr_value_indent."".($binary_mode?base64_encode( $value): htmlspecialchars( $value ) )."".$this->br; - } - echo $attr_indent."".$this->br; - }// end foreach $entry - echo $entry_indent."".$this->br; - - // flush every 5th entry (speeds things up a bit) - if( 0 == $this->counter % 5 ) - flush(); - } - echo $directory_entries_indent."$this->br"; - echo "".$this->br; - } -} + /** + * Export the entries to DSML + */ + function export() { + $ldapserver = $this->pla_get_ldap_info(); + + # not very elegant, but do the job for the moment as we have just 4 level + $directory_entries_indent = ' '; + $entry_indent= ' '; + $attr_indent = ' '; + $attr_value_indent = ' '; + + # print declaration + $output = ''.$this->br; + + # print root element + $output .= ''.$this->br; + + # print info related to this export + $output .= ''.$this->br; + $output .= $this->br; + + $output .= $directory_entries_indent.''.$this->br; + + # Sift through the entries. + foreach ($this->pla_results() as $dn => $dndetails) { + $this->counter++; + unset($dndetails['dn']); + + # display dn + $output .= sprintf($entry_indent.''."%s",htmlspecialchars($dn),$this->br); + + # echo the objectclass attributes first + if (isset($dndetails['objectClass'])) { + $output .= $attr_indent.''.$this->br; + + foreach ($dndetails['objectClass'] as $ocValue) { + $output .= sprintf($attr_value_indent.'%s'."%s",$ocValue,$this->br); + } + + $output .= $attr_indent.''.$this->br; + unset($dndetails['objectClass']); + } + + $binary_mode = 0; + + # display the attributes + foreach ($dndetails as $key => $attr) { + if (! is_array($attr)) + $attr = array($attr); + + $output .= sprintf($attr_indent.''."%s",$key,$this->br); + + # if the attribute is binary, set the flag $binary_mode to true + $binary_mode = $ldapserver->isAttrBinary($key) ? 1 : 0; + + foreach ($attr as $value) { + $output .= sprintf($attr_value_indent.'%s'."%s", + ($binary_mode ? base64_encode($value) : htmlspecialchars($value)),$this->br); + } + + $output .= $attr_indent.''.$this->br; + } # end foreach + $output .= $entry_indent.''.$this->br; + } + + $output .= $directory_entries_indent.''.$this->br; + $output .= ''.$this->br; + + if ($this->compress) + echo gzencode($output); + else + echo $output; + } +} /** * @package phpLDAPadmin */ -class PlaVcardExporter extends PlaExporter{ +class PlaVcardExporter extends PlaExporter { + # mappping one to one attribute + var $vcardMapping = array('cn' => 'FN', + 'title' => 'TITLE', + 'homePhone' => 'TEL;HOME', + 'mobile' => 'TEL;CELL', + 'mail' => 'EMAIL;Internet', + 'labeledURI' =>'URL', + 'o' => 'ORG', + 'audio' => 'SOUND', + 'facsmileTelephoneNumber' =>'TEL;WORK;HOME;VOICE;FAX', + 'jpegPhoto' => 'PHOTO;ENCODING=BASE64', + 'businessCategory' => 'ROLE', + 'description' => 'NOTE' + ); - // mappping one to one attribute - var $vcardMapping = array('cn' => 'FN', - 'title' => 'TITLE', - 'homePhone' => 'TEL;HOME', - 'mobile' => 'TEL;CELL', - 'mail' => 'EMAIL;Internet', - 'labeledURI' =>'URL', - 'o' => 'ORG', - 'audio' => 'SOUND', - 'facsmileTelephoneNumber' =>'TEL;WORK;HOME;VOICE;FAX', - 'jpegPhoto' => 'PHOTO;ENCODING=BASE64', - 'businessCategory' => 'ROLE', - 'description' => 'NOTE' - ); - - var $deliveryAddress = array("postOfficeBox", - "street", - "l", - "st", - "postalCode", - "c"); + var $deliveryAddress = array('postOfficeBox', + 'street', + 'l', + 'st', + 'postalCode', + 'c'); - function PlaVcardExporter($exporter){ - $this->exporter = $exporter; - } - - /** - * When doing an exporter, the method export need to be overriden. - * A basic implementation is provided here. Customize to your need - **/ - - function export(){ - - // With the method pla->get_ldap_info, - // you have access to some values related - // to you ldap server - $ldap_info = $this->pla_get_ldap_info(); - $base_dn = $ldap_info->base_dn; - $server_id = $ldap_info->server_id; - $scope = $ldap_info->scope; - $server_name = $ldap_info->name; - $server_host = $ldap_info->host; - - while( $this->pla_has_entry() ){ - $entry = $this->pla_fetch_entry_array(); - - //fetch the dn - $dn = $entry['dn']; - unset( $entry['dn'] ); - - // check the attributes needed for the delivery address - // field - $addr = "ADR:"; - foreach( $this->deliveryAddress as $attr_name ){ - if( isset( $entry[$attr_name] ) ){ - $addr .= $entry[$attr_name][0]; - unset($entry[$attr_name]); + function PlaVcardExporter($exporter){ + $this->exporter = $exporter; } - $addr .= ';'; - } - echo "BEGIN:VCARD$this->br"; - // loop for the attributes - foreach( $entry as $attr_name=>$attr_values ){ + /** + * When doing an exporter, the method export need to be overriden. + * A basic implementation is provided here. Customize to your need + **/ + function export() { + # Sift through the entries. + foreach ($this->pla_results() as $dn => $dndetails) { + unset($dndetails['dn']); - // if an attribute of the ldap entry exist - // in the mapping array for vcard - if( isset( $this->vcardMapping[$attr_name] ) ){ + # check the attributes needed for the delivery address field + $addr = 'ADR:'; + foreach ($this->deliveryAddress as $attr_name) { + if (isset($dndetails[$attr_name])) { + $addr .= $dndetails[$attr_name]; + unset($dndetails[$attr_name]); + } + $addr .= ';'; + } - // case of organisation. Need to append the - // possible ou attribute - if( 0 == strcasecmp( $attr_name , 'o' )){ - echo $this->vcardMapping[$attr_name].":$attr_values[0]"; - if( isset($entry['ou'] ) ) - foreach( $entry['ou'] as $ou_value ){ - echo ";$ou_value"; - } - } - // the attribute is binary. (to do : need to fold the line) - else if( 0 == strcasecmp( $attr_name,'audio') || 0 == strcasecmp( $attr_name,'jpegPhoto') ){ - echo $this->vcardMapping[$attr_name].":$this->br"; - echo " ".base64_encode( $attr_values[0]); - } - /* else if( $attr_name == "sn"){ - echo $this->vcardMapping[$attr_name].":$attr_values[0]"; - } - elseif( $attr_name == "homePostalAddress"){ - }*/ - // else just print the value with the relevant attribute name - else{ - echo $this->vcardMapping[$attr_name].":$attr_values[0]"; - } - echo $this->br; + $output = 'BEGIN:VCARD'.$this->br; + + # loop for the attributes + foreach ($dndetails as $key => $attr) { + if (! is_array($attr)) + $attr = array($attr); + + /* if an attribute of the ldap entry exist + in the mapping array for vcard */ + if (isset($this->vcardMapping[$key])) { + + /* case of organisation. Need to append the + possible ou attribute*/ + if (strcasecmp($key ,'o') == 0) { + $output .= sprintf('%s:%s',$this->vcardMapping[$key],$attr[0]); + + if (isset($entry['ou'])) + foreach ($entry['ou'] as $ou_value) { + $output .= sprintf(';%s',$ou_value); + } + + # the attribute is binary. (to do : need to fold the line) + } elseif (strcasecmp($key,'audio') == 0 || strcasecmp($key,'jpegPhoto') == 0) { + $output .= $this->vcardMapping[$key].':'.$this->br; + $output .= ' '.base64_encode($attr[0]); + + } else { + $output .= $this->vcardMapping[$key].':'.$attr[0]; + } + + $output .= $this->br; + } + } + + $output .= sprintf('UID:%s'."%s",$dn,$this->br); + $output .= 'VERSION:2.1'.$this->br; + $output .= $addr.$this->br; + $output .= 'END:VCARD'.$this->br; + } # end while + + if ($this->compress) + echo gzencode($output); + else + echo $output; } - } - // need to check - echo "UID:$dn"; - echo $this->br; - echo "VERSION:2.1"; - echo $this->br; - echo $addr; - echo $this->br; - echo "END:VCARD"; - echo $this->br; - }// end while - } } - - - /** * Export to cvs format * * @author Glen Ogilvie * @package phpLDAPadmin */ +class PlaCSVExporter extends PlaExporter { + function PlaCSVExporter($exporter) { + $this->exporter = $exporter; + } -class PlaCSVExporter extends PlaExporter{ + /** + * When doing an exporter, the method export need to be overriden. + * A basic implementation is provided here. Customize to your need + **/ + var $separator = ','; + var $qualifier = '"'; + var $multivalue_separator = ' | '; + var $escapeCode = '"'; - function PlaCSVExporter($exporter){ - $this->exporter = $exporter; - } - - /** - * When doing an exporter, the method export need to be overriden. - * A basic implementation is provided here. Customize to your need - **/ - - var $separator = ","; - var $qualifier = '"'; - var $multivalue_separator = " | "; - var $escapeCode = '"'; - - function export(){ - - // With the method pla->get_ldap_info, - // you have access to some values related - // to you ldap server - $ldap_info = $this->pla_get_ldap_info(); - $base_dn = $ldap_info->base_dn; - $server_id = $ldap_info->server_id; - $scope = $ldap_info->scope; - $server_name = $ldap_info->name; - $server_host = $ldap_info->host; - - $entries = array(); - $headers = array(); - - // go thru and find all the attribute names first. This is needed, because, otherwise we have - // no idea as to which search attributes were actually populated with data - while( $this->pla_has_entry() ) { - $entry = $this->pla_fetch_entry_array(); - foreach (array_keys($entry) as $key) { - if (!in_array($key, $headers)) - array_push($headers,$key); - } - array_push($entries, $entry); - } - - $num_headers = count($headers); - - // print out the headers - for ($i = 0; $i < $num_headers; $i++) { - echo $this->qualifier. $headers[$i].$this->qualifier; - if ($i < $num_headers-1) - echo $this->separator; - } - - array_shift($headers); - $num_headers--; - - echo $this->br; - - // loop on every entry - foreach ($entries as $entry) { - - //print the dn - $dn = $entry['dn']; - unset( $entry['dn'] ); - echo $this->qualifier. $this->LdapEscape($dn).$this->qualifier.$this->separator; - - // print the attributes - for($j=0;$j<$num_headers;$j++){ + function export() { + $entries = array(); + $headers = array(); - $attr_name = $headers[$j]; + $ldap_info = $this->pla_get_ldap_info(); - echo $this->qualifier; - if (key_exists($attr_name, $entry)) { - $binary_attribute = is_attr_binary( $ldap_info, $attr_name )?1:0; - - $attr_values = $entry[$attr_name]; - - $num_attr_values = count( $attr_values ); - for( $i=0 ; $i<$num_attr_values; $i++){ - if($binary_attribute) - echo base64_encode($attr_values[$i]); - else - echo $this->LdapEscape($attr_values[$i]); - - if($i < $num_attr_values - 1) - echo $this->multivalue_separator; - - } - }// end if key - echo $this->qualifier; - if( $j < $num_headers - 1 ) - echo $this->separator; - } - echo $this->br; - } - }//end export - - // function to escape data, where the qualifier happens to also - // be in the data. - function LdapEscape ($var) { - return str_replace($this->qualifier, $this->escapeCode.$this->qualifier, $var); - } + $output = ''; + /* go thru and find all the attribute names first. This is needed, because, otherwise we have + no idea as to which search attributes were actually populated with data */ + foreach ($this->pla_results() as $dn => $dndetails) { + foreach (array_keys($dndetails) as $key) { + if (!in_array($key,$headers)) + array_push($headers,$key); + } + array_push($entries,$dndetails); + } + + $num_headers = count($headers); + + # print out the headers + for ($i = 0; $i < $num_headers; $i++) { + $output .= $this->qualifier.$headers[$i].$this->qualifier; + if ($i < $num_headers-1) + $output .= $this->separator; + } + + array_shift($headers); + $num_headers--; + + $output .= $this->br; + + # loop on every entry + foreach ($entries as $index => $entry) { + $dn = $entry['dn']; + unset($entry['dn']); + $output .= $this->qualifier.$this->LdapEscape($dn).$this->qualifier.$this->separator; + + # print the attributes + for ($j=0; $j < $num_headers; $j++) { + $attr_name = $headers[$j]; + $output .= $this->qualifier; + + if (key_exists($attr_name,$entry)) { + $binary_attribute = $ldap_info->isAttrBinary($attr_name) ? 1 : 0; + + if (! is_array($entry[$attr_name])) + $attr_values = array($entry[$attr_name]); + else + $attr_values = $entry[$attr_name]; + + $num_attr_values = count($attr_values); + + for ($i=0; $i<$num_attr_values; $i++) { + if ($binary_attribute) + $output .= base64_encode($attr_values[$i]); + else + $output .= $this->LdapEscape($attr_values[$i]); + + if ($i < $num_attr_values - 1) + $output .= $this->multivalue_separator; + } + } # end if key + + $output .= $this->qualifier; + + if ($j < $num_headers - 1) + $output .= $this->separator; + } + $output .= $this->br; + } + + if ($this->compress) + echo gzencode($output); + else + echo $output; + } #end export + + /* function to escape data, where the qualifier happens to also + be in the data. */ + function LdapEscape ($var) { + return str_replace($this->qualifier,$this->escapeCode.$this->qualifier,$var); + } } - - - /** * @package phpLDAPadmin */ +class MyCustomExporter extends PlaExporter { + function MyCustomExporter($exporter) { + $this->exporter = $exporter; + } -class MyCustomExporter extends PlaExporter{ + /** + * When doing an exporter, the method export need to be overriden. + * A basic implementation is provided here. Customize to your need + **/ + function export() { - function MyCustomExporter($exporter){ - $this->exporter = $exporter; - } + /* With the method pla->get_ldap_info, + you have access to some values related + to you ldap server */ + $ldap_info = $this->pla_get_ldap_info(); - /** - * When doing an exporter, the method export need to be overriden. - * A basic implementation is provided here. Customize to your need - **/ + /* Just a simple loop. For each entry + do your custom export + see PlaLdifExporter or PlaDsmlExporter as an example */ + foreach ($this->pla_results() as $dn => $dndetails) { + unset($dndetails['dn']); + # loop for the attributes + foreach ($dndetails as $key => $attr) { + if (! is_array($attr)) + $attr = array($attr); - function export(){ - - // With the method pla->get_ldap_info, - // you have access to some values related - // to you ldap server - $ldap_info = $this->pla_get_ldap_info(); - $base_dn = $ldap_info->base_dn; - $server_id = $ldap_info->server_id; - $scope = $ldap_info->scope; - $server_name = $ldap_info->name; - $server_host = $ldap_info->host; - - - // Just a simple loop. For each entry - // do your custom export - // see PlaLdifExporter or PlaDsmlExporter as an example - while( $this->pla_has_entry() ){ - $entry = $this->pla_fetch_entry_array(); - - //fetch the dn - $dn = $entry['dn']; - unset( $entry['dn'] ); - - // loop for the attributes - foreach( $entry as $attr_name=>$attr_values ){ - foreach( $attr_values as $value ){ - - // simple example - // echo "Attribute Name:".$attr_name; - // echo " - value:".$value; - // echo $this->br; - } - } - - }// end while - } - + foreach ($attr as $value) { + /* simple example + echo "Attribute Name:".$attr; + echo " - value:".$value; + echo $this->br; + */ + } + } + } # end while + } } ?> diff --git a/lib/functions.php b/lib/functions.php index 0442c53..77cc5dc 100644 --- a/lib/functions.php +++ b/lib/functions.php @@ -1,5 +1,5 @@ custom->appearance['multi_line_attributes']; - * - * Usage example: - * - * if( is_muli_line_attr( "postalAddress" ) ) - * echo ""; - * else - * echo ""; - * - * - * @param string $attr_name The name of the attribute of interestd (case insensivite) - * @param string $val (optional) The current value of the attribute (speeds up the - * process by searching for carriage returns already in the attribute value) - * @param int $server_id (optional) The ID of the server of interest. If specified, - * is_multi_line_attr() will read the schema from the server to determine if - * the attr is multi-line capable. (note that schema reads can be expensive, - * but that impact is lessened due to PLA's new caching mechanism) - * @return bool - * @todo Move this to an LDAPServer object method. - */ -function is_multi_line_attr( $attr_name, $val=null, $server_id=null ) { - global $config, $ldapservers; - - $multi_line_attributes = $config->GetValue('appearance','multi_line_attributes'); - $multi_line_syntax_oids = $config->GetValue('appearance','multi_line_syntax_oids'); - - # Set default return - $return = false; - - // First, check the optional val param for a \n or a \r - if (! is_null($val) && (false !== strpos($val,"\n") || false !== strpos($val,"\r"))) - $return = true; - - // Next, compare strictly by name first - else - foreach ($multi_line_attributes as $multi_line_attr_name) - if (strcasecmp($multi_line_attr_name,$attr_name) == 0) { - $return = true; - break; - } - - // If unfound, compare by syntax OID - if (! $return && ! is_null($server_id)) { - $ldapserver = $ldapservers->Instance($server_id); - - $schema_attr = $ldapserver->getSchemaAttribute($attr_name); - if ($schema_attr) { - $syntax_oid = $schema_attr->getSyntaxOID(); - - if ($syntax_oid) - foreach($multi_line_syntax_oids as $multi_line_syntax_oid) - if ($multi_line_syntax_oid == $syntax_oid) { - $return = true; - break; - } - } - } - - if (DEBUG_ENABLED) - debug_log('is_multi_line_attr(): Entered with (%s,%s,%s), Returning (%s)',1,$attr_name,$val,$server_id,$return); - - return $return; -} - -/** - * Fetches the user setting for $view_deref from config.php. The returned value - * will be one of the four LDAP_DEREF_* constancts defined by the PHP LDAP API. If - * the user has failed to configure this setting or configured an inappropriate - * value, the constant DEFAULT_VIEW_DEREF_SETTING is returned. - * - * @return int - * @deprecated - */ -function get_view_deref_setting() { - global $config; - return $config->GetValue('deref','view'); -} - /** * Fetches whether the user has configured phpLDAPadmin to obfuscate passwords * with "*********" when displaying them. @@ -167,7 +82,7 @@ function obfuscate_password_display($enc=null) { */ function pretty_print_dn( $dn ) { if (DEBUG_ENABLED) - debug_log('pretty_print_dn(): Entered with (%s)',2,$dn); + debug_log('pretty_print_dn(): Entered with (%s)',1,$dn); $dn = pla_explode_dn( $dn ); foreach( $dn as $i => $element ) { @@ -181,46 +96,6 @@ function pretty_print_dn( $dn ) { return $dn; } -/** - * Returns true if the attribute specified is required to take as input a DN. - * Some examples include 'distinguishedName', 'member' and 'uniqueMember'. - * @param int $server_id The ID of the server of interest - * (required since this operation demands a schema lookup) - * @param string $attr_name The name of the attribute of interest (case insensitive) - * @return bool - * @todo Move this to an LDAPServer object method. - */ -function is_dn_attr( $ldapserver, $attr_name ) { - if (DEBUG_ENABLED) - debug_log('is_dn_attr(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr_name); - - // Simple test first - $dn_attrs = array( "aliasedObjectName" ); - foreach( $dn_attrs as $dn_attr ) - if( 0 == strcasecmp( $attr_name, $dn_attr ) ) - return true; - - // Now look at the schema OID - $attr_schema = $ldapserver->getSchemaAttribute($attr_name); - if( ! $attr_schema ) - return false; - - $syntax_oid = $attr_schema->getSyntaxOID(); - if( '1.3.6.1.4.1.1466.115.121.1.12' == $syntax_oid ) - return true; - if( '1.3.6.1.4.1.1466.115.121.1.34' == $syntax_oid ) - return true; - - $syntaxes = $ldapserver->SchemaSyntaxes(); - if (! isset($syntaxes[$syntax_oid])) - return false; - - $syntax_desc = $syntaxes[ $syntax_oid ]->getDescription(); - if( false !== strpos( strtolower($syntax_desc), 'distinguished name' ) ) - return true; - return false; -} - /** * Given a string, this function returns true if the string has the format * of a DN (ie, looks like "cn=Foo,dc=example,dc=com"). Returns false otherwise. @@ -235,7 +110,7 @@ function is_dn_attr( $ldapserver, $attr_name ) { */ function is_dn_string($str) { if (DEBUG_ENABLED) - debug_log('is_dn_string(): Entered with (%s)',2,$str); + debug_log('is_dn_string(): Entered with (%s)',1,$str); /* Try to break the string into its component parts if it can be done ie, "uid=Manager" "dc=example" and "dc=com" */ @@ -273,7 +148,7 @@ function is_dn_string($str) { */ function is_mail_string($str) { if (DEBUG_ENABLED) - debug_log('is_mail_string(): Entered with (%s)',2,$str); + debug_log('is_mail_string(): Entered with (%s)',1,$str); $mail_regex = "/^[_A-Za-z0-9-]+(\\.[_A-Za-z0-9-]+)*@[A-Za-z0-9-]+(\\.[A-Za-z0-9-]+)*$/"; @@ -292,7 +167,7 @@ function is_mail_string($str) { */ function is_url_string($str) { if (DEBUG_ENABLED) - debug_log('is_url_string(): Entered with (%s)',2,$str); + debug_log('is_url_string(): Entered with (%s)',1,$str); $url_regex = '/(ftp|https?):\/\/+[\w\.\-\/\?\=\&]*\w+/'; @@ -341,152 +216,6 @@ function pla_set_cookie( $name, $val, $expire=null, $dir=null ) { return $return; } -/** - * Responsible for setting two cookies/session-vars to indicate that a user has logged in, - * one for the logged in DN and one for the logged in password. - * - * This function is only used if 'auth_type' is set to 'cookie' or 'session'. The values - * written have the name "pla_login_dn_X" and "pla_login_pass_X" where X is the - * ID of the server to which the user is attempting login. - * - * Note that as with all cookie/session operations this function must be called BEFORE - * any output is sent to the browser. - * - * On success, true is returned. On failure, false is returned. - * - * @param object $ldapserver The LDAPServer object of the server which the user hsa logged in. - * @param string $dn The DN with which the user has logged in. - * @param string $password The password of the user logged in. - * @param bool $anon_bind Indicates that this is an anonymous bind such that - * a password of "0" is stored. - * @return bool - * @see unset_login_dn - */ -function set_login_dn($ldapserver,$dn,$password,$anon_bind) { - if (DEBUG_ENABLED) - debug_log('set_login_dn(): Entered with (%s,%s,%s,%s)',2,$ldapserver->server_id,$dn,$password,$anon_bind); - - if (! $ldapserver->auth_type) - return false; - - switch ($ldapserver->auth_type) { - case 'cookie': - $cookie_dn_name = sprintf("pla_login_dn_%s",$ldapserver->server_id); - $cookie_pass_name = sprintf("pla_login_pass_%s",$ldapserver->server_id); - - # we set the cookie password to 0 for anonymous binds. - if ($anon_bind) { - $dn = 'anonymous'; - $password = '0'; - } - - $res1 = pla_set_cookie($cookie_dn_name,pla_blowfish_encrypt($dn)); - $res2 = pla_set_cookie($cookie_pass_name,pla_blowfish_encrypt($password)); - if ($res1 && $res2) - return true; - else - return false; - - break; - - case 'session': - $sess_var_dn_name = sprintf("pla_login_dn_%s",$ldapserver->server_id); - $sess_var_pass_name = sprintf("pla_login_pass_%s",$ldapserver->server_id); - - # we set the cookie password to 0 for anonymous binds. - if ($anon_bind) { - $dn = 'anonymous'; - $password = '0'; - } - - $_SESSION[$sess_var_dn_name] = pla_blowfish_encrypt($dn); - $_SESSION[$sess_var_pass_name] = pla_blowfish_encrypt($password); - return true; - - break; - - default: - global $lang; - pla_error(sprintf($lang['unknown_auth_type'],htmlspecialchars($ldapserver->auth_type))); - break; - } -} - -/** - * Log a user out of the LDAP server. - * - * Removes the cookies/session-vars set by set_login_dn() - * after a user logs out using "auth_type" of "session" or "cookie". - * Returns true on success, false on failure. - * - * @param object $ldapserver The LDAPServer object of the server which the user hsa logged in. - * @return bool True on success, false on failure. - * @see set_login_dn - */ -function unset_login_dn( $ldapserver ) { - if (DEBUG_ENABLED) - debug_log('unset_login_dn(): Entered with (%s)',2,$ldapserver->server_id); - - if (! $ldapserver->auth_type) - return false; - - switch ($ldapserver->auth_type) { - case 'cookie': - $logged_in_dn = get_logged_in_dn($ldapserver); - if (! $logged_in_dn) - return false; - - $logged_in_pass = get_logged_in_pass($ldapserver); - $anon_bind = $logged_in_dn == 'anonymous' ? true : false; - - # set cookie with expire time already passed to erase cookie from client - $expire = time()-3600; - $cookie_dn_name = sprintf("pla_login_dn_%s",$ldapserver->server_id); - $cookie_pass_name = sprintf("pla_login_pass_%s",$ldapserver->server_id); - - if ($anon_bind) { - $res1 = pla_set_cookie($cookie_dn_name,'anonymous',$expire); - $res2 = pla_set_cookie($cookie_pass_name,'0',$expire); - - } else { - $res1 = pla_set_cookie($cookie_dn_name,pla_blowfish_encrypt($logged_in_dn),$expire); - $res2 = pla_set_cookie($cookie_pass_name,pla_blowfish_encrypt($logged_in_pass),$expire); - } - - # Need to unset the cookies too, since they are still set if further processing occurs (eg: Timeout) - unset($_COOKIE[$cookie_dn_name]); - unset($_COOKIE[$cookie_pass_name]); - - if (! $res1 || ! $res2) - return false; - else - return true; - - break; - - case 'session': - # unset session variables - $session_var_dn_name = sprintf("pla_login_dn_%s",$ldapserver->server_id); - $session_var_pass_name = sprintf("pla_login_pass_%s",$ldapserver->server_id); - - if (array_key_exists($session_var_dn_name,$_SESSION)) - unset($_SESSION[$session_var_dn_name]); - - if (array_key_exists($session_var_pass_name,$_SESSION)) - unset($_SESSION[$session_var_pass_name]); - - session_write_close(); - return true; - - break; - - default: - global $lang; - pla_error(sprintf($lang['unknown_auth_type'],htmlspecialchars($auth_type))); - break; - } -} - /** * Get a customized file for a server * We don't need any caching, because it's done by PHP @@ -569,7 +298,13 @@ function call_custom_function( $server_id, $function ) { */ function pla_compare_dns($dn1,$dn2) { if (DEBUG_ENABLED) - debug_log('pla_compare_dns(): Entered with (%s,%s)',2,$dn1,$dn2); + debug_log('pla_compare_dns(): Entered with (%s,%s)',1,$dn1,$dn2); + + # If pla_compare_dns is passed via a tree, then we'll just get the DN part. + if (is_array($dn1)) + $dn1 = $dn1['dn']; + if (is_array($dn2)) + $dn2 = $dn2['dn']; # If they are obviously the same, return immediately if (! strcasecmp($dn1,$dn2)) @@ -630,42 +365,12 @@ function pla_compare_dns($dn1,$dn2) { */ function real_attr_name($attr_name) { if (DEBUG_ENABLED) - debug_log('real_attr_name(): Entered with (%s)',2,$attr_name); + debug_log('real_attr_name(): Entered with (%s)',1,$attr_name); $attr_name = preg_replace('/;.*$/U','',$attr_name); return $attr_name; } -/** - * Returns true if the user has configured PLA to show - * helpful hints with the $show_hints setting. - * This is configured in config.php thus: - * - * $show_hints = true; - * - * - * @return bool - * @deprecated - */ -function show_hints() { - global $config; - return $config->GetValue('appearance','show_hints'); -} - -/** - * Determines if the user has enabled auto uidNumbers for the specified server ID. - * - * @param int $server_id The id of the server of interest. - * @return bool True if auto uidNumbers are enabled, false otherwise. - */ -function auto_uid_numbers_enabled($server_id) { - if (DEBUG_ENABLED) - debug_log('auto_uid_numbers_enabled(): Entered with (%s)',2,$server_id); - - global $ldapservers; - return $ldapservers->GetValue($server_id,'auto_number','enable'); -} - /** * For hosts who have 'enable_auto_uid_numbers' set to true, this function will * get the next available uidNumber using the host's preferred mechanism @@ -689,15 +394,13 @@ function auto_uid_numbers_enabled($server_id) { * @param object $ldapserver The LDAP Server Object of interest. * @return int * - * @todo take advantage of multiple connections with new LDAPServer object. - * @todo rename this function as its a generic get_next_number function now. * @todo Must turn off auto_uid|gid in template if config is disabled. */ -function get_next_uid_number($ldapserver,$startbase='',$type='uid') { +function get_next_number(&$ldapserver,$startbase='',$type='uid') { if (DEBUG_ENABLED) - debug_log('get_next_uid_number(): Entered with (%s,%s,%s)',2,$ldapserver->server_id,$startbase,$type); + debug_log('get_next_number(): Entered with (%s,%s,%s)',1,$ldapserver->server_id,$startbase,$type); - global $config,$ldapservers,$lang; + global $config,$ldapservers; if (! $ldapservers->GetValue($ldapserver->server_id,'auto_number','enable')) return false; @@ -707,120 +410,78 @@ function get_next_uid_number($ldapserver,$startbase='',$type='uid') { switch ($mechanism) { - // @todo: This is being deprecated - unless somebody wants it? - case 'uidpool' : - if( ! isset( $servers[ $ldapserver->server_id ][ 'auto_uid_number_uid_pool_dn' ] ) ) - pla_error( sprintf( $lang['uidpool_not_set'], $ldapserver->name ) ); - - $uid_pool_dn = $servers[ $ldapserver->server_id ][ 'auto_uid_number_uid_pool_dn' ]; - if( ! dn_exists( $ldapserver, $uid_pool_dn ) ) - pla_error( sprintf( $lang['uidpool_not_exist'] , $uid_pool_dn ) ); - - $next_uid_number = get_object_attr( $ldapserver, $uid_pool_dn, 'uidNumber' ); - $next_uid_number = intval( $next_uid_number[ 0 ] ); - $next_uid_number++; - - return $next_uid_number; - break; - case 'search' : if (! $startbase) { $base_dn = $ldapservers->GetValue($ldapserver->server_id,'auto_number','search_base'); + if (is_null($base_dn)) - pla_error( sprintf( $lang['specified_uidpool'] , $ldapserver->name ) ); + pla_error(sprintf(_('You specified the "auto_uid_number_mechanism" as "search" in your + configuration for server %s, but you did not specify the + "auto_uid_number_search_base". Please specify it before proceeding.'),$ldapserver->name)); } else { $base_dn = $startbase; } - $filter = "(|(uidNumber=*)(gidNumber=*))"; + + if (! $ldapserver->dnExists($base_dn)) + pla_error(sprintf(_('Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s'),$ldapserver->name)); + + $filter = '(|(uidNumber=*)(gidNumber=*))'; $results = array(); # Check see and use our alternate uid_dn and password if we have it. - if (! is_null($ldapservers->GetValue($ldapserver->server_id,'auto_number','dn')) && - ! is_null($ldapservers->GetValue($ldapserver->server_id,'auto_number','pass'))) { + $con = $ldapserver->connect(false,'auto_search',false, + $ldapservers->GetValue($ldapserver->server_id,'auto_number','dn'), + $ldapservers->GetValue($ldapserver->server_id,'auto_number','pass')); - $con = @ldap_connect($ldapserver->host,$ldapserver->port); - @ldap_set_option($con,LDAP_OPT_PROTOCOL_VERSION,3); - @ldap_set_option($con,LDAP_OPT_REFERRALS,0); + if (! $con) + pla_error(sprintf(_('Unable to bind to %s with your with auto_uid credentials. Please check your configuration file.'),$ldapserver->name)); - # Bind with the alternate ID. - $res = @ldap_bind($con, - $ldapservers->GetValue($ldapserver->server_id,'auto_number','dn'), - $ldapservers->GetValue($ldapserver->server_id,'auto_number','pass')); + $search = $ldapserver->search($con,$base_dn,$filter,array('uidNumber','gidNumber'),'sub',false,$config->GetValue('deref','search')); - if (! $res) - pla_error(sprintf($lang['auto_uid_invalid_credential'],$ldapserver->name)); + if (! is_array($search)) + pla_error('Untrapped error.'); - $search = @ldap_search($con,$base_dn,$filter,array('uidNumber','gidNumber'),0,0,0, - $config->GetValue('deref','search')); + foreach ($search as $dn => $attrs) { + $attrs = array_change_key_case($attrs); + $entry = array(); - if (! $search) - pla_error(sprintf($lang['bad_auto_uid_search_base'],$ldapserver->name)); + switch ($type) { + case 'uid' : + if (isset($attrs['uidnumber'])) { + $entry['dn'] = $attrs['dn']; + $entry['uniqnumber'] = $attrs['uidnumber']; + $results[] = $entry; + } + break; - $search = @ldap_get_entries($con,$search); - $res = @ldap_unbind($con); - - for ($i = 0;$i < $search['count']; $i++ ) { - $attrs = $search[$i]; - - switch ($type) { - case 'uid' : - if (isset($attrs['uidnumber'])) { - $entry['dn'] = $attrs['dn']; - $entry['uniqnumber'] = $attrs['uidnumber'][0]; - } - break; - - case 'gid' : - if (isset($attrs['gidnumber'])) { - $entry['dn'] = $attrs['dn']; - $entry['uniqnumber'] = $attrs['gidnumber'][0]; - } - break; - } - $results[] = $entry; - } - - } else { - $search = pla_ldap_search( $ldapserver, $filter, $base_dn, array('uidNumber','gidNumber')); - - foreach ($search as $dn => $attrs) { - switch ($type) { - case 'uid' : - if (isset($attrs['uidNumber'])) { - $entry['dn'] = $attrs['dn']; - $entry['uniqnumber'] = $attrs['uidNumber']; - } - break; - - case 'gid' : - if (isset($attrs['gidNumber'])) { - $entry['dn'] = $attrs['dn']; - $entry['uniqnumber'] = $attrs['gidNumber']; - } - break; - } - $results[] = $entry; + case 'gid' : + if (isset($attrs['gidnumber'])) { + $entry['dn'] = $attrs['dn']; + $entry['uniqnumber'] = $attrs['gidnumber']; + $results[] = $entry; + } + break; + default : + pla_error(sprintf('Unknown type [%s] in search',$type)); } } # construct a list of used numbers $autonum = array(); foreach ($results as $result) - $autonum[] = $result['uniqnumber']; + if (isset($result['uniqnumber'])) + $autonum[] = $result['uniqnumber']; $autonum = array_unique($autonum); - if (count($autonum) == 0) - return false; - sort($autonum); - foreach($autonum as $uid) + + foreach ($autonum as $uid) $uid_hash[$uid] = 1; # start with the least existing autoNumber and add 1 if ($ldapservers->GetValue($ldapserver->server_id,'auto_number','min')) $minNumber = $ldapservers->GetValue($ldapserver->server_id,'auto_number','min'); - else $minNumber = intval($autonum[0]) + 1; @@ -834,276 +495,12 @@ function get_next_uid_number($ldapserver,$startbase='',$type='uid') { # No other cases allowed. The user has an error in the configuration default : - pla_error( sprintf( $lang['auto_uid_invalid_value'] , $mechanism) ); + pla_error( sprintf( _('You specified an invalid value for auto_uid_number_mechanism ("%s") + in your configration. Only "uidpool" and "search" are valid. + Please correct this problem.') , $mechanism) ); } } -/** - * Used to determine if the specified attribute is indeed a jpegPhoto. If the - * specified attribute is one that houses jpeg data, true is returned. Otherwise - * this function returns false. - * - * @param int $server_id The ID of the server hosuing the attribute of interest - * @param string $attr_name The name of the attribute to test. - * @return bool - * @see draw_jpeg_photos - * @todo Move this to an LDAPServer object method. - */ -function is_jpeg_photo($ldapserver,$attr_name) { - if (DEBUG_ENABLED) - debug_log('is_jpeg_photo(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr_name); - - # easy quick check - if (! strcasecmp($attr_name,'jpegPhoto') || ! strcasecmp($attr_name,'photo')) - return true; - - # go to the schema and get the Syntax OID - $schema_attr = $ldapserver->getSchemaAttribute($attr_name); - if (! $schema_attr) - return false; - - $oid = $schema_attr->getSyntaxOID(); - $type = $schema_attr->getType(); - - if (! strcasecmp($type,'JPEG') || ($oid == '1.3.6.1.4.1.1466.115.121.1.28')) - return true; - - return false; -} - -/** - * Given an attribute name and server ID number, this function returns - * whether the attrbiute contains boolean data. This is useful for - * developers who wish to display the contents of a boolean attribute - * with a drop-down. - * - * @param int $server_id The ID of the server of interest (required since - * this action requires a schema lookup on the server) - * @param string $attr_name The name of the attribute to test. - * @return bool - * @todo Move this to an LDAPServer object method. - */ -function is_attr_boolean($ldapserver,$attr_name) { - if (DEBUG_ENABLED) - debug_log('is_attr_boolean(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr_name); - - $type = ($schema_attr = $ldapserver->getSchemaAttribute($attr_name)) ? $schema_attr->getType() : null; - - if (! strcasecmp('boolean',$type ) || - ! strcasecmp('isCriticalSystemObject',$attr_name) || - ! strcasecmp('showInAdvancedViewOnly',$attr_name)) - return true; - - else - return false; -} - -/** - * Given an attribute name and server ID number, this function returns - * whether the attrbiute may contain binary data. This is useful for - * developers who wish to display the contents of an arbitrary attribute - * but don't want to dump binary data on the page. - * - * @param int $server_id The ID of the server of interest (required since - * this action requires a schema lookup on the server) - * @param string $attr_name The name of the attribute to test. - * @return bool - * - * @see is_jpeg_photo - * @todo Move this to an LDAPServer object method. - */ -function is_attr_binary($ldapserver,$attr_name) { - if (DEBUG_ENABLED) - debug_log('is_attr_binary(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr_name); - - $attr_name = strtolower($attr_name); - /** - * Determining if an attribute is binary can be an expensive operation. - * We cache the results for each attr name on each server in the $attr_cache - * to speed up subsequent calls. The $attr_cache looks like this: - * - * Array - * 0 => Array - * 'objectclass' => false - * 'cn' => false - * 'usercertificate' => true - * 1 => Array - * 'jpegphoto' => true - * 'cn' => false - */ - - static $attr_cache; - if( isset( $attr_cache[ $ldapserver->server_id ][ $attr_name ] ) ) - return $attr_cache[ $ldapserver->server_id ][ $attr_name ]; - - if( $attr_name == 'userpassword' ) { - $attr_cache[ $ldapserver->server_id ][ $attr_name ] = false; - return false; - } - - // Quick check: If the attr name ends in ";binary", then it's binary. - if( 0 == strcasecmp( substr( $attr_name, strlen( $attr_name ) - 7 ), ";binary" ) ) { - $attr_cache[ $ldapserver->server_id ][ $attr_name ] = true; - return true; - } - - // See what the server schema says about this attribute - $schema_attr = $ldapserver->getSchemaAttribute($attr_name); - if( ! $schema_attr ) { - - // Strangely, some attributeTypes may not show up in the server - // schema. This behavior has been observed in MS Active Directory. - $type = null; - $syntax = null; - - } else { - $type = $schema_attr->getType(); - $syntax = $schema_attr->getSyntaxOID(); - } - - if( 0 == strcasecmp( $type, 'Certificate' ) || - 0 == strcasecmp( $type, 'Binary' ) || - 0 == strcasecmp( $attr_name, 'usercertificate' ) || - 0 == strcasecmp( $attr_name, 'usersmimecertificate' ) || - 0 == strcasecmp( $attr_name, 'networkaddress' ) || - 0 == strcasecmp( $attr_name, 'objectGUID' ) || - 0 == strcasecmp( $attr_name, 'objectSID' ) || - $syntax == '1.3.6.1.4.1.1466.115.121.1.10' || - $syntax == '1.3.6.1.4.1.1466.115.121.1.28' || - $syntax == '1.3.6.1.4.1.1466.115.121.1.5' || - $syntax == '1.3.6.1.4.1.1466.115.121.1.8' || - $syntax == '1.3.6.1.4.1.1466.115.121.1.9' ) { - - $attr_cache[ $ldapserver->server_id ][ $attr_name ] = true; - return true; - - } else { - $attr_cache[ $ldapserver->server_id ][ $attr_name ] = false; - return false; - } -} - -/** - * Returns true if the specified attribute is configured as read only - * in config.php with the $read_only_attrs array. - * Attributes are configured as read-only in config.php thus: - * - * $read_only_attrs = array( "objectClass", "givenName" ); - * - * - * @param string $attr The name of the attribute to test. - * @return bool - * @todo Move this to an LDAPServer object method. - */ -function is_attr_read_only( $ldapserver, $attr ) { - if (DEBUG_ENABLED) - debug_log('is_attr_read_only(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr); - - global $read_only_attrs, $read_only_except_dn; - - $attr = trim( $attr ); - if( '' === $attr ) - return false; - if( ! isset( $read_only_attrs ) ) - return false; - if( ! is_array( $read_only_attrs) ) - return false; - - // Is the user excluded? - if (isset($read_only_except_dn) && userIsMember($ldapserver, get_logged_in_dn( $ldapserver ),$read_only_except_dn)) - return false; - - foreach( $read_only_attrs as $attr_name ) - if( 0 == strcasecmp( $attr, trim($attr_name) ) ) - return true; - return false; -} - -/** - * Returns true if the specified attribute is configured as hidden - * in config.php with the $hidden_attrs array or the $hidden_attrs_ro - * array. - * Attributes are configured as hidden in config.php thus: - * - * $hidden_attrs = array( "objectClass", "givenName" ); - * - * or - * - * $hidden_attrs_ro = array( "objectClass", "givenName", "shadowWarning", - * "shadowLastChange", "shadowMax", "shadowFlag", - * "shadowInactive", "shadowMin", "shadowExpire" ); - * - * - * @param string $attr The name of the attribute to test. - * @return bool - */ -function is_attr_hidden( $ldapserver, $attr ) { - if (DEBUG_ENABLED) - debug_log('is_attr_hidden(): Entered with (%s,%s)',2,$ldapserver->server_id,$attr); - - global $hidden_attrs, $hidden_attrs_ro, $hidden_except_dn; - - $attr = trim( $attr ); - if( '' === $attr ) - return false; - if( ! isset( $hidden_attrs ) ) - return false; - if( ! is_array( $hidden_attrs) ) - return false; - - if( ! isset( $hidden_attrs_ro ) ) - $hidden_attrs_ro = $hidden_attrs; - if( ! is_array( $hidden_attrs_ro) ) - $hidden_attrs_ro = $hidden_attrs; - - // Is the user excluded? - if (isset($hidden_except_dn) && userIsMember($ldapserver, get_logged_in_dn( $ldapserver ),$hidden_except_dn)) - return false; - - if( $ldapserver->isReadOnly() ) { - foreach( $hidden_attrs_ro as $attr_name ) - if( 0 == strcasecmp( $attr, trim($attr_name) ) ) - return true; - - } else { - foreach( $hidden_attrs as $attr_name ) - if( 0 == strcasecmp( $attr, trim($attr_name) ) ) - return true; - } - - return false; -} - -/** - * Returns true if the specified server is configured to be displayed - * in read only mode. If a user has logged in via anonymous bind, and - * config.php specifies anonymous_bind_implies_read_only as true, then - * this also returns true. Servers can be configured read-only in - * config.php thus: - * - * $server[$i]['read_only'] = true; - * - * - * @param int $server_id The ID of the server of interest from the $servers array in config.php - * @return bool - * @deprecated - */ -function is_server_read_only( $server_id ) { - global $servers; - if( isset( $servers[$server_id]['read_only'] ) && - $servers[$server_id]['read_only'] == true ) - return true; - - global $anonymous_bind_implies_read_only; - - if( "anonymous" == get_logged_in_dn( $server_id ) && - isset( $anonymous_bind_implies_read_only ) && - $anonymous_bind_implies_read_only == true ) - return true; - - return false; -} - /** * Given a DN and server ID, this function reads the DN's objectClasses and * determines which icon best represents the entry. The results of this query @@ -1127,10 +524,12 @@ function is_server_read_only( $server_id ) { */ function get_icon( $ldapserver, $dn ) { if (DEBUG_ENABLED) - debug_log('get_icon(): Entered with (%s,%s)',2,$ldapserver->server_id,$dn); + debug_log('get_icon(): Entered with (%s,%s)',1,$ldapserver->server_id,$dn); // fetch and lowercase all the objectClasses in an array - $object_classes = get_object_attr( $ldapserver, $dn, 'objectClass', true ); + $object_classes = $ldapserver->getDNAttr($dn,'objectClass',true); + if (! is_array($object_classes)) + $object_classes = array($object_classes); if( $object_classes === null || $object_classes === false || ! is_array( $object_classes ) ) $object_classes = array(); @@ -1299,188 +698,6 @@ function get_icon( $ldapserver, $dn ) { return 'object.png'; } -/** - * Does the same thing as get_icon(), but it tries to fetch the icon name from the - * tree_icons session variable first. If not found, resorts to get_icon() and stores - * the icon nmae in the tree_icons session before returing the icon. - * - * @param int $server_id The ID of the server housing the DN of interest. - * @param string $dn The DN of the entry of interest. - * - * @return string - * - * @see get_icon - */ -function get_icon_use_cache( $ldapserver, $dn ) { - if (DEBUG_ENABLED) - debug_log('get_icon_use_cache(): Entered with (%s,%s)',2,$ldapserver->server_id,$dn); - - initialize_session_tree(); - - if( array_key_exists( 'tree_icons', $_SESSION ) ) { - if( array_key_exists( $ldapserver->server_id, $_SESSION['tree_icons'] ) && - array_key_exists( $dn, $_SESSION['tree_icons'][$ldapserver->server_id] ) ) { - return $_SESSION['tree_icons'][ $ldapserver->server_id ][ $dn ]; - - } else { - $icon = get_icon( $ldapserver, $dn ); - $_SESSION['tree_icons'][ $ldapserver->server_id ][ $dn ] = $icon; - return $icon; - } - } -} - -/** - * Given a server_id, returns whether or not we have enough information - * to authenticate against the server. For example, if the user specifies - * auth_type of 'cookie' in the config for that server, it checks the $_COOKIE array to - * see if the cookie username and password is set for the server. If the auth_type - * is 'session', the $_SESSION array is checked. - * - * There are three cases for this function depending on the auth_type configured for - * the specified server. If the auth_type is form or http, then get_logged_in_dn() is - * called to verify that the user has logged in. If the auth_type is config, then the - * $servers array in config.php is checked to ensure that the user has specified - * login information. In any case, if phpLDAPadmin has enough information to login - * to the server, true is returned. Otherwise false is returned. - * - * @param int $server_id - * @return bool - * @see get_logged_in_dn - * @deprecated - */ -function have_auth_info( $server_id ) -{ - global $servers, $ldapservers; - $ldapserver = $ldapservers->Instance($server_id); - - $server = $servers[$server_id]; - - // For session or cookie auth_types, we check the session or cookie to see if a user has logged in. - if( isset( $server['auth_type'] ) && ( in_array( $server['auth_type'], array( 'session', 'cookie' ) ) ) ) { - // we don't look at get_logged_in_pass() cause it may be null for anonymous binds - // get_logged_in_dn() will never return null if someone is really logged in. - if( get_logged_in_dn( $ldapserver ) ) - return true; - else - return false; - } - // whether or not the login_dn or pass is specified, we return - // true here. (if they are blank, we do an anonymous bind anyway) - elseif( ! isset( $server['auth_type'] ) || $server['auth_type'] == 'config' ) { - return true; - } - else { - global $lang; - pla_error( sprintf( $lang['error_auth_type_config'], - htmlspecialchars( $server[ 'auth_type' ] ) ) ); - } -} - -/** - * Fetches the password of the currently logged in user (for auth_types "form" and "http" only) - * or false if the current login is anonymous. - * - * @param object $ldapserver The LDAPServer object of the server which the user hsa logged in. - * @return string - * @see have_auth_info - * @see get_logged_in_dn - */ -function get_logged_in_pass( $ldapserver ) { - if (DEBUG_ENABLED) - debug_log('get_logged_in_pass(): Entered with (%s)',2,$ldapserver->server_id); - - if (! $ldapserver->auth_type) - return false; - - switch( $ldapserver->auth_type ) - { - case 'cookie': - $cookie_name = sprintf('pla_login_pass_%s',$ldapserver->server_id); - $pass = isset( $_COOKIE[ $cookie_name ] ) ? $_COOKIE[ $cookie_name ] : false; - - if( $pass == '0' ) - return null; - else - return pla_blowfish_decrypt( $pass ); - break; - - case 'session': - $session_var_name = sprintf('pla_login_pass_%s',$ldapserver->server_id); - $pass = isset( $_SESSION[ $session_var_name ] ) ? $_SESSION[ $session_var_name ] : false; - - if( $pass == '0' ) - return null; - else - return pla_blowfish_decrypt ( $pass ); - break; - - case 'config': - return $ldapserver->login_pass; - break; - - default: - global $lang; - pla_error( sprintf( $lang['unknown_auth_type'], htmlspecialchars( $ldapserver->auth_type ) ) ); - } -} - -/** - * Returns the DN who is logged in currently to the given server, which may - * either be a DN or the string 'anonymous'. This applies only for auth_types - * "form" and "http". - * - * One place where this function is used is the tree viewer: - * After a user logs in, the text "Logged in as: " is displayed under the server - * name. This information is retrieved from this function. - * - * @param object $ldapserver The LDAPServer object of the server which the user hsa logged in. - * @return string - * @see have_auth_info - * @see get_logged_in_pass - */ -function get_logged_in_dn($ldapserver) { - # Set default return - $return = false; - - if ($ldapserver->auth_type) { - switch ($ldapserver->auth_type) { - case 'cookie': - $cookie_name = sprintf('pla_login_dn_%s',$ldapserver->server_id); - - if (isset($_COOKIE[$cookie_name])) - $return = pla_blowfish_decrypt($_COOKIE[$cookie_name]); - else - $return = false; - - break; - - case 'session': - $session_var_name = sprintf('pla_login_dn_%s',$ldapserver->server_id); - - if (isset($_SESSION[$session_var_name])) - $return = pla_blowfish_decrypt($_SESSION[$session_var_name]); - else - $return = false; - - break; - - case 'config': - $return = $ldapserver->login_dn; - break; - - default: - global $lang; - pla_error(sprintf($lang['unknown_auth_type'],htmlspecialchars($auth_type))); - } - } - - if (DEBUG_ENABLED) - debug_log('get_logged_in_dn(): Entered with (%s), Returning (%s)',1,$ldapserver->server_id,$return); - - return $return; -} - /** * Appends a servers base to a "sub" dn or returns the base. * @@ -1490,7 +707,7 @@ function get_logged_in_dn($ldapserver) { */ function expand_dn_with_base( $base,$sub_dn ) { if (DEBUG_ENABLED) - debug_log('expand_dn_with_base(): Entered with (%s,%s)',2,$base,$sub_dn); + debug_log('expand_dn_with_base(): Entered with (%s,%s)',1,$base,$sub_dn); $empty_str = ( is_null($sub_dn) || ( ( $len = strlen( trim( $sub_dn ) ) ) == 0 ) ); @@ -1505,60 +722,6 @@ function expand_dn_with_base( $base,$sub_dn ) { } } -/** - * Gets a list of child entries for an entry. Given a DN, this function fetches the list of DNs of - * child entries one level beneath the parent. For example, for the following tree: - * - * - * dc=example,dc=com - * ou=People - * cn=Dave - * cn=Fred - * cn=Joe - * ou=More People - * cn=Mark - * cn=Bob - * - * - * Calling get_container_contents( $server_id, "ou=people,dc=example,dc=com" ) - * would return the following list: - * - * - * cn=Dave - * cn=Fred - * cn=Joe - * ou=More People - * - * - * @param object $ldapserver The LDAP Server Object housing the entry of interest - * @param string $dn The DN of the entry whose children to return. - * @param int $size_limit (optional) The maximum number of entries to return. - * If unspecified, no limit is applied to the number of entries in the returned. - * @param string $filter (optional) An LDAP filter to apply when fetching children, example: "(objectClass=inetOrgPerson)" - * @return array An array of DN strings listing the immediate children of the specified entry. - * @todo Move this to an LDAPServer object method. - */ -function get_container_contents( $ldapserver, $dn, $size_limit=0, $filter='(objectClass=*)', $deref=LDAP_DEREF_ALWAYS ) { - if (DEBUG_ENABLED) - debug_log('get_container_contents(): Entered with (%s,%s,%s,%s,%s)',2, - $ldapserver->server_id,$dn,$size_limit,$filter,$deref); - - $search = @ldap_list( $ldapserver->connect(), $dn, $filter, array( 'dn' ), 1, $size_limit, 0, $deref ); - if( ! $search ) - return array(); - - $search = ldap_get_entries( $ldapserver->connect(), $search ); - - $return = array(); - for( $i=0; $i<$search['count']; $i++ ) { - $entry = $search[$i]; - $dn = $entry['dn']; - $return[] = $dn; - } - - return $return; -} - /** * Builds the initial tree that is stored in the session variable 'tree'. * Simply returns an array with an entry for each active server in @@ -1574,247 +737,22 @@ function get_container_contents( $ldapserver, $dn, $size_limit=0, $filter='(obje * automated method for setting up the initial structure for the tree viewer. */ function build_initial_tree() { - if (DEBUG_ENABLED) - debug_log('build_initial_tree(): Entered with ()',2); - global $ldapservers; $return = array(); foreach ($ldapservers->GetServerList() as $id) { - if( $ldapservers->GetValue($id,'server','host') == '' ) + if (! trim($ldapservers->GetValue($id,'server','host'))) continue; $return[$id] = array(); } if (DEBUG_ENABLED) - debug_log('build_initial_tree(): Returning (%s)',1,serialize($return)); + debug_log('build_initial_tree(): Entered with (), Returning (%s)',1,$return); return $return; } -/** - * Builds the initial array that stores the icon-lookup for each server's DN in the tree browser. The returned - * array is then stored in the current session. The structure of the returned array is simple, and looks like - * this: - * - * Array - * ( - * [0] => Array - * ( - * [dc=example,dc=com] => "dcobject.png" - * ) - * [1] => Array - * ( - * [o=Corporation] => "o.png" - * ) - * ) - * - * This function is not meant as a user-callable function, but rather a convenient, automated method for - * setting up the initial data structure for the tree viewer's icon cache. - */ -function build_initial_tree_icons() { - global $ldapservers; - - $return = array(); - - # initialize an empty array for each server - foreach ($ldapservers->GetServerList() as $id) { - if( $ldapservers->GetValue($id,'server','host') == '' ) - continue; - - $ldapserver = $ldapservers->Instance($id); - - $return[$id] = array(); - foreach ($ldapserver->getBaseDN() as $base_dn) - $return[$id][$base_dn] = get_icon($ldapserver,$base_dn); - } - - if (DEBUG_ENABLED) - debug_log('build_initial_tree_icons(): Entered with (), Returning (%s)',1,serialize($return)); - - return $return; -} - -/* - * Checks and fixes an initial session's tree cache if needed. - * - * This function is not meant as a user-callable function, but rather a convenient, - * automated method for checking the initial data structure of the session. - */ -function initialize_session_tree() { - if (DEBUG_ENABLED) - debug_log('initialize_session_tree(): Entered with ()',2); - - // From the PHP manual: If you use $_SESSION don't use - // session_register(), session_is_registered() or session_unregister()! - if( ! array_key_exists( 'tree', $_SESSION ) ) - $_SESSION['tree'] = build_initial_tree(); - if( ! array_key_exists( 'tree_icons', $_SESSION ) ) - $_SESSION['tree_icons'] = build_initial_tree_icons(); - - // Make sure that the tree index is indeed well formed. - if( ! is_array( $_SESSION['tree'] ) ) - $_SESSION['tree'] = build_initial_tree(); - if( ! is_array( $_SESSION['tree_icons'] ) ) - $_SESSION['tree_icons'] = build_initial_tree_icons(); -} - -/** - * Gets the operational attributes for an entry. Given a DN, this function fetches that entry's - * operational (ie, system or internal) attributes. These attributes include "createTimeStamp", - * "creatorsName", and any other attribute that the LDAP server sets automatically. The returned - * associative array is of this form: - * - * Array - * ( - * [creatorsName] => Array - * ( - * [0] => "cn=Admin,dc=example,dc=com" - * ) - * [createTimeStamp]=> Array - * ( - * [0] => "10401040130" - * ) - * [hasSubordinates] => Array - * ( - * [0] => "FALSE" - * ) - * ) - * - * - * @param object $ldapserver The LDAP Server Object of interest - * @param string $dn The DN of the entry whose interal attributes are desired. - * @param int $deref For aliases and referrals, this parameter specifies whether to - * follow references to the referenced DN or to fetch the attributes for - * the referencing DN. See http://php.net/ldap_search for the 4 valid - * options. - * @return array An associative array whose keys are attribute names and whose values - * are arrays of values for the aforementioned attribute. - * @todo Move this to an LDAPServer object method. - */ -function get_entry_system_attrs( $ldapserver, $dn, $deref=LDAP_DEREF_NEVER ) { - if (DEBUG_ENABLED) - debug_log('get_entry_system_attrs(): Entered with (%s,%s,%s)',2,$ldapserver->server_id,$dn,$deref); - - $attrs = array( 'creatorsname', 'createtimestamp', 'modifiersname', - 'structuralObjectClass', 'entryUUID', 'modifytimestamp', - 'subschemaSubentry', 'hasSubordinates', '+' ); - - $search = @ldap_read( $ldapserver->connect(), $dn, '(objectClass=*)', $attrs, 0, 0, 0, $deref ); - if( ! $search ) - return false; - - $entry = ldap_first_entry( $ldapserver->connect(), $search ); - if (! $entry) - return false; - - $attrs = ldap_get_attributes( $ldapserver->connect(), $entry ); - if( ! $attrs ) - return false; - - if( ! isset( $attrs['count'] ) ) - return false; - - $count = $attrs['count']; - unset( $attrs['count'] ); - $return_attrs = array(); - - for( $i=0; $i<$count; $i++ ) { - $attr_name = $attrs[$i]; - unset( $attrs[$attr_name]['count'] ); - $return_attrs[$attr_name] = $attrs[$attr_name]; - } - - return $return_attrs; -} - -/** - * Gets the attributes/values of an entry. Returns an associative array whose - * keys are attribute value names and whose values are arrays of values for - * said attribute. Optionally, callers may specify true for the parameter - * $lower_case_attr_names to force all keys in the associate array (attribute - * names) to be lower case. - * - * Sample return value of get_object_attrs( 0, "cn=Bob,ou=pepole,dc=example,dc=com" ) - * - * - * Array - * ( - * [objectClass] => Array - * ( - * [0] => person - * [1] => top - * ) - * [cn] => Array - * ( - * [0] => Bob - * ) - * [sn] => Array - * ( - * [0] => Jones - * ) - * [dn] => Array - * ( - * [0] => cn=Bob,ou=pepole,dc=example,dc=com - * ) - * ) - * - * - * @param object $ldapserver The LDAP Server Object of interest - * @param string $dn The distinguished name (DN) of the entry whose attributes/values to fetch. - * @param bool $lower_case_attr_names (optional) If true, all keys of the returned associative - * array will be lower case. Otherwise, they will be cased as the LDAP server returns - * them. - * @param int $deref For aliases and referrals, this parameter specifies whether to - * follow references to the referenced DN or to fetch the attributes for - * the referencing DN. See http://php.net/ldap_search for the 4 valid - * options. - * @return array - * @see get_entry_system_attrs - * @see get_object_attr - * @todo Move this to an LDAPServer object method. - */ -function get_object_attrs( $ldapserver, $dn, $lower_case_attr_names=false, $deref=LDAP_DEREF_NEVER ) { - if (DEBUG_ENABLED) - debug_log('get_object_attrs(): Entered with (%s,%s,%s,%s)',2, - $ldapserver->server_id,$dn,$lower_case_attr_names,$deref); - - $search = @ldap_read( $ldapserver->connect(), $dn, '(objectClass=*)', array( ), 0, 0, 0, $deref ); - if( ! $search ) - return false; - - $entry = ldap_first_entry( $ldapserver->connect(), $search ); - if( ! $entry ) - return false; - - $attrs = ldap_get_attributes( $ldapserver->connect(), $entry ); - if( ! $attrs || $attrs['count'] == 0 ) - return false; - - $num_attrs = $attrs['count']; - unset( $attrs['count'] ); - - // strip numerical inices - for( $i=0; $i<$num_attrs; $i++ ) - unset( $attrs[$i] ); - - $return_array = array(); - foreach( $attrs as $attr => $vals ) { - if( $lower_case_attr_names ) - $attr = strtolower( $attr ); - - if( is_attr_binary( $ldapserver, $attr ) ) - $vals = ldap_get_values_len( $ldapserver->connect(), $entry, $attr ); - - unset( $vals['count'] ); - $return_array[ $attr ] = $vals; - } - - ksort( $return_array ); - return $return_array; -} - /** * Returns true if the passed string $temp contains all printable * ASCII characters. Otherwise (like if it contains binary data), @@ -1822,7 +760,7 @@ function get_object_attrs( $ldapserver, $dn, $lower_case_attr_names=false, $dere */ function is_printable_str($temp) { if (DEBUG_ENABLED) - debug_log('is_printable_str(): Entered with (%s)',2,$temp); + debug_log('is_printable_str(): Entered with (%s)',1,$temp); $len = strlen($temp); @@ -1835,259 +773,39 @@ function is_printable_str($temp) { return true; } -/** - * Much like get_object_attrs(), but only returns the values for - * one attribute of an object. Example calls: - * - * - * print_r( get_object_attr( 0, "cn=Bob,ou=people,dc=example,dc=com", "sn" ) ); - * // prints: - * // Array - * // ( - * // [0] => "Smith" - * // ) - * - * print_r( get_object_attr( 0, "cn=Bob,ou=people,dc=example,dc=com", "objectClass" ) ); - * // prints: - * // Array - * // ( - * // [0] => "top" - * // [1] => "person" - * // ) - * - * - * @param int $server_id The ID of the server of interest - * @param string $dn The distinguished name (DN) of the entry whose attributes/values to fetch. - * @param string $attr The attribute whose value(s) to return (ie, "objectClass", "cn", "userPassword") - * @param bool $lower_case_attr_names (optional) If true, all keys of the returned associative - * array will be lower case. Otherwise, they will be cased as the LDAP server returns - * them. - * @param int $deref For aliases and referrals, this parameter specifies whether to - * follow references to the referenced DN or to fetch the attributes for - * the referencing DN. See http://php.net/ldap_search for the 4 valid - * options. - * @see get_object_attrs - * @todo Move this to an LDAPServer object method. - */ -function get_object_attr( $ldapserver, $dn, $attr, $lower_case_attr_names=false, $deref=LDAP_DEREF_NEVER ) { - if (DEBUG_ENABLED) - debug_log('get_object_attr(): Entered with (%s,%s,%s,%s,%s)',2, - $ldapserver->server_id,$dn,$attr,$lower_case_attr_names,$deref); - - if ($lower_case_attr_names) - $attr = strtolower( $attr ); - - $attrs = get_object_attrs( $ldapserver, $dn, $lower_case_attr_names, $deref ); - if( isset( $attrs[$attr] ) ) - return $attrs[$attr]; - else - return false; - - //echo "get_object_attr( $server_id, $dn, $attr )
    "; - - /* - $search = @ldap_read( $ldapesrver->connect(), $dn, '(objectClass=*)', array( $attr ), 0, 0, 0, $deref ); - if( ! $search ) - return false; - - $entry = ldap_first_entry( $ldapesrver->connect(), $search ); - if( ! $entry ) - return false; - - $attrs = ldap_get_attributes( $ldapesrver->connect(), $entry ); - if( ! $attrs || $attrs['count'] == 0 ) - return false; - - if( is_attr_binary( $ldapserver, $attr ) ) - $vals = ldap_get_values_len( $ldapesrver->connect(), $entry, $attr ); - else - $vals = ldap_get_values( $ldapesrver->connect(), $entry, $attr ); - unset( $vals['count'] ); - return $vals; - */ -} - -/** - * A handy ldap searching function very similar to PHP's ldap_search() with the - * following exceptions: Callers may specify a search scope and the return value - * is an array containing the search results rather than an LDAP result resource. - * - * Example usage: - * - * $samba_users = ldap_search( 0, "(&(objectClass=sambaAccount)(objectClass=posixAccount))", - * "ou=People,dc=example,dc=com", array( "uid", "homeDirectory" ) ); - * print_r( $samba_users ); - * // prints (for example): - * // Array - * // ( - * // [uid=jsmith,ou=People,dc=example,dc=com] => Array - * // ( - * // [dn] => "uid=jsmith,ou=People,dc=example,dc=com" - * // [uid] => "jsmith" - * // [homeDirectory] => "\\server\jsmith" - * // ) - * // [uid=byoung,ou=People,dc=example,dc=com] => Array - * // ( - * // [dn] => "uid=byoung,ou=Samba,ou=People,dc=example,dc=com" - * // [uid] => "byoung" - * // [homeDirectory] => "\\server\byoung" - * // ) - * // ) - * - * - * WARNING: This function will use a lot of memory on large searches since the entire result set is - * stored in a single array. For large searches, you should consider sing the less memory intensive - * PHP LDAP API directly (ldap_search(), ldap_next_entry(), ldap_next_attribute(), etc). - * - * @param int $server_id The ID of the server to search on. - * @param string $filter The LDAP filter to use when searching (example: "(objectClass=*)") (see RFC 2254) - * @param string $base_dn The DN of the base of search. - * @param array $attrs An array of attributes to include in the search result (example: array( "objectClass", "uid", "sn" )). - * @param string $scope The LDAP search scope. Must be one of "base", "one", or "sub". Standard LDAP search scope. - * @param bool $sort_results Specify false to not sort results by DN or true to have the - * returned array sorted by DN (uses ksort) - * @param int $deref When handling aliases or referrals, this specifies whether to follow referrals. Must be one of - * LDAP_DEREF_ALWAYS, LDAP_DEREF_NEVER, LDAP_DEREF_SEARCHING, or LDAP_DEREF_FINDING. See the PHP LDAP API for details. - * @todo Move this to an LDAPServer object method. - */ -function pla_ldap_search( $ldapserver, $filter, $base_dn=null, $attrs=array(), $scope='sub', $sort_results=true, $deref=LDAP_DEREF_ALWAYS ) { - if (DEBUG_ENABLED) - debug_log('pla_ldap_search(): Entered with (%s,%s,%s,%s,%s,%s,%s)',2, - $ldapserver->server_id,$filter,$base_dn,count($attrs),$scope,$sort_results,$deref); - - if( is_null($base_dn)) { - foreach ($ldapserver->getBaseDN() as $baseDN) { - $base_dn = $baseDN; - break; - } - } - - switch( $scope ) { - case 'base': - $search = @ldap_read( $ldapserver->connect(false), $base_dn, $filter, $attrs, 0, 0, 0, $deref ); - break; - case 'one': - $search = @ldap_list( $ldapserver->connect(false), $base_dn, $filter, $attrs, 0, 0, 0, $defef ); - break; - case 'sub': - default: - $search = @ldap_search( $ldapserver->connect(false), $base_dn, $filter, $attrs, 0, 0, 0, $deref ); - break; - } - - if( ! $search ) - return array(); - - $return = array(); - - //get the first entry identifier - if( $entry_id = ldap_first_entry($ldapserver->connect(false),$search) ) - - //iterate over the entries - while($entry_id) { - - //get the distinguished name of the entry - $dn = ldap_get_dn($ldapserver->connect(false),$entry_id); - - //get the attributes of the entry - $attrs = ldap_get_attributes($ldapserver->connect(false),$entry_id); - $return[$dn]['dn'] = $dn; - - //get the first attribute of the entry - if($attr = ldap_first_attribute($ldapserver->connect(false),$entry_id,$attrs)) - - //iterate over the attributes - while($attr) { - if( is_attr_binary($ldapserver,$attr)) - $values = ldap_get_values_len($ldapserver->connect(false),$entry_id,$attr); - else - $values = ldap_get_values($ldapserver->connect(false),$entry_id,$attr); - - //get the number of values for this attribute - $count = $values['count']; - unset($values['count']); - if($count==1) - $return[$dn][$attr] = $values[0]; - else - $return[$dn][$attr] = $values; - - $attr = ldap_next_attribute($ldapserver->connect(false),$entry_id,$attrs); - }// end while attr - - $entry_id = ldap_next_entry($ldapserver->connect(false),$entry_id); - - } // end while entry_id - - if( $sort_results && is_array( $return ) ) - ksort( $return ); - - return $return; -} - /** * Reads the query, checks all values and sets defaults. * * @param int $query_id The ID of the predefined query. * @return array The fixed query or null on error - * @todo Fix base_dn processing and use getBaseDN() - * @todo expand_dn_with_base no longer knows what the base_dn is, so you need to pass it the base, need to fix this function. */ -function get_cleaned_up_predefined_search( $query_id ) { +function get_cleaned_up_predefined_search($query_id) { if (DEBUG_ENABLED) - debug_log('get_cleaned_up_predefined_search(): Entered with (%s)',2,$query_id); + debug_log('get_cleaned_up_predefined_search(): Entered with (%s)',1,$query_id); - global $ldapservers,$queries; + global $queries; - if( ! isset( $queries[$query_id] ) ) + if (! isset($queries[$query_id])) return null; $query = $queries[$query_id]; - if( isset( $query['server'] ) && ( is_numeric( $query['server'] ) ) ) - $server_id = $query['server']; - else $server_id = 0; + $base = (isset($query['base'])) ? $query['base'] : null; - $ldapserver = $ldapservers->Instance($server_id); - - $base = ( isset( $query['base'] ) ) ? $query['base'] : null; - // Multiple base strings mean we can't do this properly - // Could just take the first entry or return an array rather than a string - // Ignore for now - // $base = expand_dn_with_base( $ldapserver, $base ); - - if( isset( $query['filter'] ) && strlen( trim( $query['filter'] ) ) > 0 ) + if (isset($query['filter']) && trim($query['filter'])) $filter = $query['filter']; else $filter = 'objectclass=*'; - $scope = isset( $query['scope'] ) - && ( in_array( $query['scope'], array( 'base', 'sub', 'one' ) ) ) - ? $query['scope'] : 'sub'; + $scope = isset($query['scope']) && (in_array($query['scope'],array('base','sub','one'))) ? + $query['scope'] : 'sub'; - if( isset( $query['attributes'] ) && strlen( trim( $query['filter'] ) ) > 0 ) + if (isset($query['attributes']) && trim($query['filter'])) $attrib = $query['attributes']; else - $attrib = "dn, cn, sn, objectClass"; + $attrib = 'dn, cn, sn, objectClass'; - return array ( - 'server' => $server_id, 'base' => $base, - 'filter' => $filter, 'scope' => $scope, 'attributes' => $attrib ); -} - -/** - * Checks the specified server id for sanity. Ensures that the server is indeed in the configured - * list and active. This is used by many many scripts to ensure that valid server ID values - * are passed in POST and GET. - * @deprecated - */ -function check_server_id( $server_id ) { - global $ldapservers; - - $ldapserver = $ldapservers->Instance($server_id); - if(! isset( $ldapserver->host ) || $ldapserver->host == '' ) - return false; - else - return true; + return array('base'=>$base,'filter'=>$filter,'scope'=>$scope,'attributes'=>$attrib); } /** @@ -2104,7 +822,7 @@ function check_server_id( $server_id ) { */ function random_salt( $length ) { if (DEBUG_ENABLED) - debug_log('random_salt(): Entered with (%s)',2,$length); + debug_log('random_salt(): Entered with (%s)',1,$length); $possible = '0123456789'. 'abcdefghijklmnopqrstuvwxyz'. @@ -2137,18 +855,19 @@ function random_salt( $length ) { * @return string The RDN * @see get_container */ -function get_rdn( $dn, $include_attrs=0 ) { +function get_rdn($dn,$include_attrs=0) { if (DEBUG_ENABLED) - debug_log('get_rdn(): Entered with (%s,%s)',2,$dn,$include_attrs); + debug_log('get_rdn(): Entered with (%s,%s)',1,$dn,$include_attrs); if( $dn == null ) return null; - $rdn = pla_explode_dn( $dn, $include_attrs ); - if( 0 == count($rdn) ) - return $dn; - if( ! isset( $rdn[0] ) ) + + $rdn = pla_explode_dn($dn,$include_attrs); + if (! count($rdn) || ! isset($rdn[0])) return $dn; + $rdn = $rdn[0]; + return $rdn; } @@ -2163,81 +882,23 @@ function get_rdn( $dn, $include_attrs=0 ) { * @see get_rdn */ function get_container( $dn ) { - if (DEBUG_ENABLED) - debug_log('get_container(): Entered with (%s)',2,$dn); + $parts = pla_explode_dn($dn); + + if (count($parts) <= 1) + $container = null; + + else { + $container = $parts[1]; + for ($i=2;$igetBaseDN() as $base_dn) { - if (preg_match("/${base_dn}$/",$dn)) { - $return = $base_dn; - break; - } - } - - debug_log(sprintf('get_container_top(): Entered with (%s), Returning (%s)',$dn,$return),1); - return $return; -} - -/** - * Given a DN string and a path like syntax, this returns the parent container portion of the string. - * @param object $ldapserver The LDAPserver being used. - * @param string $dn The DN whose container string to return. - * @param string $path Either '/', '.' or a series of '../' - * @return string The container - * @see get_rdn - * @see get_container - */ -function get_container_parent($ldapserver,$container,$path) { - if (DEBUG_ENABLED) - debug_log('get_container_parent(): Entered with (%s,%s)',2,$container,$path); - - $top = get_container_top($ldapserver,$container); - - if ($path == '/') { - return $top; - - } elseif ($path == '.') { - return $container; - - } else { - $parenttree = explode('/',$path); - - foreach ($parenttree as $index => $value) { - if ($value == '..') { - if (get_container($container)) - $container = get_container($container); - - if ($container == $top) - break; - - } else { - break; - } - } - - return $container; - } -} - /** * Given an LDAP error number, returns a verbose description of the error. * This function parses ldap_error_codes.txt and looks up the specified @@ -2255,7 +916,7 @@ function get_container_parent($ldapserver,$container,$path) { */ function pla_verbose_error( $err_no ) { if (DEBUG_ENABLED) - debug_log('pla_verbose_error(): Entered with (%s)',2,$err_no); + debug_log('pla_verbose_error(): Entered with (%s)',1,$err_no); static $err_codes; @@ -2291,7 +952,7 @@ function pla_verbose_error( $err_no ) { // @todo: describe this function function support_oid_to_text($oid_id) { if (DEBUG_ENABLED) - debug_log('support_oid_to_text(): Entered with (%s)',2,$oid_id); + debug_log('support_oid_to_text(): Entered with (%s)',1,$oid_id); static $oid; @@ -2343,15 +1004,15 @@ function support_oid_to_text($oid_id) { */ function pla_error( $msg, $ldap_err_msg=null, $ldap_err_no=-1, $fatal=true ) { if (defined('DEBUG_ENABLED') && (DEBUG_ENABLED)) - debug_log('pla_error(): Entered with (%s,%s,%s,%s)',2,$msg,$ldap_err_msg,$ldap_err_no,$fatal); + debug_log('pla_error(): Entered with (%s,%s,%s,%s)',1,$msg,$ldap_err_msg,$ldap_err_no,$fatal); @include_once HTDOCDIR.'header.php'; - global $lang, $config; + global $config; ?>
    -

    +



    @@ -2361,7 +1022,7 @@ function pla_error( $msg, $ldap_err_msg=null, $ldap_err_no=-1, $fatal=true ) { syslog_err($msg); if( $ldap_err_msg ) { - echo sprintf($lang['ldap_said'], htmlspecialchars( $ldap_err_msg )); + echo sprintf(_('LDAP said: %s'), htmlspecialchars( $ldap_err_msg )); echo '
    '; } @@ -2370,17 +1031,17 @@ function pla_error( $msg, $ldap_err_msg=null, $ldap_err_no=-1, $fatal=true ) { $verbose_error = pla_verbose_error( $ldap_err_no ); if( $verbose_error ) { - echo sprintf( $lang['ferror_number'], $ldap_err_no, $verbose_error['title']); + echo sprintf( _('Error number: %s (%s)'), $ldap_err_no, $verbose_error['title']); echo '
    '; - echo sprintf( $lang['ferror_discription'], $verbose_error['desc']); + echo sprintf( _('Description: %s

    '), $verbose_error['desc']); } else { - echo sprintf($lang['ferror_number_short'], $ldap_err_no); + echo sprintf(_('Error number: %s

    '), $ldap_err_no); echo '
    '; - echo $lang['ferror_discription_short']; + echo _('Description: (no description available)
    '); } if (function_exists('syslog_err')) - syslog_err(sprintf($lang['ferror_number_short'],$ldap_err_no)); + syslog_err(sprintf(_('Error number: %s

    '),$ldap_err_no)); } ?>
    @@ -2388,7 +1049,7 @@ function pla_error( $msg, $ldap_err_msg=null, $ldap_err_no=-1, $fatal=true ) {
    - + report it.') , get_href( 'add_bug' ));?> + + + +
    + You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s +
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    '), $errstr, $errtype, $file, $lineno, $caller, pla_version(), phpversion(), php_sapi_name(), $_SERVER['SERVER_SOFTWARE'], get_href('search_bug',"&summary_keyword=".htmlspecialchars($errstr)),get_href('add_bug')); return; @@ -2466,7 +1131,20 @@ function pla_error_handler( $errno, $errstr, $file, $lineno ) { $server = isset( $_SERVER['SERVER_SOFTWARE'] ) ? $_SERVER['SERVER_SOFTWARE'] : 'undefined'; $phpself = isset( $_SERVER['PHP_SELF'] ) ? basename( $_SERVER['PHP_SELF'] ) : 'undefined'; - pla_error( sprintf($lang['ferror_congrats_found_bug'], $errstr, $errtype, $file, + pla_error( sprintf(_('Congratulations! You found a bug in phpLDAPadmin.

    + + + + + + + + + + +
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    +
    + Please report this bug by clicking below!'), $errstr, $errtype, $file, $lineno, $phpself, pla_version(), phpversion(), php_sapi_name(), $server )); } @@ -2477,9 +1155,9 @@ function pla_error_handler( $errno, $errstr, $file, $lineno ) { * in config.php. This is simply used so we can more easily lookup user-friendly * attributes configured by the admin. */ -function process_friendly_attr_table() { +function process_friendly_attr_table() { if (DEBUG_ENABLED) - debug_log('process_friendly_attr_table(): Entered with ()',2); + debug_log('process_friendly_attr_table(): Entered with ()',1); // require 'config.php'; global $friendly_attrs; @@ -2493,56 +1171,6 @@ function process_friendly_attr_table() { return $attrs_table; } -/** - * Show friendly attribute. - */ -function show_friendly_attribute($attr) { - if (DEBUG_ENABLED) - debug_log('show_friendly_attribute(): Entered with (%s)',2,$attr); - - $friendly_attrs = process_friendly_attr_table(); - - if (isset($friendly_attrs[strtolower($attr)])) - $return = $friendly_attrs[strtolower($attr)]; - else - $return = $attr; - - if (DEBUG_ENABLED) - debug_log('show_friendly_attribute(): Returning (%s)',1,$return); - return $return; -} - -/** - * Gets whether an entry exists based on its DN. If the entry exists, - * returns true. Otherwise returns false. - * - * @param object $ldapserver The LDAP Server Object of interest - * @param string $dn The DN\of the entry of interest. - * - * @return bool - * @todo Move this to an LDAPServer object method. - */ -function dn_exists($ldapserver,$dn) { - # Set default return - $return = false; - - $search_result = @ldap_read($ldapserver->connect(false),$dn,'objectClass=*',array('dn')); - - if ($search_result) { - $num_entries = ldap_count_entries($ldapserver->connect(false),$search_result); - - if ($num_entries > 0) - $return = true; - else - $return = false; - } - - if (DEBUG_ENABLED) - debug_log('dn_exists(): Entered with (%s,%s), Returning (%s)',1,$ldapserver->server_id,$dn,$return); - - return $return; -} - /** * Draw the jpegPhoto image(s) for an entry wrapped in HTML. Many options are available to * specify how the images are to be displayed. @@ -2564,58 +1192,57 @@ function dn_exists($ldapserver,$dn) { * * @return void */ -function draw_jpeg_photos( $ldapserver, $dn, $attr_name='jpegPhoto', $draw_delete_buttons=false, - $draw_bytes_and_size=true, $table_html_attrs='align="left"', $img_html_attrs='' ) { +function draw_jpeg_photos($ldapserver,$dn,$attr_name='jpegPhoto',$draw_delete_buttons=false, + $draw_bytes_and_size=true,$table_html_attrs='align="left"',$img_html_attrs='') { if (DEBUG_ENABLED) - debug_log('draw_jpeg_photos(): Entered with (%s,%s,%s,%s,%s,%s,%s)',2, + debug_log('draw_jpeg_photos(): Entered with (%s,%s,%s,%s,%s,%s,%s)',1, $ldapserver->server_id,$dn,$attr_name,$draw_delete_buttons, $draw_bytes_and_size,$table_html_attrs,$img_html_attrs); - global $config, $lang; + global $config; $fixed_width = false; $fixed_height = false; - if (eregi(" width",$img_html_attrs) || eregi("^width",$img_html_attrs)) + if (eregi(' width',$img_html_attrs) || eregi('^width',$img_html_attrs)) $fixed_width = true; - if (eregi(" height=",$img_html_attrs) || eregi("^height=",$img_html_attrs)) + if (eregi(' height=',$img_html_attrs) || eregi('^height=',$img_html_attrs)) $fixed_height = true; - $search_result = ldap_read( $ldapserver->connect(), $dn, 'objectClass=*', array( $attr_name ) ); - $entry = ldap_first_entry( $ldapserver->connect(), $search_result ); + if (isset($table_html_attrs) && trim($table_html_attrs) ) + printf('
    ',$table_html_attrs); - if (isset($table_html_attrs) && $table_html_attrs != "" ) - echo "
    \n\n"; - - // for each jpegPhoto in the entry, draw it (there may be only one, and that's okay) - $jpeg_data = @ldap_get_values_len( $ldapserver->connect(), $entry, $attr_name ); - if( ! is_array( $jpeg_data ) ) { - printf( $lang['jpeg_unable_toget'], htmlspecialchars( $attr_name )); + $jpeg_data = array_pop($ldapserver->search(null,$dn,'objectClass=*',array($attr_name),'base')); + if (! $jpeg_data) { + printf(_('Could not fetch jpeg data from LDAP server for attribute %s.'),htmlspecialchars($attr_name)); return; } - for( $i=0; $i<$jpeg_data['count']; $i++ ) { - // ensures that the photo is written to the specified jpeg['tmpdir'] - $jpeg_temp_dir = realpath($config->GetValue('jpeg','tmpdir').'/'); - if( ! is_writable( $jpeg_temp_dir ) ) - pla_error( $lang['jpeg_dir_not_writable'] ); + $jpeg_temp_dir = realpath($config->GetValue('jpeg','tmpdir').'/'); + if (! is_writable($jpeg_temp_dir)) + pla_error(_('Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php') ); - $jpeg_filename = tempnam($jpeg_temp_dir.'/', 'pla'); - $outjpeg = @fopen($jpeg_filename, "wb"); - if( ! $outjpeg ) - pla_error( sprintf( $lang['jpeg_dir_not_writable_error'],$jpeg_temp_dir )); - fwrite($outjpeg, $jpeg_data[$i]); + if (! is_array($jpeg_data[$attr_name])) + $jpeg_data[$attr_name] = array($jpeg_data[$attr_name]); + + foreach ($jpeg_data[$attr_name] as $jpeg) { + $jpeg_filename = tempnam($jpeg_temp_dir.'/','pla'); + $outjpeg = @fopen($jpeg_filename,'wb'); + if (! $outjpeg) + pla_error(sprintf(_('Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there.'),$jpeg_temp_dir)); + fwrite($outjpeg,$jpeg); fclose ($outjpeg); - $jpeg_data_size = filesize( $jpeg_filename ); - if( $jpeg_data_size < 6 && $draw_delete_buttons ) { - echo $lang['jpeg_contains_errors']; - echo ''. $lang['delete_photo'] .''; + $jpeg_data_size = filesize($jpeg_filename); + if ($jpeg_data_size < 6 && $draw_delete_buttons) { + echo _('jpegPhoto contains errors
    '); + printf('%s', + $attr_name,_('Delete Photo')); continue; } - if( function_exists( 'getimagesize' ) ) { - $jpeg_dimensions = @getimagesize( $jpeg_filename ); + if (function_exists('getimagesize')) { + $jpeg_dimensions = @getimagesize($jpeg_filename); $width = $jpeg_dimensions[0]; $height = $jpeg_dimensions[1]; @@ -2624,7 +1251,7 @@ function draw_jpeg_photos( $ldapserver, $dn, $attr_name='jpegPhoto', $draw_delet $height = 0; } - if( $width > 300 ) { + if ($width > 300) { $scale_factor = 300 / $width; $img_width = 300; $img_height = $height * $scale_factor; @@ -2634,33 +1261,31 @@ function draw_jpeg_photos( $ldapserver, $dn, $attr_name='jpegPhoto', $draw_delet $img_height = $height; } - print "
    \n"; + printf('
    ', + ($fixed_width ? '' : 'width="'.$img_width.'" '), + ($fixed_height ? '' : 'height="'.$img_height.'"'), + ($img_html_attrs ? $img_html_attrs : ''),basename($jpeg_filename)); - if( $draw_bytes_and_size ) { - echo "" . number_format($jpeg_data_size) . " bytes. "; - echo "$width x $height pixels.
    \n\n"; - } + if ($draw_bytes_and_size) + printf('%s bytes. %s x %s pixels.
    ',number_format($jpeg_data_size),$width,$height); - if( $draw_delete_buttons ) { ?> - - - + printf('%s', + $attr_name,_('Delete photo')); } - if (isset($table_html_attrs) && $table_html_attrs != "" ) - echo "
    \n\n"; + if (isset($table_html_attrs) && trim($table_html_attrs)) + echo '
    '; - // delete old jpeg files. + # Delete old jpeg files. $jpegtmp_wildcard = "/^pla/"; $handle = opendir($jpeg_temp_dir); - while( ($file = readdir($handle) ) != false ) { - if( preg_match( $jpegtmp_wildcard, $file ) ) { + while (($file = readdir($handle)) != false) { + if (preg_match($jpegtmp_wildcard,$file)) { $file = "$jpeg_temp_dir/$file"; if ((time() - filemtime($file)) > $config->GetValue('jpeg','tmp_keep_time')) - @unlink( $file ); + @unlink($file); } } closedir($handle); @@ -2676,9 +1301,7 @@ function draw_jpeg_photos( $ldapserver, $dn, $attr_name='jpegPhoto', $draw_delet */ function password_hash( $password_clear, $enc_type ) { if (DEBUG_ENABLED) - debug_log('password_hash(): Entered with (%s,%s)',2,$password_clear,$enc_type); - - global $lang; + debug_log('password_hash(): Entered with (%s,%s)',1,$password_clear,$enc_type); $enc_type = strtolower( $enc_type ); @@ -2690,21 +1313,21 @@ function password_hash( $password_clear, $enc_type ) { case 'ext_des': // extended des crypt. see OpenBSD crypt man page. if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) - pla_error( $lang['install_not_support_ext_des'] ); + pla_error( _('Your system crypt library does not support extended DES encryption.') ); $new_value = '{CRYPT}' . crypt( $password_clear, '_' . random_salt(8) ); break; case 'md5crypt': if( ! defined( 'CRYPT_MD5' ) || CRYPT_MD5 == 0 ) - pla_error( $lang['install_not_support_md5crypt'] ); + pla_error( _('Your system crypt library does not support md5crypt encryption.') ); $new_value = '{CRYPT}' . crypt( $password_clear , '$1$' . random_salt(9) ); break; case 'blowfish': if( ! defined( 'CRYPT_BLOWFISH' ) || CRYPT_BLOWFISH == 0 ) - pla_error( $lang['install_not_support_blowfish'] ); + pla_error( _('Your system crypt library does not support blowfish encryption.') ); // hardcoded to second blowfish version and set number of rounds $new_value = '{CRYPT}' . crypt( $password_clear , '$2a$12$' . random_salt(13) ); @@ -2723,7 +1346,7 @@ function password_hash( $password_clear, $enc_type ) { $new_value = '{SHA}' . base64_encode( mhash( MHASH_SHA1, $password_clear) ); } else { - pla_error( $lang['install_no_mash'] ); + pla_error( _('Your PHP install does not have the mhash() function. Cannot do SHA hashes.') ); } break; @@ -2734,7 +1357,7 @@ function password_hash( $password_clear, $enc_type ) { $new_value = "{SSHA}".base64_encode( mhash( MHASH_SHA1, $password_clear.$salt ).$salt ); } else { - pla_error( $lang['install_no_mash'] ); + pla_error( _('Your PHP install does not have the mhash() function. Cannot do SHA hashes.') ); } break; @@ -2745,7 +1368,7 @@ function password_hash( $password_clear, $enc_type ) { $new_value = "{SMD5}".base64_encode( mhash( MHASH_MD5, $password_clear.$salt ).$salt ); } else { - pla_error( $lang['install_no_mash'] ); + pla_error( _('Your PHP install does not have the mhash() function. Cannot do SHA hashes.') ); } break; @@ -2767,9 +1390,7 @@ function password_hash( $password_clear, $enc_type ) { */ function password_check( $cryptedpassword, $plainpassword ) { if (DEBUG_ENABLED) - debug_log('password_check(): Entered with (%s,%s)',2,$cryptedpassword,$plainpassword); - - global $lang; + debug_log('password_check(): Entered with (%s,%s)',1,$cryptedpassword,$plainpassword); //echo "password_check( $cryptedpassword, $plainpassword )\n"; if( preg_match( "/{([^}]+)}(.*)/", $cryptedpassword, $cypher ) ) { @@ -2795,7 +1416,7 @@ function password_check( $cryptedpassword, $plainpassword ) { return false; } else { - pla_error( $lang['install_no_mash'] ); + pla_error( _('Your PHP install does not have the mhash() function. Cannot do SHA hashes.') ); } break; @@ -2813,7 +1434,7 @@ function password_check( $cryptedpassword, $plainpassword ) { return false; } else { - pla_error( $lang['install_no_mash'] ); + pla_error( _('Your PHP install does not have the mhash() function. Cannot do SHA hashes.') ); } break; @@ -2840,7 +1461,7 @@ function password_check( $cryptedpassword, $plainpassword ) { // make sure that web server supports blowfish crypt if( ! defined( 'CRYPT_BLOWFISH' ) || CRYPT_BLOWFISH == 0 ) - pla_error( $lang['install_not_support_blowfish'] ); + pla_error( _('Your system crypt library does not support blowfish encryption.') ); list(,$version,$rounds,$salt_hash) = explode('$',$cryptedpassword); @@ -2855,7 +1476,7 @@ function password_check( $cryptedpassword, $plainpassword ) { // make sure that web server supports md5 crypt if( ! defined( 'CRYPT_MD5' ) || CRYPT_MD5 == 0 ) - pla_error( $lang['install_not_support_md5crypt'] ); + pla_error( _('Your system crypt library does not support md5crypt encryption.') ); list(,$type,$salt,$hash) = explode('$',$cryptedpassword); @@ -2870,7 +1491,7 @@ function password_check( $cryptedpassword, $plainpassword ) { // make sure that web server supports ext_des if ( ! defined( 'CRYPT_EXT_DES' ) || CRYPT_EXT_DES == 0 ) - pla_error( $lang['install_not_support_ext_des'] ); + pla_error( _('Your system crypt library does not support extended DES encryption.') ); if( crypt($plainpassword, $cryptedpassword ) == $cryptedpassword ) return true; @@ -2911,7 +1532,7 @@ function password_check( $cryptedpassword, $plainpassword ) { */ function get_enc_type( $user_password ) { if (DEBUG_ENABLED) - debug_log('get_enc_type(): Entered with (%s)',2,$user_password); + debug_log('get_enc_type(): Entered with (%s)',1,$user_password); /* Capture the stuff in the { } to determine if this is crypt, md5, etc. */ $enc_type = null; @@ -2949,7 +1570,7 @@ function get_enc_type( $user_password ) { */ function get_default_hash($server_id) { if (DEBUG_ENABLED) - debug_log('get_default_hash(): Entered with (%s)',2,$server_id); + debug_log('get_default_hash(): Entered with (%s)',1,$server_id); global $ldapservers; return $ldapservers->GetValue($server_id,'appearance','password_hash'); @@ -2986,8 +1607,8 @@ function pla_version() { $return = 'UNKNOWN'; } - if (DEBUG_ENABLED) - debug_log('pla_version(): Entered with (), Returning (%s)',2,$return); + if (defined('DEBUG_ENABLED') && DEBUG_ENABLED) + debug_log('pla_version(): Entered with (), Returning (%s)',1,$return); return $return; } @@ -3004,31 +1625,24 @@ function pla_version() { */ function draw_chooser_link( $form_element, $include_choose_text=true, $rdn="none" ) { if (DEBUG_ENABLED) - debug_log('draw_chooser_link(): Entered with (%s,%s,%s)',2,$form_element,$include_choose_text,$rdn); + debug_log('draw_chooser_link(): Entered with (%s,%s,%s)',1,$form_element,$include_choose_text,$rdn); - global $lang; - - if ($rdn == "none") { - $href = "javascript:dnChooserPopup('$form_element', '');"; + if ($rdn == 'none') { + $href = "javascript:dnChooserPopup('$form_element','');"; } else { - $href = "javascript:dnChooserPopup('$form_element', '$rdn');"; + $href = "javascript:dnChooserPopup('$form_element','$rdn');"; } - $title = $lang['chooser_link_tooltip']; + $title = _('Click to popup a dialog to select an entry (DN) graphically'); - printf('',$href,$title); + printf('',$href,$title); if ($include_choose_text) - printf('%s',$href,$title,$lang['fbrowse']); - - echo ""; + printf('%s',$href,$title,_('browse')); } /** - * Explode a DN into an array of its RDN parts. This function is UTF-8 safe - * and replaces the buggy PHP ldap_explode_dn() which does not properly - * handle UTF-8 DNs and also causes segmentation faults with some inputs. - * + * Explode a DN into an array of its RDN parts. * @param string $dn The DN to explode. * @param int $with_attriutes (optional) Whether to include attribute names (see http://php.net/ldap_explode_dn for details) * @@ -3043,23 +1657,50 @@ function draw_chooser_link( $form_element, $include_choose_text=true, $rdn="none * ) * */ -function pla_explode_dn( $dn, $with_attributes=0 ) { - # replace "\," with the hexadecimal value for safe split - $var = preg_replace("/\\\,/","\\\\\\\\2C",$dn); +function pla_explode_dn($dn,$with_attributes=0) { + $dn = addcslashes(dn_escape($dn),'<>'); # split the dn - $result = explode(",",$var); + $result = ldap_explode_dn($dn,$with_attributes); + if (! $result) + return null; + + # Remove our count value that ldap_explode_dn returns us. + unset($result['count']); # translate hex code into ascii for display - foreach( $result as $key => $value ) - $result[$key] = preg_replace("/\\\([0-9A-Fa-f]{2})/e", "''.chr(hexdec('\\1')).''", $value); + foreach ($result as $key => $value) + $result[$key] = preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$value); if (DEBUG_ENABLED) - debug_log('pla_explode_dn(): Entered with (%s,%s), Returning (%s)',1,$dn,$with_attributes,serialize($result)); + debug_log('pla_explode_dn(): Entered with (%s,%s), Returning (%s)',1,$dn,$with_attributes,$result); return $result; } +/** + * Parse a DN and escape any special characters + */ +function dn_escape($dn) { + # Check if the RDN has a comma and escape it. + while (preg_match('/([^\\\\]),(\s*[^=]*\s*),/',$dn)) + $dn = preg_replace('/([^\\\\]),(\s*[^=]*\s*),/','$1\\\\2C$2,',$dn); + + $dn = preg_replace('/([^\\\\]),(\s*[^=]*\s*)([^,])$/','$1\\\\2C$2$3',$dn); + + if (DEBUG_ENABLED) + debug_log('dn_escape(): Entered with (%s), Returning (%s)',1,$dn,$dn); + + return $dn; +} + +/** + * Parse a DN and unescape any special characters + */ +function dn_unescape($dn) { + return preg_replace('/\\\([0-9A-Fa-f]{2})/e',"''.chr(hexdec('\\1')).''",$dn); +} + /** * Fetches the URL for the specified item. This is a convenience function for * fetching project HREFs (like bugs) @@ -3068,21 +1709,35 @@ function pla_explode_dn( $dn, $with_attributes=0 ) { * (rfe = request for enhancement) * @return string The URL to the requested item. */ -function get_href( $type, $extra_info='' ) { - $group_id = "61828"; - $bug_atid = "498546"; - $rfe_atid = "498549"; - $forum_id = "34809"; +function get_href($type,$extra_info='') { + $sf = 'https://sourceforge.net'; + $pla = 'http://wiki.pldapadmin.com'; + $group_id = '61828'; + $bug_atid = '498546'; + $rfe_atid = '498549'; + $forum_id = '34809'; - switch( $type ) { - case 'open_bugs': return "https://sourceforge.net/tracker/?group_id=$group_id&atid=$bug_atid"; - case 'add_bug': return "https://sourceforge.net/tracker/?func=add&group_id=$group_id&atid=$bug_atid"; - case 'add_rfe': return "https://sourceforge.net/tracker/?func=add&group_id=$group_id&atid=$rfe_atid"; - case 'forum': return "http://sourceforge.net/mailarchive/forum.php?forum_id=$forum_id"; - case 'search_bug': return "https://sourceforge.net/tracker/?func=search&group_id=$group_id&atid=$bug_atid&set=custom&_status=100&_group=100&order=summary$extra_info"; - case 'donate': return "donate.php"; - case 'help': return "help.php"; - default: return null; + switch($type) { + case 'add_bug': + return sprintf('%s/tracker/?func=add&group_id=%s&atid=%s',$sf,$group_id,$bug_atid); + case 'add_rfe': + return sprintf('%s/tracker/?func=add&group_id=%s&atid=%s',$sf,$group_id,$rfe_atid); + case 'credits': + return sprintf('%s/Credits',$pla); + case 'documentation': + return sprintf('%s/Documentation',$pla); + case 'forum': + return sprintf('%s/mailarchive/forum.php?forum_id=%s',$sf,$forum_id); + case 'open_bugs': + return sprintf('%s/tracker/?group_id=%s&atid=%s',$sf,$group_id,$bug_atid); + case 'search_bug': + return sprintf('%s/tracker/?func=search&group_id=%s&atid=%s&set=custom&_status=100&_group=100&order=summary%s',$sf,$group_id,$bug_atid,$extra_info); + case 'donate': + return sprintf('%s/donate/index.php?group_id=%s',$sf,$group_id); + case 'help': + return sprintf('help.php'); + default: + return null; } } @@ -3124,7 +1779,7 @@ function utime () { */ function array_to_query_string( $array, $exclude_vars=array(), $url_encode_ampersands=true ) { if (DEBUG_ENABLED) - debug_log('array_to_query_string(): Entered with (%s,%s,%s)',2, + debug_log('array_to_query_string(): Entered with (%s,%s,%s)',1, count($array),count($exclude_vars),$url_encode_ampersands); if( ! is_array( $array ) ) @@ -3167,7 +1822,7 @@ function array_to_query_string( $array, $exclude_vars=array(), $url_encode_amper */ function pla_reverse_dn($dn) { if (DEBUG_ENABLED) - debug_log('pla_reverse_dn(): Entered with (%s)',2,$dn); + debug_log('pla_reverse_dn(): Entered with (%s)',1,$dn); foreach (pla_explode_dn($dn) as $key => $branch) { @@ -3183,267 +1838,61 @@ function pla_reverse_dn($dn) { return $rev; } -/** - * Determins if the specified attribute is contained in the $unique_attrs list - * configured in config.php. - * @return Bool True if the specified attribute is in the $unique_attrs list and false - * otherwise. - */ -function is_unique_attr( $attr_name ) { - if (DEBUG_ENABLED) - debug_log('is_unique_attr(): Entered with (%s)',2,$attr_name); - - global $unique_attrs; - if( isset( $unique_attrs ) && is_array( $unique_attrs ) ) { - foreach( $unique_attrs as $attr ) - if( 0 === strcasecmp( $attr_name, $attr ) ) - return true; - } - return false; -} - -/** - * This function will check whether the value for an attribute being changed - * is already assigned to another DN. - * - * Inputs: - * @param object $ldapserver The LDAP Server Object of interest - * @param dn $dn DN that is being changed - * @param string $attr_name Attribute being changed - * @param string|array $new values New values for the attribute - * - * Returns the bad value, or null if all values are OK - * @todo Implement alternate conection with LDAPserver object - * @todo Move this to an LDAPServer object method. - */ -function checkUniqueAttr( $ldapserver, $dn, $attr_name, $new_value ) { - if (DEBUG_ENABLED) - debug_log('checkUniqueAttr(): Entered with (%s,%s,%s,%s)',2, - $ldapserver->server_id,$dn,$attr_name,count($new_value)); - - global $ldapservers,$lang; - - // Is this attribute in the unique_attrs list? - if ( is_unique_attr( $attr_name ) ) { - - // Search the tree and make sure that attribute doesnt already exist to somebody else. - - // Check see and use our alternate uid_dn and password if we have it. - $unique_attrs_dn = $ldapservers->GetValue($ldapserver->server_id,'unique_attrs','dn'); - $unique_attrs_pass = $ldapservers->GetValue($ldapserver->server_id,'unique_attrs','pass'); - $need_to_unbind = false; - - if ( isset( $unique_attrs_dn ) && $unique_attrs_dn != '' && isset( $uniqe_attrs_pass ) ) - { - $con = @ldap_connect( $ldapserver->host, $ldapserver->port ); - - @ldap_set_option( $con, LDAP_OPT_PROTOCOL_VERSION, 3 ); - - // Bind with the alternate ID. - $res = @ldap_bind( $con, $unuque_attrs_dn, $unique_attrs_pass ); - - if (! $res) pla_error( sprintf( $lang['unique_attrs_invalid_credential'] , $ldapserver->name ) ); - - $need_to_unbind = true; - - } else { - $con = $ldapserver->connect(); - } - - // Build our search filter to double check each attribute. - $searchfilter = "(|"; - - if ( is_array( $new_value ) ) { - foreach ($new_value as $val) { - $searchfilter .= sprintf("($attr_name=%s)",clean_search_vals($val)); - } - - } elseif ( $new_value ) { - $searchfilter .= sprintf("($attr_name=%s)",clean_search_vals($new_value)); - } - - $searchfilter .= ")"; - - // Do we need a sanity check to just in case $new_value was null and hence the search string is bad? - - foreach ($ldapserver->getBaseDN() as $base_dn) { - - // Do the search - $search = @ldap_search( $con, $base_dn, $searchfilter, array('dn',$attr_name), 0, 0, 0, LDAP_DEREF_ALWAYS); - if (! $search) - continue; - - $search = ldap_get_entries( $con, $search ); - - foreach ($search as $result) { - // Skip the count result and go to the array. - if (! is_array($result)) continue; - - // If one of the attributes is owned to somebody else, then we may as well die here. - if ($result['dn'] != $dn) { - - // Find which attribute matched. - foreach ($result[strtolower($attr_name)] as $attr) { - foreach ($new_value as $new_value_attr) { - if ($attr == $new_value_attr) - return $attr; - } - } - } - } - } - - if ( $need_to_unbind ) { - $res = @ldap_unbind( $con ); - } - - // If we get here, then it must be OK? - return; - - } else { - return; - } -} - /** * */ - function sortAttrs($a,$b) { if (DEBUG_ENABLED) - debug_log('sortAttrs(): Entered with (%s,%s)',2,$a,$b); + debug_log('sortAttrs(): Entered with (%s,%s)',1,$a,$b); global $friendly_attrs, $attrs_display_order; - // If $attrs_display_order is not set, make it a blank array. + # If $attrs_display_order is not set, make it a blank array. if (! isset($attrs_display_order)) $attrs_display_order = array(); - if ( $a == $b ) return 0; + if ($a == $b) + return 0; - // Check if $a is in $attrs_display_order, get its key - $a_key = array_search($a, $attrs_display_order); - // If not, check if its friendly name is $attrs_display_order, get its key - // If not, assign one greater than number of elements. - if ( $a_key == '' ) { - if (isset($friendly_attrs[ strtolower( $a ) ])) { - $a_key = array_search( $friendly_attrs[ strtolower( $a ) ], $attrs_display_order); - if ( $a_key == '' ) $a_key = count($attrs_display_order)+1; - } - else { + # Check if $a is in $attrs_display_order, get its key + $a_key = array_search($a,$attrs_display_order); + + # If not, check if its friendly name is $attrs_display_order, get its key + # If not, assign one greater than number of elements. + if ( $a_key === false ) { + if (isset($friendly_attrs[strtolower($a)])) { + $a_key = array_search($friendly_attrs[strtolower($a)],$attrs_display_order); + if ($a_key == '') + $a_key = count($attrs_display_order)+1; + + } else { $a_key = count($attrs_display_order)+1; } } - $b_key = array_search($b, $attrs_display_order); - if ( $b_key == '' ) { - if (isset($friendly_attrs[ strtolower( $b ) ])) { - $b_key = array_search( $friendly_attrs[ strtolower( $b ) ], $attrs_display_order); - if ( $b_key == '' ) $b_key = count($attrs_display_order)+1; - } - else { + $b_key = array_search($b,$attrs_display_order); + if ($b_key === false) { + if (isset($friendly_attrs[strtolower($b)])) { + $b_key = array_search($friendly_attrs[strtolower($b)],$attrs_display_order); + if ($b_key == '') + $b_key = count($attrs_display_order)+1; + + } else { $b_key = count($attrs_display_order)+1; } } - // Case where neither $a, nor $b are in $attrs_display_order, $a_key = $b_key = one greater than num elements. - // So we sort them alphabetically - if ( $a_key == $b_key ) { - $a = strtolower( (isset($friendly_attrs[ strtolower( $a ) ]) ? $friendly_attrs[ strtolower( $a ) ] : $a)); - $b = strtolower( (isset($friendly_attrs[ strtolower( $b ) ]) ? $friendly_attrs[ strtolower( $b ) ] : $b)); - return strcmp ($a, $b); + # Case where neither $a, nor $b are in $attrs_display_order, $a_key = $b_key = one greater than num elements. + # So we sort them alphabetically + if ($a_key === $b_key) { + $a = strtolower((isset($friendly_attrs[strtolower($a)]) ? $friendly_attrs[strtolower($a)] : $a)); + $b = strtolower((isset($friendly_attrs[strtolower($b)]) ? $friendly_attrs[strtolower($b)] : $b)); + return strcmp($a,$b); } - // Case where at least one attribute or its friendly name is in $attrs_display_order - // return -1 if $a before $b in $attrs_display_order - return ( $a_key < $b_key ) ? -1 : 1; -} - -/** - * @todo Move this to an LDAPServer object method. - */ -function userIsMember($ldapserver,$user,$group) { - if (DEBUG_ENABLED) - debug_log('userIsMember(): Entered with (%s,%s,%s)',2,$ldapserver->server_id,$user,$group); - - $group = get_object_attrs( $ldapserver, $group, false, $deref=LDAP_DEREF_NEVER ); - - if( is_array($group) ) { - // If you are using groupOfNames objectClass - if ( array_key_exists('member',$group) and in_array(strtolower($user),arrayLower($group['member'])) ) - return true; - // If you are using groupOfUniqueNames objectClass - if ( array_key_exists('uniqueMember',$group) and in_array(strtolower($user),arrayLower($group['uniqueMember'])) ) - return true; - - return false; - } -} - -/** - * @todo Move this to an LDAPServer object method. - */ -function userIsAllowedLogin($ldapserver,$user) { - if (DEBUG_ENABLED) - debug_log('userIsAllowedLogin(): Entered with (%s,%s)',2,$ldapserver->server_id,$user); - - global $ldapservers; - - $user = strtolower($user); - - if (! $ldapservers->GetValue($ldapserver->server_id,'login','allowed_dns')) - return true; - - foreach ($ldapservers->GetValue($ldapserver->server_id,'login','allowed_dns') as $login_allowed_dn) { - if (DEBUG_ENABLED) - debug_log('userIsAllowedLogin: Working through (%s)',9,$login_allowed_dn); - - // Check if $login_allowed_dn is an ldap search filter - // Is first occurence of 'filter=' (case ensitive) at position 0 ? - if ( preg_match('/^\([&|]\(/',$login_allowed_dn) ) { - $filter = $login_allowed_dn; - - foreach($ldapserver->getBaseDN() as $base_dn) { - $results = array(); - $results = pla_ldap_search( $ldapserver, $filter, $base_dn, array('dn') ); - - if (DEBUG_ENABLED) - debug_log('userIsAllowedLogin: Search, Filter [%s], BaseDN [%s] Results [%s]',9, - $filter, $base_dn, is_array($results)); - - $dn_array = array(); - - if ($results) { - foreach ($results as $result) - $dn_array[] = $result['dn']; - $dn_array = array_unique( $dn_array ); - - if( count( $dn_array ) !== 0 ) - foreach($dn_array as $result_dn) { - if (DEBUG_ENABLED) - debug_log('userIsAllowedLogin: Comparing with [%s]',9,$result_dn); - - // Check if $result_dn is a user DN - if ( 0 == strcasecmp( trim($user), trim(strtolower($result_dn)) ) ) - return true; - - // Check if $result_dn is a group DN - if ( userIsMember($ldapserver,$user,$result_dn) ) - return true; - } - } - } - } - - // Check if $login_allowed_dn is a user DN - if ( 0 == strcasecmp( trim($user), trim(strtolower($login_allowed_dn)) ) ) - return true; - - // Check if $login_allowed_dn is a group DN - if ( userIsMember($ldapserver,$user,$login_allowed_dn) ) - return true; - } - return false; + # Case where at least one attribute or its friendly name is in $attrs_display_order + # return -1 if $a before $b in $attrs_display_order + return ($a_key < $b_key) ? -1 : 1; } /** @@ -3453,7 +1902,7 @@ function userIsAllowedLogin($ldapserver,$user) { */ function arrayLower($array) { if (DEBUG_ENABLED) - debug_log('arrayLower(): Entered with (%s)',2,serialize($array)); + debug_log('arrayLower(): Entered with (%s)',1,$array); if (! is_array($array)) return $array; @@ -3473,7 +1922,7 @@ function arrayLower($array) { */ function array_stripslashes(&$array) { if (DEBUG_ENABLED) - debug_log('array_stripslashes(): Entered with (%s)',2,serialize($array)); + debug_log('array_stripslashes(): Entered with (%s)',1,$array); if (is_array($array)) while (list($key) = each($array)) @@ -3567,25 +2016,6 @@ function is_browser_os_mac() { return $return; } -/** - * Return posix group entries. - * @return Array An associative array of posix group entries with attributes as keys, and values as values. - * @param int $server_id The ID of the server to search. - * @param string $base_dn The base of the search. - * @deprecated - */ -function get_posix_groups($ldapserver,$base_dn=null) { - if (DEBUG_ENABLED) - debug_log('get_posix_groups(): Entered with (%s,%s)',2,$ldapserver->server_id,$base_dn); - - $results = pla_ldap_search($ldapserver,"objectclass=posixGroup",$base_dn,array()); - - if (!$results) - return array(); - else - return $results; -} - /** * Return the default format for search results. * @@ -3593,9 +2023,9 @@ function get_posix_groups($ldapserver,$base_dn=null) { */ function get_default_search_display() { if (DEBUG_ENABLED) - debug_log('get_default_search_display(): Entered with ()',2); + debug_log('get_default_search_display(): Entered with ()',1); - global $default_search_display, $lang; + global $default_search_display; if( ! isset( $default_search_display ) || is_null( $default_search_display ) ) return 'list'; @@ -3607,7 +2037,7 @@ function get_default_search_display() { return 'table'; else - pla_error( sprintf( $lang['bad_search_display'], htmlspecialchars( $default_search_display ) ) ); + pla_error( sprintf( _('Your config.php specifies an invalid value for $default_search_display: %s. Please fix it'), htmlspecialchars( $default_search_display ) ) ); } /** @@ -3619,7 +2049,7 @@ function get_default_search_display() { */ function in_array_ignore_case( $needle, $haystack ) { if (DEBUG_ENABLED) - debug_log('in_array_ignore_case(): Entered with (%s,%s)',2,$needle,serialize($haystack)); + debug_log('in_array_ignore_case(): Entered with (%s,%s)',1,$needle,$haystack); if( ! is_array( $haystack ) ) return false; @@ -3654,7 +2084,7 @@ function string_in_array_value( $needle, $haystack ) { } if (DEBUG_ENABLED) - debug_log('string_in_array_value(): Entered with (%s,%s), Returning (%s)',1,$needle,serialize($haystack),$return); + debug_log('string_in_array_value(): Entered with (%s,%s), Returning (%s)',1,$needle,$haystack,$return); return $return; } @@ -3671,7 +2101,7 @@ function string_in_array_value( $needle, $haystack ) { */ function full_str_pad($input, $pad_length, $pad_string = '', $pad_type = 0) { if (DEBUG_ENABLED) - debug_log('full_str_pad(): Entered with (%s,%s,%s,%s)',2,$input,$pad_length,$pad_string,$pad_type); + debug_log('full_str_pad(): Entered with (%s,%s,%s,%s)',1,$input,$pad_length,$pad_string,$pad_type); $str = ''; $length = $pad_length - strlen($input); @@ -3707,7 +2137,7 @@ function full_str_pad($input, $pad_length, $pad_string = '', $pad_type = 0) { */ function pla_blowfish_encrypt( $data, $secret=null ) { if (DEBUG_ENABLED) - debug_log('pla_blowfish_encrypt(): Entered with (%s,%s)',2,$data,$secret); + debug_log('pla_blowfish_encrypt(): Entered with (%s,%s)',1,$data,$secret); global $config; @@ -3749,7 +2179,7 @@ function pla_blowfish_encrypt( $data, $secret=null ) { */ function pla_blowfish_decrypt( $encdata, $secret=null ) { if (DEBUG_ENABLED) - debug_log('pla_blowfish_decrypt(): Entered with (%s,%s)',2,$encdata,$secret); + debug_log('pla_blowfish_decrypt(): Entered with (%s,%s)',1,$encdata,$secret); global $config; @@ -3787,7 +2217,7 @@ function pla_blowfish_decrypt( $encdata, $secret=null ) { */ function draw_formatted_dn( $ldapserver, $dn ) { if (DEBUG_ENABLED) - debug_log('draw_formatted_dn(): Entered with (%s,%s)',2,$ldapserver->server_id,$dn); + debug_log('draw_formatted_dn(): Entered with (%s,%s)',1,$ldapserver->server_id,$dn); global $config; @@ -3809,7 +2239,7 @@ function draw_formatted_dn( $ldapserver, $dn ) { } else { $attr_name = str_replace( '%', '', $token ); - $attr_values = get_object_attr( $ldapserver, $dn, $attr_name ); + $attr_values = $ldapserver->getDNAttr($dn,$attr_name); if( null == $attr_values ) $display = 'none'; @@ -3823,20 +2253,7 @@ function draw_formatted_dn( $ldapserver, $dn ) { $format = str_replace( $token, $display, $format ); } } - echo $format; -} - -/** - * Gets the date format from the config - default locale if none. - * @deprecated - */ -function get_date_format() { - if (DEBUG_ENABLED) - debug_log('get_date_format(): Entered with ()',2); - - global $config; - - return $config->GetValue('appearance','date'); + return $format; } /** @@ -3844,7 +2261,7 @@ function get_date_format() { */ function shadow_date( $attrs, $attr) { if (DEBUG_ENABLED) - debug_log('shadow_date(): Entered with (%s,%s)',2,serialize($attrs),$attr); + debug_log('shadow_date(): Entered with (%s,%s)',1,$attrs,$attr); $shadowLastChange = isset($attrs['shadowLastChange']) ? $attrs['shadowLastChange'][0] : null; $shadowMax = isset($attrs['shadowMax']) ? $attrs['shadowMax'][0] : null; @@ -3881,17 +2298,17 @@ function shadow_date( $attrs, $attr) { */ function clean_search_vals( $val ) { if (DEBUG_ENABLED) - debug_log('clean_search_vals(): Entered with (%s)',2,$val); + debug_log('clean_search_vals(): Entered with (%s)',1,$val); # Remove any escaped brackets already. - $val = preg_replace("/\\\\([\(\)])/","$1",$val); + $val = preg_replace('/\\\\([\(\)])/','$1',$val); # The string might be a proper search filter - if (preg_match("/^\([&\|]\(/",$val)) + if (preg_match('/^\([&\|!]\(/',$val) || (preg_match('/\(([^\(|\)])*\)/',$val))) return $val; else - return preg_replace("/([\(\)])/","\\\\$1",$val); + return preg_replace('/([\(\)])/','\\\\$1',$val); } /** @@ -3899,7 +2316,7 @@ function clean_search_vals( $val ) { */ function server_select_list ($select_id=null,$only_logged_on=true,$select_name='server_id',$js_script=null) { if (DEBUG_ENABLED) - debug_log('server_select_list(): Entered with (%s,%s,%s,%s)',2,$select_id,$only_logged_on,$select_name,$js_script); + debug_log('server_select_list(): Entered with (%s,%s,%s,%s)',1,$select_id,$only_logged_on,$select_name,$js_script); global $ldapservers; @@ -3929,7 +2346,7 @@ function server_select_list ($select_id=null,$only_logged_on=true,$select_name=' return $server_menu_html; elseif ($count) - return sprintf('%s ', + return sprintf('%s ', $server->name,$select_name,$server->server_id); else @@ -3953,7 +2370,7 @@ function server_info_list() { } if (DEBUG_ENABLED) - debug_log('server_info_list(): Entered with (), Returning (%s)',1,serialize($server_info_list)); + debug_log('server_info_list(): Entered with (), Returning (%s)',1,$server_info_list); return $server_info_list; } @@ -3961,70 +2378,85 @@ function server_info_list() { /** * Debug Logging to Syslog * - * If the log level of the message is less than the log level of the debug setting in the config file - * then log the message to syslog. + * The global debug level is turned on in your configuration file by setting: + * + * $config->custom->debug['level'] = 255; + * + * together with atleast one output direction (currently file and syslog are supported). + * + * $config->custom->debug['file'] = '/tmp/pla_debug.log'; + * $config->custom->debug['syslog'] = true; + * * - * This has been extended to allow multiple arguments after the level. - * If this form is used then the $msg is treated as a sprintf format - * and the remaining arguments are passed to this. The advantage of this - * is that the string is only composed if the message is going to be logged. + * The debug level is turned into binary, then if the message levels bit is on + * the message will be sent to the debug log. (Thus setting your debug level to 255, + * all bits on, will results in all messages being printed.) * - * Suggested logging level messages: - * 1 = Return results from function calls. - * 2 = Entry parameters to function calls. - * 3 = CACHE returning indications - * 4 = High level processing - * 5 = 2nd level processing - * 9 = Very verbose (describing what the code is doing) + * The message level bits are defined here. + * 0( 1) = Entry/Return results from function calls. + * 1( 2) = Configuration Processing + * 2( 4) = Template Processing + * 3( 8) = Schema Processing + * 4( 16) = LDAP Server Communication + * 5( 32) = Tree Processing + * 7( 64) = Other non generic messages * @param string $msg Message to send to syslog - * @param int $level Log level of this message. + * @param int $level Log bit number for this message. * @see syslog.php */ function debug_log($msg,$level=0) { - global $config,$debug_file; + global $config,$debug_file,$timer; # In case we are called before we are fully initialised or if debugging is not set. if (! isset($config) || ! ($config->GetValue('debug','file') || $config->GetValue('debug','syslog'))) return false; $debug_level = $config->GetValue('debug','level'); - if (! $debug_level) - $debug_level = -1; - if ($level > $debug_level) - return false; - + if (! $debug_level || (! ($level & $debug_level))) + return; + $caller = basename( $_SERVER['PHP_SELF'] ); if (func_num_args() > 2) { $args = func_get_args(); - unset($args[0]); - unset($args[1]); - $msg = vsprintf($msg, array_values($args)); - } - - if ($level <= $debug_level) { - $debug_message = sprintf('%s(%s): %s',basename($_SERVER['PHP_SELF']),$level,substr($msg,0,200)); - - if ($debug_file || $config->GetValue('debug','file')) { - if (! $debug_file) - $debug_file = fopen($config->GetValue('debug','file'),'w'); -//@todo: change this to append. - - fwrite($debug_file,$debug_message."\n"); + array_shift($args); + array_shift($args); + $fargs = array(); + foreach ($args as $key) { + if (is_array($key) || is_object($key)) + array_push($fargs,serialize($key)); + else + array_push($fargs,$key); } - - if ($config->GetValue('debug','syslog')) - syslog_notice($debug_message); + $msg = vsprintf($msg, array_values($fargs)); } + + if (function_exists('stopwatch')) + $timer = stopwatch(); + else + $timer = null; + + $debug_message = sprintf('[%2.3f] %s(%s): %s',$timer,basename($_SERVER['PHP_SELF']),$level,substr($msg,0,200)); + + if ($debug_file || $config->GetValue('debug','file')) { + if (! $debug_file) + $debug_file = fopen($config->GetValue('debug','file'),'a'); + + fwrite($debug_file,$debug_message."\n"); + } + + if ($config->GetValue('debug','syslog')) + syslog_notice($debug_message); + return syslog_notice( sprintf('%s(%s): %s',$caller,$level,$msg) ); } -function enc_type_select_list($enc_type) { +function enc_type_select_list($enc_type) { if (DEBUG_ENABLED) - debug_log('enc_type_select_list(): Entered with (%s)',2,$enc_type); + debug_log('enc_type_select_list(): Entered with (%s)',1,$enc_type); - $html = ''; $html .= ''; foreach (array('crypt','ext_des','md5crypt','blowfish','md5','smd5','sha','ssha') as $option) @@ -4038,7 +2470,7 @@ function enc_type_select_list($enc_type) { // Converts a little-endian hex-number to one, that 'hexdec' can convert function littleEndian($hex) { if (DEBUG_ENABLED) - debug_log('littleEndian(): Entered with (%s)',2,$hex); + debug_log('littleEndian(): Entered with (%s)',1,$hex); $result = ''; @@ -4050,7 +2482,7 @@ function littleEndian($hex) { function binSIDtoText($binsid) { if (DEBUG_ENABLED) - debug_log('binSIDtoText(): Entered with (%s)',2,$binsid); + debug_log('binSIDtoText(): Entered with (%s)',1,$binsid); $hex_sid=bin2hex($binsid); $rev = hexdec(substr($hex_sid,0,2)); // Get revision-part of SID @@ -4076,7 +2508,7 @@ if (! function_exists('session_cache_expire')) { function session_cache_expire() { if (defined('DEBUG_ENABLED') && (DEBUG_ENABLED)) - debug_log('session_cache_expire(): Entered with ()',2); + debug_log('session_cache_expire(): Entered with ()',1); return 180; } @@ -4089,18 +2521,30 @@ if (! function_exists('session_cache_expire')) { * @param bool $rev Whether to reverse sort. * @returnn array $data Sorted multi demension array. */ -function masort(&$data, $sortby, $rev=0) { +function masort(&$data,$sortby,$rev=0) { if (DEBUG_ENABLED) - debug_log('masort(): Entered with (%s,%s,%s)',2,serialize($data),$sortby,$rev); + debug_log('masort(): Entered with (%s,%s,%s)',1,$data,$sortby,$rev); static $sort_funcs = array(); if (empty($sort_funcs[$sortby])) { $code = "\$c=0;\n"; - foreach (split(',', $sortby) as $key) { + foreach (split(',',$sortby) as $key) { + $code .= "if (is_object(\$a) || is_object(\$b)) {\n"; + $code .= " if (\$a->$key != \$b->$key)\n"; + + if ($rev) + $code .= " return (\$a->$key < \$b->$key ? -1 : 1);\n"; + else + $code .= " return (\$a->$key > \$b->$key ? -1 : 1);\n"; + + $code .= "} else {\n"; + $code .= "if ((! isset(\$a['$key'])) && (! isset(\$b['$key']))) return 0;\n"; $code .= "if ((! isset(\$a['$key'])) && isset(\$b['$key'])) return -1;\n"; $code .= "if (isset(\$a['$key']) && (! isset(\$b['$key']))) return 1;\n"; + + $code .= "if (is_numeric(\$a['$key']) && is_numeric(\$b['$key'])) {\n"; $code .= " if (\$a['$key'] != \$b['$key'])\n"; @@ -4115,15 +2559,17 @@ function masort(&$data, $sortby, $rev=0) { $code .= " if ( (\$c = strcasecmp(\$b['$key'],\$a['$key'])) != 0 ) return \$c;\n"; else $code .= " if ( (\$c = strcasecmp(\$a['$key'],\$b['$key'])) != 0 ) return \$c;\n"; - $code .= "}\n"; + $code .= "}}\n"; } $code .= 'return $c;'; - $sort_func = $sort_funcs[$sortby] = create_function('$a, $b', $code); + $sort_func = $sort_funcs[$sortby] = create_function('$a, $b',$code); + } else { $sort_func = $sort_funcs[$sortby]; } + $sort_func = $sort_funcs[$sortby]; - uasort($data, $sort_func); + uasort($data,$sort_func); } /** @@ -4137,12 +2583,12 @@ function masort(&$data, $sortby, $rev=0) { */ function return_ldap_hash($ldapserver,$base_dn,$filter,$key,$attrs) { if (DEBUG_ENABLED) - debug_log('return_ldap_hash(): Entered with (%s,%s,%s,%s,%s)',2, + debug_log('return_ldap_hash(): Entered with (%s,%s,%s,%s,%s)',0, $ldapserver->server_id,$base_dn,$filter,$key,count($attrs)); - $ldapquery = pla_ldap_search($ldapserver,$filter,$base_dn,$attrs); + $ldapquery = $ldapserver->search(null,$base_dn,$filter,$attrs); - $results = array(); + $results = array(); foreach ($ldapquery as $dn => $dnattrs) { foreach ($attrs as $attr) { @@ -4162,7 +2608,7 @@ function debug_dump($variable,$die=false) { } /** - * This function returns a string automatically generated + * This function returns a string automatically generated * based on the criteria defined in the array $criteria in config.php */ function password_generate() { @@ -4241,7 +2687,7 @@ function password_generate() { * This function returns an array of $num_req values * randomly picked from the $input array * - * @param array of values + * @param array of values * @param integer, number of values in returned array * @return string the padded string */ @@ -4269,7 +2715,7 @@ function a_array_rand($input,$num_req) { } if (DEBUG_ENABLED) - debug_log('a_array_rand(): Entered with (%s,%s), Returning (%s)',1,serialize($input),$num_req,serialize($return)); + debug_log('a_array_rand(): Entered with (%s,%s), Returning (%s)',1,$input,$num_req,$return); return $return; } @@ -4277,12 +2723,12 @@ function a_array_rand($input,$num_req) { /** * Returns the cached array of LDAP resources. * - * Note that internally, this function utilizes a two-layer cache, + * Note that internally, this function utilizes a two-layer cache, * one in memory using a static variable for multiple calls within * the same page load, and one in a session for multiple calls within * the same user session (spanning multiple page loads). * - * @return Returns the cached attributed requested, + * @return Returns the cached attributed requested, * or null if there is nothing cached.. */ function get_cached_item($server_id,$item,$subitem='null') { @@ -4294,26 +2740,26 @@ function get_cached_item($server_id,$item,$subitem='null') { # Check config to make sure session-based caching is enabled. if ($config->GetValue('cache',$item)) { - static $cache; + global $cache; if (isset($cache[$server_id][$item][$subitem])) { if (DEBUG_ENABLED) - debug_log('get_cached_item(): Returning MEMORY cached [%s] (%s)',3,$item,$subitem); + debug_log('get_cached_item(): Returning MEMORY cached [%s] (%s)',1,$item,$subitem); $return = $cache[$server_id][$item][$subitem]; } elseif (isset($_SESSION['cache'][$server_id][$item][$subitem])) { if (DEBUG_ENABLED) - debug_log('get_cached_item(): Returning SESSION cached [%s] (%s)',3,$item,$subitem); + debug_log('get_cached_item(): Returning SESSION cached [%s] (%s)',1,$item,$subitem); $return = $_SESSION['cache'][$server_id][$item][$subitem]; $cache[$server_id][$item][$subitem] = $return; - } + } } if (DEBUG_ENABLED) debug_log('get_cached_item(): Entered with (%s,%s,%s), Returning (%s)',1, - $server_id,$item,$subitem,serialize($return)); + $server_id,$item,$subitem,count($return)); return $return; } @@ -4325,14 +2771,14 @@ function get_cached_item($server_id,$item,$subitem='null') { */ function set_cached_item($server_id,$item,$subitem='null',$data) { if (DEBUG_ENABLED) - debug_log('set_cached_item(): Entered with (%s,%s,%s,%s)',2,$server_id,$item,$subitem,serialize($data)); + debug_log('set_cached_item(): Entered with (%s,%s,%s,%s)',1,$server_id,$item,$subitem,$data); global $config; # Check config to make sure session-based caching is enabled. if ($config->GetValue('cache',$item)) { + global $cache; - static $cache; $cache[$server_id][$item][$subitem] = $data; $_SESSION['cache'][$server_id][$item][$subitem] = $data; return true; @@ -4341,46 +2787,23 @@ function set_cached_item($server_id,$item,$subitem='null',$data) { return false; } -/** - * Get the LDAP base DN for a named DN. - * - * @param string $dn DN in question - * @param object $ldapserver Server ID where DN is located - * @return string $base_dn - */ -function dn_get_base($ldapserver,$dn) { - foreach ($ldapserver->getBaseDN() as $base_dn) { - if (preg_match("/".$base_dn."$/",$dn)) - return $base_dn; - } - - return null; -} - /** * Draws an HTML date selector button which, when clicked, pops up a date selector dialog. * @param string $attr The name of the date type attribute */ function draw_date_selector_link( $attr ) { - debug_log(sprintf('draw_date_selector_link(): Entered with (%s)',$attr),2); - - global $lang; + debug_log('draw_date_selector_link(): Entered with (%s)',1,$attr); $href = "javascript:dateSelector('$attr');"; - - $title = $lang['date_selector_link']; - - printf('',$href,$title,$attr); - echo ""; + $title = _('Click to popup a dialog to select a date graphically'); + printf('',$href,$title,$attr); } -# @deprecated -function get_schema_attribute ($object,$attr,$dn) { - return $object->getSchemaAttribute($attr,$dn); +function no_expire_header() { + 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-store, no-cache, must-revalidate'); + header('Cache-Control: post-check=0, pre-check=0', false); + header('Pragma: no-cache'); } -# @deprecated -function get_schema_objectclass ($object,$oclass) { - return $object->getSchemaObjectClass($oclass); -} - ?> diff --git a/lib/ldif_functions.php b/lib/ldif_functions.php index d071e13..7442e2a 100644 --- a/lib/ldif_functions.php +++ b/lib/ldif_functions.php @@ -1,97 +1,95 @@ dn = $dn; + $this->changeType = $changeType; + $this->attributes = $atts; + } - /** - * Creates a new LdifEntry, with optionally specified DN, changeType, and attributes. - * - * @param String $dn the distinguished name of the entry. Default is set to an empty string - * @param String $changeType the change type associated with the entry. Default is set to add. - * @param String[] $atts the attributes of the entry - */ - function LdifEntry($dn="",$changeType="add",$atts = array()){ - $this->dn=$dn; - $this->changeType=$changeType; - $this->attributes=$atts; - } + /** + * Return the dn of the entry + * + * @return String the dn of the entry + */ + function getDn() { + return $this->dn; + } - /** - * Return the dn of the entry - * - * @return String the dn of the entry - */ - function getDn(){ - return $this->dn; - } + /** + * Setter method for the distinguished name + * + * @param String $dn the distinguished name of the entry + */ + function setDn($dn) { + $this->dn = $dn; + } - /** - * Setter method for the distinguished name - * - * @param String $dn the distinguished name of the entry - */ - function setDn($dn){ - $this->dn = $dn; - } + /** + * Getter method for the change type + * + * @return String the change type of the entry + */ + function getChangeType() { + return $this->changeType; + } - /** - * Getter method for the change type - * - * @return String the change type of the entry - */ - function getChangeType(){ - return $this->changeType; - } - - /** - * Setter method for the change type of the entry - * - * @param String $changeType the change type of the entry - */ - function setChangeType($changeType){ - $this->changeType = $changeType; - } - - /** - * Add the attributes to the entry - * - * @param String[][] $atts the attributes of the entry - */ - function setAttributes($atts){ - $this->attributes = $atts; - } + /** + * Setter method for the change type of the entry + * + * @param String $changeType the change type of the entry + */ + function setChangeType($changeType) { + $this->changeType = $changeType; + } - /** - * Get the attributes of the entry - * - * @return String[][] the attributes of the entry - */ - function getAttributes(){ - return $this->attributes; - - } + /** + * Add the attributes to the entry + * + * @param String[][] $atts the attributes of the entry + */ + function setAttributes($atts) { + $this->attributes = $atts; + } + + /** + * Get the attributes of the entry + * + * @return String[][] the attributes of the entry + */ + function getAttributes() { + return $this->attributes; + + } } /** @@ -100,915 +98,949 @@ class LdifEntry{ * see comment for the class Ldif_LdapEntryReader * @package phpLDAPadmin */ +class LdifEntryReaderException { + var $lineNumber; + var $currentLine; + var $message; -class LdifEntryReaderException{ - - - var $lineNumber; - var $currentLine; - var $message; + /** + * Constructor of the exception + * + * @param int $lineNumber the number of the line where + * the error occured + * @param String currentLine the line wich raised an exception + * @param String the message associated the exception + */ - /** - * Constructor of the exception - * - * @param int $lineNumber the number of the line where - * the error occured - * @param String currentLine the line wich raised an exception - * @param String the message associated the exception - */ - - function LdifEntryReaderException($lineNumber,$currentLine,$message){ - $this->lineNumber = $lineNumber; - $this->currentLine =$currentLine; - $this->message = $message; - } + function LdifEntryReaderException($lineNumber,$currentLine,$message) { + $this->lineNumber = $lineNumber; + $this->currentLine =$currentLine; + $this->message = $message; + } } - /** * Class in charge of reading a paricular entry * @package phpLDAPadmin */ +class LdifEntryReader { + # The entry + var $entry; -class LdifEntryReader{ + # The lines of the entry fetch from the file + var $lines; - //the entry - var $entry; + # The dn of the entry + var $dn=''; - // the lines of the entry fetch from the file - var $lines; + # Error flag + var $_error; - // the dn of the entry - var $dn=""; + # The current line number of the entry; + var $_currentLineNumber; - // error flag - var $_error; + /** + * Constructor of the LdifEntryReader + * + * @param String[] $lines the line of the entry + */ + function LdifEntryReader() {} - // the current line number of the entry; - var $_currentLineNumber; - - /** - * Constructor of the LdifEntryReader - * - * @param String[] $lines the line of the entry - */ - function LdifEntryReader(){} - - function readLines(&$lines){ + function readLines(&$lines) { $this->lines = &$lines; - $this->_currentLineNumber = 1; - $this->_error = 0; + $this->_currentLineNumber = 1; + $this->_error = 0; } - /** - * Read the change type action associated with the entry - * - * @return String the change type action of the entry - */ - function _readChangeType(){ - $changeType ="add"; - $arr = array(); - - // no lines after the dn one - if(count($this->lines)==0){ - $this->lines[0] = ""; - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Missing attibutes or changetype attribute for entry",new LdifEntry($this->dn))); - } - // get the change type of the entry - elseif(ereg("changetype:[ ]*(delete|add|modrdn|moddn|modify)",$this->lines[0],$arr)){ - $changeType = $arr[1]; - array_shift($this->lines); - $this->_currentLineNumber++; - } - return $changeType; - } - - /** - * Check if the distinguished name is base 64 encoded - * - * @return boolean true if the dn is base 64 encoded, false otherwise - */ - function _isDnBase64Encoded($dn){ - return ereg("dn::",$dn)?1:0; - } - - /** - * Return the base64 decoded value of an attribute - * - * @param $attr the attribute to be decoded - * @return String base64 decoded value of an attribute - */ - function _getBase64DecodedValue($attr){ - return base64_decode(trim($attr)); - } - - /** - * Fetch the dn value from a line of the ldif file - * - * @param String $currentDnLine line with a distinguished name - * @return the value of the distinguished name - */ - function _getDnValue(){ - $currentDnLine=$this->lines[0]; - if($this->_isDNBase64Encoded($currentDnLine)){ - $currentDnValue = $this->_getBase64DecodedValue(substr($currentDnLine,4,strlen($currentDnLine)-1)); - }else{ - $currentDnValue = substr($currentDnLine,3,strlen($currentDnLine)-1); - } - // switch to the next line - array_shift($this->lines); - $this->_currentLineNumber++; - return trim($currentDnValue); - } + /** + * Read the change type action associated with the entry + * + * @return String the change type action of the entry + */ + function _readChangeType() { + $changeType = 'add'; + $arr = array(); - /** - * Check if the dn line is valid - * - * @return boolean true if the dn is valid, false otherwise. - */ - function isValidDn(){ - return ereg("^dn:",$this->lines[0])?1:0; - } + # No lines after the dn one + if (count($this->lines) == 0) { + $this->lines[0] = ''; + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Missing attibutes or changetype attribute for entry'),new LdifEntry($this->dn))); - /** - * Return the entry read from the ldif lines - * - * @return LdifEntry the entry - */ - function getEntry(){ - global $lang; + # Get the change type of the entry + } elseif (ereg('changetype:[ ]*(delete|add|modrdn|moddn|modify)',$this->lines[0],$arr)) { + $changeType = $arr[1]; + array_shift($this->lines); + $this->_currentLineNumber++; + } - // the dn is not valid, throw the exception and return the entry with the non valid dn - if (! $this->isValidDn() ){ - $dn = $this->lines[0]; - $changeType = $this->_readChangeType(); - //For the moment, overwrite the exception - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],$lang['valid_dn_line_required'],new LdifEntry($this->dn))); - return new LdifEntry( $dn , $changeType ); - } - - $dn=$this->_getDnValue(); - $changeType = $this->_readChangeType(); - $this->entry = new LdifEntry($dn,$changeType); - - if($changeType=="add"){ - $this->_getAddAttributes(); - } - elseif($changeType=="delete"){ - //do nothing - } - elseif($changeType=="modrdn"||$changeType=="moddn"){ - $this->_getModrdnAttributes(); - } - elseif($changeType=="modify"){ - $this->_getModifyAttributes(); - } - return $this->entry; - } - - /** - * Checked if the parsing of the entry has raised some exception - * - * @return bool true if the reading of the entry raised some exceptions, else otherwise. - */ - function hasRaisedException(){ - return $this->_error; - } - - /** - * Set the exception handler for the entry reader - * - * @param Ldap_ldifEntryReaderException the exception handler associate - * with the parsing error. - */ - - - function setLdifEntryReaderException($ldifEntryReaderException){ - $this->_error=1; - $this->_ldifEntryReaderException= $ldifEntryReaderException; - } - - - /** - * Return the exception handler of the entry Reader - * - * @return Ldap_LdifEntryReaderException the exception associate with - * the exception wich occur during parsing the file. - */ - function getLdifEntryReaderException(){ - return $this->_ldifEntryReaderException; - } - - /** - * Method to retrieve the attribute value of a ldif line, - * and get the base 64 decoded value if it is encoded - */ - function _getAttributeValue($attributeValuePart){ - $attribute_value=""; - if(substr($attributeValuePart,0,1)==":"){ - $attribute_value = $this->_getBase64DecodedValue(trim(substr($attributeValuePart,1))); - } - elseif(substr($attributeValuePart,0,1)=="<"){ - // we need to handle the case for the scheme "file://" as it - //doesn't seem to be supported by fopen - - $file_path_with_scheme= trim(substr($attributeValuePart,1)); - if(ereg("^file://",$file_path_with_scheme)){ - - $file_path = substr(trim($file_path_with_scheme),7); - if($handle = @fopen($file_path, "rb")){ - if(!$attribute_value = @fread($handle,filesize($file_path))){ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Unable to read file",$this->entry)); - } - @fclose($handle); - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Unable to open file",$this->entry)); - } - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"The url attribute value should begin with file:///",$this->entry)); - } - } - //it's a string - else{ - $attribute_value = $attributeValuePart; - } - return trim($attribute_value); - } - - - /** - * Build the attributes array when the change type is add. - */ - function _getAddAttributes(){ - - if(count($this->lines)==0){ - $this->lines[0]=""; - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Missing attributes for the entry",$this->entry)); - } - //$attrs =array(); - while(count($this->lines)!=0 &&$this->_error!=1){ - $currentLine = &$this->lines[0]; - // echo $this->_currentLineNumber; - if(ereg(":",$currentLine)){ - - //get the position of the character ":" - $pos = strpos($currentLine,":"); - - //get the description of the attribute - $attributeDescription = substr($currentLine,0, $pos); - - - // get the value part of the attribute - $attribute_value_part = trim(substr($currentLine,$pos+1,strlen($currentLine))); - $attribute_value = $this->_getAttributeValue($attribute_value_part); - $this->entry->attributes[$attributeDescription][] = trim($attribute_value); - //echo count($this->entry->attributes);; - // $this->entry->add($attrs); - array_shift($this->lines); - $this->_currentLineNumber++; - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Attribute not well formed",$this->entry)); - - //jetter l'exception - } - } - } - - /** - * Build the attributes array for the entry when the change type is modify - */ - function _getModifyAttributes(){ - if(count($this->lines)==0){ - $this->lines[0]=""; - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Missing attributes for the entry",$this->entry)); - } - - $numberModification=0; - - // while the array is not empty - while(count($this->lines)!=0 &&$this->_error!=1){ - $new_entry_mod = 0; - // get the current line with the action - $currentLine = &$this->lines[0]; - $attribute= explode(":",$currentLine); - - if(count($attribute)==2){ - $action_attribute = trim($attribute[0]); - $action_attribute_value =trim($attribute[1]); - - if($action_attribute != "add" && $action_attribute != "delete" && $action_attribute !="replace"){ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"The attribute name should be add, delete or replace",$this->entry)); + return $changeType; } - // put the action attribute in the array - $this->entry->attributes[$numberModification] = array(); - $this->entry->attributes[$numberModification][$action_attribute] = $this->_getAttributeValue($action_attribute_value); - $this->entry->attributes[$numberModification][$action_attribute_value] = array(); - - // fetching the attribute for the following line - array_shift($this->lines); - $currentLine=&$this->lines[0]; - $this->_currentLineNumber++; - - while(trim($currentLine)!="-" && $this->_error!=1 && count($this->lines)!=0 ){ - - // if there is a valid line - if(ereg(":",$currentLine)){ - //get the position of the character ":" - $pos = strpos($currentLine,":"); - //get the name of the attribute to modify - $attribute_name = substr($currentLine,0, $pos); - - //check that it correspond to the one specified before - if ($attribute_name == $action_attribute_value){ - - // get the value part of the attribute - $attribute_value_part = trim(substr($currentLine,$pos+1,strlen($currentLine))); - $attribute_value = $this->_getAttributeValue($attribute_value_part); - $this->entry->attributes[$numberModification][$attribute_name][]=$attribute_value; - array_shift($this->lines); - $this->_currentLineNumber++; - - if(count($this->lines)!=0) - $currentLine = &$this->lines[0]; - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"The attribute to modify doesn't match the one specified by the ".$action_attribute." attribute.",$this->entry)); - } - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Attribute is not valid",$this->entry)); - } - }// end inner while - - // we get a "-" charachter, we remove it from the array - if ($currentLine == "-"){ - array_shift($this->lines); - $this->_currentLineNumber++; + /** + * Check if the distinguished name is base 64 encoded + * + * @return boolean true if the dn is base 64 encoded, false otherwise + */ + function _isDnBase64Encoded($dn) { + return ereg('dn::',$dn) ? 1 : 0; } - $numberModification++; - } - } - } - /** - * Build the attributes for the entry when the change type is modrdn - */ - - function _getModrdnAttributes(){ - - $attrs = array(); - $numLines = count($this->lines); - if($numLines != 2 && $numLines !=3){ - if($numLines==0){ - $this->lines[0]=""; - } - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"The entry is not valid",$this->entry)); - } - else{ - $currentLine = $this->lines[0]; - - - //first we need to check if there is an new rdn specified - if(ereg("^newrdn:(:?)",$currentLine)){ - $attributeValue = $this->_getAttributeValue(trim(substr($currentLine,7))); - $attrs['newrdn']=$attributeValue; - - //switch to the deleteoldrdn attribute - array_shift($this->lines); - $this->_currentLineNumber++; -$arr=array(); - if(ereg("^deleteoldrdn:[ ]*(0|1)",$this->lines[0],$arr)){ - $attrs['deleteoldrdn'] = $arr[1]; - - //switch to the possible new superior attribute - if($numLines>2){ - array_shift($this->lines); - $this->_currentLineNumber++; - $currentLine = $this->lines[0]; - - //then the possible new superior attribute - //if(trim($currentLine)!=""){ - - if(ereg("^newsuperior:",$currentLine)){ - $attrs['newsuperior'] = $this->_getAttributeValue(trim(substr($currentLine,12))); - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"the attribute name should be newsuperior",$this->entry)); - } + /** + * Return the base64 decoded value of an attribute + * + * @param $attr the attribute to be decoded + * @return String base64 decoded value of an attribute + */ + function _getBase64DecodedValue($attr) { + return base64_decode(trim($attr)); } - else{ - //as the first character is not ,,we "can write it this way for teh moment" - if($pos = strpos($this->entry->dn,",")){ - $attrs['newsuperior'] = substr($this->entry->dn,$pos+1); - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"Container is null",$this->entry)); + + /** + * Fetch the dn value from a line of the ldif file + * + * @param String $currentDnLine line with a distinguished name + * @return the value of the distinguished name + */ + function _getDnValue() { + $currentDnLine = $this->lines[0]; + if ($this->_isDNBase64Encoded($currentDnLine)) + $currentDnValue = $this->_getBase64DecodedValue(substr($currentDnLine,4,strlen($currentDnLine)-1)); + else + $currentDnValue = substr($currentDnLine,3,strlen($currentDnLine)-1); + + # switch to the next line + array_shift($this->lines); + $this->_currentLineNumber++; + + return trim($currentDnValue); + } + + /** + * Check if the dn line is valid + * + * @return boolean true if the dn is valid, false otherwise. + */ + function isValidDn() { + return ereg('^dn:',$this->lines[0]) ? 1 : 0; + } + + /** + * Return the entry read from the ldif lines + * + * @return LdifEntry the entry + */ + function getEntry() { + # the dn is not valid, throw the exception and return the entry with the non valid dn + if (! $this->isValidDn()) { + $dn = $this->lines[0]; + $changeType = $this->_readChangeType(); + + # For the moment, overwrite the exception + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('A valid dn line is required.'),new LdifEntry($this->dn))); + + return new LdifEntry($dn,$changeType); + } + + $dn = $this->_getDnValue(); + $changeType = $this->_readChangeType(); + $this->entry = new LdifEntry($dn,$changeType); + + if ($changeType == 'add') { + $this->_getAddAttributes(); + + } elseif ($changeType == 'delete') { + # Do nothing + + } elseif ($changeType == 'modrdn' || $changeType == 'moddn') { + $this->_getModrdnAttributes(); + + } elseif ($changeType == 'modify') { + $this->_getModifyAttributes(); + } + + return $this->entry; + } + + /** + * Checked if the parsing of the entry has raised some exception + * + * @return bool true if the reading of the entry raised some exceptions, else otherwise. + */ + function hasRaisedException() { + return $this->_error; + } + + /** + * Set the exception handler for the entry reader + * + * @param Ldap_ldifEntryReaderException the exception handler associate + * with the parsing error. + */ + function setLdifEntryReaderException($ldifEntryReaderException) { + $this->_error=1; + $this->_ldifEntryReaderException= $ldifEntryReaderException; + } + + /** + * Return the exception handler of the entry Reader + * + * @return Ldap_LdifEntryReaderException the exception associate with + * the exception wich occur during parsing the file. + */ + function getLdifEntryReaderException() { + return $this->_ldifEntryReaderException; + } + + /** + * Method to retrieve the attribute value of a ldif line, + * and get the base 64 decoded value if it is encoded + */ + function _getAttributeValue($attributeValuePart) { + $attribute_value = ''; + + if (substr($attributeValuePart,0,1) == ':') { + $attribute_value = $this->_getBase64DecodedValue(trim(substr($attributeValuePart,1))); + + } elseif (substr($attributeValuePart,0,1) == '<') { + /* we need to handle the case for the scheme "file://" as it + doesn't seem to be supported by fopen */ + + $file_path_with_scheme = trim(substr($attributeValuePart,1)); + if (ereg('^file://',$file_path_with_scheme)) { + + $file_path = substr(trim($file_path_with_scheme),7); + if ($handle = @fopen($file_path,'rb')) { + if (! $attribute_value = @fread($handle,filesize($file_path))) { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Unable to read file'),$this->entry)); + } + @fclose($handle); + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Unable to open file'),$this->entry)); + } + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('The url attribute value should begin with file:///'),$this->entry)); + } + + # It's a string + } else { + $attribute_value = $attributeValuePart; + } + + return trim($attribute_value); + } + + /** + * Build the attributes array when the change type is add. + */ + function _getAddAttributes() { + if (count($this->lines) == 0) { + $this->lines[0] = ''; + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Missing attributes for the entry'),$this->entry)); + } + + while (count($this->lines)!=0 &&$this->_error!=1) { + $currentLine = &$this->lines[0]; + + if (ereg(':',$currentLine)) { + # get the position of the character ":" + $pos = strpos($currentLine,':'); + + # get the description of the attribute + $attributeDescription = substr($currentLine,0, $pos); + + # get the value part of the attribute + $attribute_value_part = trim(substr($currentLine,$pos+1,strlen($currentLine))); + $attribute_value = $this->_getAttributeValue($attribute_value_part); + $this->entry->attributes[$attributeDescription][] = trim($attribute_value); + array_shift($this->lines); + $this->_currentLineNumber++; + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Attribute not well formed'),$this->entry)); + + //jetter l'exception + } + } + } + + /** + * Build the attributes array for the entry when the change type is modify + */ + function _getModifyAttributes() { + if (count($this->lines)==0) { + $this->lines[0] = ''; + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Missing attributes for the entry'),$this->entry)); + } + + $numberModification = 0; + + # while the array is not empty + while (count($this->lines) != 0 && $this->_error != 1) { + $new_entry_mod = 0; + + # get the current line with the action + $currentLine = &$this->lines[0]; + $attribute= explode(':',$currentLine); + + if (count($attribute) == 2) { + $action_attribute = trim($attribute[0]); + $action_attribute_value = trim($attribute[1]); + + if ($action_attribute != 'add' && $action_attribute != 'delete' && $action_attribute != 'replace') { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('The attribute name should be add, delete or replace'),$this->entry)); + } + + # put the action attribute in the array + $this->entry->attributes[$numberModification] = array(); + $this->entry->attributes[$numberModification][$action_attribute] = + $this->_getAttributeValue($action_attribute_value); + $this->entry->attributes[$numberModification][$action_attribute_value] = array(); + + # fetching the attribute for the following line + array_shift($this->lines); + $currentLine = &$this->lines[0]; + $this->_currentLineNumber++; + + while (trim($currentLine)!= '-' && $this->_error != 1 && count($this->lines)!=0) { + # if there is a valid line + if (ereg(':',$currentLine)) { + # get the position of the character ":" + $pos = strpos($currentLine,':'); + + # get the name of the attribute to modify + $attribute_name = substr($currentLine,0,$pos); + + # check that it correspond to the one specified before + if ($attribute_name == $action_attribute_value) { + # get the value part of the attribute + $attribute_value_part = trim(substr($currentLine,$pos+1,strlen($currentLine))); + $attribute_value = $this->_getAttributeValue($attribute_value_part); + $this->entry->attributes[$numberModification][$attribute_name][] = $attribute_value; + $this->_currentLineNumber++; + array_shift($this->lines); + + if (count($this->lines) != 0) + $currentLine = &$this->lines[0]; + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + sprintf(_('The attribute to modify doesnt match the one specified by the %s attribute.'),$action_attribute), + $this->entry)); + } + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Attribute is not valid'),$this->entry)); + } + } # end inner while + + # we get a "-" charachter, we remove it from the array + if ($currentLine == '-') { + array_shift($this->lines); + $this->_currentLineNumber++; + } + + $numberModification++; + } + } + } + + /** + * Build the attributes for the entry when the change type is modrdn + */ + function _getModrdnAttributes() { + $attrs = array(); + $numLines = count($this->lines); + + if ($numLines != 2 && $numLines !=3) { + if ($numLines==0) + $this->lines[0] = ''; + + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('The entry is not valid'),$this->entry)); + + } else { + $currentLine = $this->lines[0]; + + # first we need to check if there is an new rdn specified + if (ereg('^newrdn:(:?)',$currentLine)) { + $attributeValue = $this->_getAttributeValue(trim(substr($currentLine,7))); + $attrs['newrdn']=$attributeValue; + + # /switch to the deleteoldrdn attribute + array_shift($this->lines); + $this->_currentLineNumber++; + $arr=array(); + + if(ereg('^deleteoldrdn:[ ]*(0|1)',$this->lines[0],$arr)) { + $attrs['deleteoldrdn'] = $arr[1]; + + # switch to the possible new superior attribute + if ($numLines>2) { + array_shift($this->lines); + $this->_currentLineNumber++; + $currentLine = $this->lines[0]; + + # then the possible new superior attribute + if(ereg('^newsuperior:',$currentLine)) { + $attrs['newsuperior'] = $this->_getAttributeValue(trim(substr($currentLine,12))); + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('The attribute name should be newsuperior'),$this->entry)); + } + + } else { + # As the first character is not ,,we "can write it this way for teh moment" + if ($pos = strpos($this->entry->dn,',')) { + $attrs['newsuperior'] = substr($this->entry->dn,$pos+1); + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('Container is null'),$this->entry)); + } + } + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('A valid deleteoldrdn attribute should be specified'),$this->entry)); + } + + } else { + $this->setLdifEntryReaderException( + new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0], + _('A valid newrdn attribute should be specified'),$this->entry)); + } + + $this->entry->attributes = $attrs; + } } - } - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"a valid deleteoldrdn attribute should be specified",$this->entry)); - } - } - else{ - $this->setLdifEntryReaderException(new LdifEntryReaderException($this->_currentLineNumber,$this->lines[0],"a valid newrdn attribute should be specified",$this->entry)); - } - $this->entry->attributes = $attrs; - } - } } /** * Exception which can be raised during processing the ldif file * @package phpLDAPadmin */ +class LdifReaderException { + var $lineNumber; + var $message; + var $currentLine; -class LdifReaderException{ - - var $lineNumber; - var $message; - var $currentLine; - - /** - * Constructor of the exception - * - * @param int $lineNumber the number of the line where - * the error occured - * @param String currentLine the line wich raised an exception - * @param String the message associated the exception - */ - function LdifReaderException($lineNumber,$currentLine,$message){ - $this->lineNumber = $lineNumber; - $this->currentLine =$currentLine; - $this->message = $message; - } + /** + * Constructor of the exception + * + * @param int $lineNumber the number of the line where the error occured + * @param String currentLine the line wich raised an exception + * @param String the message associated the exception + */ + function LdifReaderException($lineNumber,$currentLine,$message) { + $this->lineNumber = $lineNumber; + $this->currentLine =$currentLine; + $this->message = $message; + } } /** * Helper base class to read file. * @package phpLDAPadmin */ +class Reader { + # The current line number + var $_currentLineNumber; -class FileReader{ - - //the file pointer - var $_fp; - - //the current line number - var $_currentLineNumber; + # The current line + var $_currentLine; - // the current line - var $_currentLine; + # The current entry + var $_currentEntry; - /** - * Constructor of the FileReader class - * @param $path2File - */ + # Array containing the lines of the current entry + var $_currentLines; - function FileReader($path2File){ - $this->_fp = fopen ($path2File, "r"); - } + # Warning message. Only use for the verion number + var $_warningMessage; - /** - * Returns true if we reached the end of the file. - * - * @return bool true if it's the end of file, false otherwise. - */ - - function eof(){ - return @feof($this->_fp); - } + # Warning version number. + var $_warningVersion; - /** - * Helper method to switch to the next line - */ - - function _nextLine(){ - - //$nextLine=""; - $this->_currentLineNumber++; - $nextLine = fgets($this->_fp, 1024); - $this->_currentLine = $nextLine; - - //need to check if it is a very long line (not folded line for example) - while(!ereg("\n|\r\n|\r",$nextLine) && !$this->eof()){ - $nextLine = fgets($this->_fp, 1024); - $this->_currentLine.= trim($nextLine); - } - } + # Boolean flag for error + var $_error; - /** - * Check if is the current line is a blank line. - * - * @return bool if it is a blank line,false otherwise. - */ - - function _isBlankLine(){ - return(trim($this->_currentLine)=="")?1:0; - } + # Continuous mode operation flag + var $continuous_mode; - /** - * Close the handler - */ - function close(){ - return @fclose($this->_fp); - } + /** + * Check if the ldif version is present in the ldif + * + * @return true if a version line was found,false otherwise + */ + function hasVersionNumber() { + $ldifLineFound = 0; + + while (! $this->eof() && ! $ldifLineFound) { + + # fetch the first line + $this->_nextLine(); + + # if it's a ldif comment line or a blank line,leave it and continue + if ($this->_isCommentLine() || $this->_isBlankLine()) { + # Do nothing + + } elseif (ereg('^version',trim($this->_currentLine))) { + $ldifLineFound = 1; + $this->_nextLine(); + + } else { + $this->_warningVersion = 1; + $this->_warningMessage = _('No version found. Assuming 1.'); + $ldifLineFound = 1; + } + } # end while loop + + return $this->_warningVersion; + } + + function getWarningMessage() { + return $this->_warningMessage; + } + + /** + * Check if is the current line is a blank line. + * + * @return bool if it is a blank line,false otherwise. + */ + function _isBlankLine() { + return(trim($this->_currentLine) == '') ? 1 : 0; + } + + /** + * Private constructor of the LDIFReader class. + * Marked as private as we need to instantiate the class + * by using other constructor with parameters + * Use to initialize instance members. + */ + function _LdifReader() { + $this->_error = 0; + $this->_warning = 0; + $this->_currentLineNumber = 0; + $this->_currentLines = array(); + $this->_warningMessage = ''; + $this->_warningVersion = ''; + $this->ldifEntryReader = new LdifEntryReader(); + $this->_currentEntry = new LdifEntry(); + } + + /** + * Returns the lines that generated the Ldif Entry. + * + * @return String[] The lines from the entry. + */ + function getCurrentLines() { + return $this->_currentLines; + } + + /** + * Check if it's a ldif comment line. + * + * @return bool true if it's a comment line,false otherwise + */ + function _isCommentLine() { + return substr(trim($this->_currentLine),0,1) == '#' ? 1 : 0; + } + + /** + * Check if the current line is a line containing the distinguished + * name of an entry. + * + * @return bool true if the line contains a dn line, false otherwise. + */ + function _isDnLine() { + return ereg('^dn:',$this->_currentLine) ? 1 : 0; + } + + /** + * Return the current entry as an object + * + * @return Ldap_Ldif_entry the current ldif entry + */ + function fetchEntryObject() { + return $this->_currentEntry; + } + + /** + * Return the current entry as an array + * + */ + function fetchEntryArray() {} + + /** + * Return the entry as it is. + * + * @return String[] The lines from the entry. + */ + function fetchEntryRaw() { + return getCurrentLines(); + } + + /** + * Get the lines of the next entry + * + * @return String[] the lines (unfolded) of the next entry + */ + function nextLines() { + $endEntryFound = 0; + # Free the array (instance member) + unset($this->_currentLines); + + # Reset the error state + $this->_error = 0; + + if ($this->_hasMoreEntries() && !$this->eof()) { + # the first line is the dn one + $this->_currentLines[0]= trim($this->_currentLine); + + $count=0; + + # while we end on a blank line, fetch the attribute lines + while (!$this->eof() && !$endEntryFound) { + # fetch the next line + $this->_nextLine(); + + /* If the next line begin with a space, we append it to the current row + else we push it into the array (unwrap)*/ + + if (substr($this->_currentLine,0,1) == ' ') { + $this->_currentLines[$count] .= trim($this->_currentLine); + + } elseif (substr($this->_currentLine,0,1) == '#') { + # Do nothing + + } elseif (trim($this->_currentLine) != '') { + $this->_currentLines[++$count] = trim($this->_currentLine); + + } else { + $endEntryFound=1; + } + } # end while + + # return the ldif entry array + return $this->_currentLines; + + } else { + return false; + } + } + + /** + * Private method to check if there is more entries in the file + * + * @return boolean true if an entry was found, false otherwise. + */ + function _hasMoreEntries() { + $entry_found = 0; + + while (!$this->eof() && !$entry_found) { + # if it's a comment or blank line,switch to the next line + if ($this->_isCommentLine() || $this->_isBlankLine()) { + # Do nothing + $this->_nextLine(); + + } else { + $this->_currentDnLine = $this->_currentLine; + $this->dnLineNumber = $this->_currentLineNumber; + $entry_found = 1; + } + } + return $entry_found; + } + + /** + * Associate the ldif reader with a exception which occurs during + * proceesing the file. + * Easier to do exception if we had to switch to php5 + * + * @param Ldap_LdifReaderException $ldifReaderException + */ + function setLdapLdifReaderException($ldifReaderException) { + $this->_ldifReaderException = $ldifReaderException; + + if (!$this->continuous_mode) + $this->done(); + + $this->_error = 1; + } + + /** + * Return the exception raised during processing the file + * + * @return Ldap_ldifReaderException + */ + function getLdapLdifReaderException() { + return $this->_ldifReaderException; + } + + /** + * Helper method which return the value + * of the instance member $_error + * + * @return true if an error was encountered, false otherwise + */ + function _ldifHasError() { + return $this->_error; + } + + function hasRaisedException() { + return $this->_error; + } + + /** + * Return a ldif entry object + * + * @return LdifEntry the entry object buid from the lines of the ldif file + */ + function readEntry() { + if ($lines = $this->nextLines()) { + $this->ldifEntryReader->readLines($lines); + + # fetch entry + $entry = $this->ldifEntryReader->getEntry(); + $this->_currentEntry = $entry; + + # if any exception has raised, catch it and throw it to the main reader + if ($this->ldifEntryReader->hasRaisedException()) { + $exception = $this->ldifEntryReader->getLdifEntryReaderException(); + $faultyLineNumber = $this->dnLineNumber + $exception->lineNumber - 1; + $this->setLdapLdifReaderException( + new LdifReaderException($faultyLineNumber,$exception->currentLine,$exception->message)); + + if (! $this->continuous_mode) + return 0; + } + return $entry; + + } else + return false; + } +} + +/** + * Helper base class to read file. + * @package phpLDAPadmin + */ +class FileReader extends Reader { + # The file pointer + var $_fp; + + /** + * Constructor of the FileReader class + * @param $path2File + */ + function FileReader($path2File) { + $this->_fp = fopen($path2File,'r'); + } + + /** + * Returns true if we reached the end of the file. + * + * @return bool true if it's the end of file, false otherwise. + */ + function eof() { + return @feof($this->_fp); + } + + /** + * Helper method to switch to the next line + */ + function _nextLine() { + $this->_currentLineNumber++; + $nextLine = fgets($this->_fp,1024); + $this->_currentLine = $nextLine; + + # Need to check if it is a very long line (not folded line for example) + while (!ereg("\n|\r\n|\r",$nextLine) && !$this->eof()) { + $nextLine = fgets($this->_fp,1024); + $this->_currentLine .= trim($nextLine); + } + } + + /** + * Close the handler + */ + function close() { + return @fclose($this->_fp); + } } /** * Main parser of the ldif file * @package phpLDAPadmin */ - -class LdifReader extends FileReader{ - - // the current entry - var $_currentEntry; - - // array containing the lines of the current entry - var $_currentLines; - - // the reader of the entry - var $_ldapEntryHandler; - - //boolean flag for error - var $_error; - - // warning message. Only use for the verion number - var $_warningMessage; - - // TODO What is this variable? Used below, why? - var $_warningVersion; - - var $_dnLineNumber; - - // continuous mode operation flag - var $continuous_mode; - - var $ldifEntryReader = NULL; - /** - * Private constructor of the LDIFReader class. - * Marked as private as we need to instantiate the class - * by using other constructor with parameters - * Use to initialize instance members. - */ - - function _LdifReader(){ - $this->_error=0; - $this->_warning=0; - $this->_currentLineNumber=0; - $this->_currentLines = array(); - $this->_warningMessage=""; - $this->_warningVersion=""; - $this->ldifEntryReader = new LdifEntryReader(); - //need to change this one - $this->_currentEntry = new LdifEntry(); - } - - /** - * Constructor of the class - * - * @param String $path2File path of the ldif file to read - * @param boolean $continuous_mode 1 if continuous mode operation, 0 otherwise - */ - function LdifReader( $path2File , $continuous_mode = 0 ){ - parent::FileReader( $path2File ); - $this->continuous_mode = $continuous_mode; - $this->_LdifReader(); - } - - /** - * Returns the lines that generated the Ldif Entry. - * - * @return String[] The lines from the entry. - */ - function getCurrentLines(){ - return $this->_currentLines; - } - - /** - * Check if it's a ldif comment line. - * - * @return bool true if it's a comment line,false otherwise - */ - function _isCommentLine(){ - return substr(trim($this->_currentLine),0,1)=="#"?1:0; - } - - /** - * Check if the current line is a line containing the distinguished - * name of an entry. - * - * @return bool true if the line contains a dn line, false otherwise. - */ - function _isDnLine(){ - return ereg("^dn:",$this->_currentLine)?1:0; - } - - /** - * Return the current entry as an object - * - * @return Ldap_Ldif_entry the current ldif entry - */ - function fetchEntryObject(){ - return $this->_currentEntry; - } - - /** - * Return the current entry as an array - * - */ - function fetchEntryArray(){} - - /** - * Return the entry as it is. - * - * @return String[] The lines from the entry. - */ - function fetchEntryRaw(){ - return getCurrentLines(); - } - /** - * Get the lines of the next entry - * - * @return String[] the lines (unfolded) of the next entry - */ - function nextLines(){ - $endEntryFound=0; - //free the array (instance member) - unset($this->_currentLines); - - // reset the error state - $this->_error = 0; - - if( $this->_hasMoreEntries() && !$this->eof() ){ - - //the first line is the dn one - $this->_currentLines[0]= trim($this->_currentLine); - - $count=0; - - // while we end on a blank line, fetch the attribute lines - while(!$this->eof() && !$endEntryFound ){ - //fetch the next line - $this->_nextLine(); - - // if the next line begin with a space,we append it to the current row - // else we push it into the array (unwrap) - - if(substr($this->_currentLine,0,1)==" "){ - $this->_currentLines[$count].=trim($this->_currentLine); +class LdifReader extends FileReader { + /** + * Constructor of the class + * + * @param String $path2File path of the ldif file to read + * @param boolean $continuous_mode 1 if continuous mode operation, 0 otherwise + */ + function LdifReader($path2File,$continuous_mode=0) { + parent::FileReader($path2File); + $this->continuous_mode = $continuous_mode; + $this->_LdifReader(); } - elseif(substr($this->_currentLine,0,1)=="#"){ - //do nothing - // echo $this->_currentLine; + + /** + * Close the ldif file + * + * @return void + */ + function done() { + if (!$this->_ldifHasError()) + @fclose($this->_fp); } - elseif(trim($this->_currentLine)!=""){ - $this->_currentLines[++$count]=trim($this->_currentLine); +} + +class LdifReaderStdIn extends Reader { + /** + * Constructor of the class + * + * @param String $path2File path of the ldif file to read + * @param boolean $continuous_mode 1 if continuous mode operation, 0 otherwise + */ + function LdifReaderStdIn($ldif,$continuous_mode=0) { + $this->_ldif = explode("\n",$ldif); + $this->continuous_mode = $continuous_mode; + $this->_LdifReader(); } - else{ - $endEntryFound=1; + + /** + * Helper method to switch to the next line + */ + function _nextLine() { + $this->_currentLineNumber++; + $nextLine = array_shift($this->_ldif); + $this->_currentLine = $nextLine; } - }//end while - //return the ldif entry array - return $this->_currentLines; - } - else{ - return false; - } - } - /** - * Check if the ldif version is present in the ldif - * - * @return true if a version line was found,false otherwise - */ - - function hasVersionNumber(){ - $ldifLineFound = 0; - - while(!$this->eof() && !$ldifLineFound){ - - // fetch the first line - $this->_nextLine(); - - // if it's a ldif comment line or a blank line,leave it and continue - if($this->_isCommentLine() || $this->_isBlankLine()){ - //debug usage - //echo $this->_currentLineNumber." - " .($this->_isCommentLine()?"comment":"blank line\n")."
    "; - } - elseif(ereg("^version",trim($this->_currentLine))){ - $ldifLineFound=1; - $this->_nextLine(); - } - else{ - $this->_warningVersion=1; - global $lang; - $this->_warningMessage = $lang['warning_no_ldif_version_found']; - $ldifLineFound=1; - } - }// end while loop - return $this->_warningVersion; - } - - - /** - * Private method to check if there is more entries in the file - * - * @return boolean true if an entry was found, false otherwise. - */ - function _hasMoreEntries(){ - $entry_found = 0; - while( !$this->eof() && !$entry_found ){ - //if it's a comment or blank line,switch to the next line - if( $this->_isCommentLine() || $this->_isBlankLine() ){ - //debug usage - // echo $this->_currentLineNumber." - " .($this->_isCommentLine()?"comment":"blank line\n")."
    "; - $this->_nextLine(); - } - else{ - $this->_currentDnLine = $this->_currentLine; - $this->dnLineNumber = $this->_currentLineNumber; - $entry_found=1; - } - } - return $entry_found; - } - - /** - * Associate the ldif reader with a exception which occurs during - * proceesing the file. - * Easier to do exception if we had to switch to php5 - * - * @param Ldap_LdifReaderException $ldifReaderException - */ - function setLdapLdifReaderException($ldifReaderException){ - $this->_ldifReaderException= $ldifReaderException; - if( !$this->continuous_mode ) - $this->done(); - $this->_error=1; - } - - /** - * Return the exception raised during processing the file - * - * @return Ldap_ldifReaderException - */ - function getLdapLdifReaderException(){ - return $this->_ldifReaderException; - } - - /** - * Helper method which return the value - * of the instance member $_error - * - * @return true if an error was encountered, false otherwise - */ - function _ldifHasError(){ - return $this->_error; - } - - function hasRaisedException(){ - return $this->_error; - - } - - /** - * Close the ldif file - * - * @return void - */ - - - function done(){ - if (!$this->_ldifHasError()){ - @fclose($this->_fp); - } - - } - - /** - * Return a ldif entry object - * - * @return LdifEntry the entry object buid from the lines of the ldif file - */ - - function readEntry(){ - - if($lines = $this->nextLines()){ - $this->ldifEntryReader->readLines($lines); - //fetch entry - $entry = $this->ldifEntryReader->getEntry(); - $this->_currentEntry = $entry; - // if any exception has raised, catch it and throw it to the main reader - if($this->ldifEntryReader->hasRaisedException()){ - $exception = $this->ldifEntryReader->getLdifEntryReaderException(); - $faultyLineNumber = $this->dnLineNumber + $exception->lineNumber - 1; - $this->setLdapLdifReaderException(new LdifReaderException($faultyLineNumber,$exception->currentLine,$exception->message)); - - if ( ! $this->continuous_mode ) - return 0; - } - return $entry; - } - else - return false; - } - - function getWarningMessage(){ - return $this->_warningMessage; - } + /** + * Returns true if we reached the end of the file. + * + * @return bool true if it's the end of file, false otherwise. + */ + function eof() { + return count($this->_ldif) > 0 ? 0 : 1; + } + /** + * Close the ldif + * + * @return void + */ + function done() {} } /** * Helper class to write entries into the ldap server * @package phpLDAPadmin */ +class LdapWriter { + var $ldapserver; + var $_writeError=0; -class LdapWriter{ - - var $ldapConnexion; - var $_writeError=0; - - /** - * Constructor - */ - - function LdapWriter(&$conn){ - $this->ldapConnexion = &$conn; - } - - /** - * Add a new entry to the ldap server - * - * @param LdifEntry $entry the entry to add - * @return true in case of success, false otherwise - */ - function ldapAdd($entry){ - return @ldap_add($this->ldapConnexion,$entry->dn,$entry->attributes); - } - - - /** - * Modify an entry - * - * @param LdifEntry $entry the entry to add - * @return true in case of success, false otherwise - */ - - function ldapModify($entry){ - $changeType = $entry->getChangeType(); - - switch($changeType){ - case "add": - $this->_writeError= $this->ldapAdd($entry); - break; - case "delete": - $this->_writeError = @ldap_delete($this->ldapConnexion,$entry->dn); - break; - case "modrdn": - $atts=$entry->getAttributes(); - $this->_writeError = @ldap_rename( $this->ldapConnexion, $entry->dn,$atts['newrdn'], $atts['newsuperior'], $atts['deleteoldrdn'] ); - break; - case "moddn": - $atts=$entry->getAttributes(); - $this->_writeError = @ldap_rename( $this->ldapConnexion, $entry->dn,$atts['newrdn'], $atts['newsuperior'], $atts['deleteoldrdn'] ); - break; - case "modify": - $attributes = $entry->attributes; - $num_attributes = count($attributes); - for($i=0;$i<$num_attributes;$i++) - { - $action = key($attributes[$i]); - array_shift($attributes[$i]); - switch($action){ - case "add": - $this->_writeError = @ldap_mod_add($this->ldapConnexion,$entry->dn,$attributes[$i]); - break; - case "delete": - $this->_writeError = @ldap_mod_del($this->ldapConnexion,$entry->dn,$attributes[$i]); - break; - case "replace": - $this->_writeError = @ldap_mod_replace($this->ldapConnexion,$entry->dn,$attributes[$i]); - break; + /** + * Constructor + */ + function LdapWriter(&$ldapserver) { + $this->ldapserver = &$ldapserver; } - } - } - return $this->_writeError; - } - /** - * Close the connection to the ldap server - * - * @return boolean true in case of success, false otherwise - */ - function ldapClose(){ - return @ldap_close($this->ldapConnexion); - } + /** + * Add a new entry to the ldap server + * + * @param LdifEntry $entry the entry to add + * @return true in case of success, false otherwise + */ + function ldapAdd($entry) { + return $this->ldapserver->add($entry->dn,$entry->attributes); + } + + /** + * Modify an entry + * + * @param LdifEntry $entry the entry to add + * @return true in case of success, false otherwise + */ + function ldapModify($entry) { + $changeType = $entry->getChangeType(); + + switch ($changeType) { + case 'add': + $this->_writeError= $this->ldapAdd($entry); + break; + + case 'delete': + $this->_writeError = $this->ldapserver->delete($entry->dn); + break; + + case 'modrdn': + $atts=$entry->getAttributes(); + $this->_writeError = $this->ldapserver->rename($entry->dn,$atts['newrdn'],$atts['newsuperior'],$atts['deleteoldrdn']); + break; + + case 'moddn': + $atts=$entry->getAttributes(); + $this->_writeError = $this->ldapserver->rename($entry->dn,$atts['newrdn'],$atts['newsuperior'],$atts['deleteoldrdn']); + break; + + case 'modify': + $attributes = $entry->attributes; + $num_attributes = count($attributes); + + for ($i=0;$i<$num_attributes;$i++) { + $action = key($attributes[$i]); + array_shift($attributes[$i]); + switch ($action) { + case 'add': + $this->_writeError = $this->ldapserver->attrModify($entry->dn,$attributes[$i]); + break; + + case 'delete': + $this->_writeError = $this->ldapserver->attrDelete($entry->dn,$attributes[$i]); + break; + + case 'replace': + $this->_writeError = $this->ldapserver->attrReplace($entry->dn,$attributes[$i]); + break; + } + } + } + + return $this->_writeError; + } } ?> diff --git a/lib/schema_functions.php b/lib/schema_functions.php index f3d480a..95bc2bb 100644 --- a/lib/schema_functions.php +++ b/lib/schema_functions.php @@ -1,5 +1,5 @@ description = null; } - /** Default constructor. */ - #function SchemaItem() { - # $this->initVars(); - #} - function setOID( $new_oid ) { $this->oid = $new_oid; } @@ -72,14 +67,14 @@ class ObjectClass extends SchemaItem { var $children_objectclasses; /** Initialize the class' member variables */ - function initVars() { + function initVars($ldapserver) { parent::initVars(); $this->oid = null; $this->name = null; $this->description = null; $this->sup_classes = array(); - $this->type = null; + $this->type = $ldapserver->schema_oclass_default; $this->must_attrs = array(); $this->may_attrs = array(); $this->is_obsolete = false; @@ -94,62 +89,70 @@ class ObjectClass extends SchemaItem { ** The last token may be terminate by more than one bracket */ if (DEBUG_ENABLED) - debug_log('%s::_parse_list(): Entered with (%d,%s,%s)',2, - get_class($this),$i,serialize($strings),serialize($attrs)); + debug_log('%s::_parse_list(): Entered with (%d,%s,%s)',9, + get_class($this),$i,$strings,$attrs); $string = $strings[$i]; if (!preg_match('/^\(/',$string)) { // A bareword only - can be terminated by a ) if the last item if (preg_match('/\)+$/',$string)) - $string = preg_replace('/\)+$/',"",$string); + $string = preg_replace('/\)+$/','',$string); + array_push($attrs, $string); + } elseif (preg_match('/^\(.*\)$/',$string)) { - $string = preg_replace('/^\(/',"",$string); - $string = preg_replace('/\)+$/',"",$string); + $string = preg_replace('/^\(/','',$string); + $string = preg_replace('/\)+$/','',$string); array_push($attrs, $string); + } else { // Handle the opening cases first - - if ($string == "(") { + + if ($string == '(') { $i++; - } elseif (preg_match("/^\(./",$string)) { - $string = preg_replace('/^\(/',"",$string); + + } elseif (preg_match('/^\(./',$string)) { + $string = preg_replace('/^\(/','',$string); array_push ($attrs, $string); $i++; } + // Token is either a name, a $ or a ')' // NAME can be terminated by one or more ')' while (! preg_match('/\)+$/',$strings[$i])) { $string = $strings[$i]; - if ($string == "$") { + if ($string == '$') { $i++; continue; } + if (preg_match('/\)$/',$string)) { - $string = preg_replace('/\)+$/',"",$string); + $string = preg_replace('/\)+$/','',$string); } else { $i++; } + array_push ($attrs, $string); } } sort($attrs); + if (DEBUG_ENABLED) debug_log('%s::_parse_list(): Returning (%d,[%s],[%s])',9, - get_class($this),$i,serialize($strings),serialize($attrs)); + get_class($this),$i,$strings,$attrs); return $i; } /** * Creates a new ObjectClass object given a raw LDAP objectClass string. */ - function ObjectClass( $raw_ldap_schema_string ) { + function ObjectClass($raw_ldap_schema_string,$ldapserver) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with (%s)',2,get_class($this),$raw_ldap_schema_string); + debug_log('%s::__construct(): Entered with (%s)',9,get_class($this),$raw_ldap_schema_string); - $this->initVars(); + $this->initVars($ldapserver); $class = $raw_ldap_schema_string; - $strings = preg_split("/[\s,]+/",$class,-1,PREG_SPLIT_DELIM_CAPTURE); + $strings = preg_split('/[\s,]+/',$class,-1,PREG_SPLIT_DELIM_CAPTURE); $str_count = count($strings); @@ -160,15 +163,15 @@ class ObjectClass extends SchemaItem { break; case 'NAME': - if ($strings[$i+1]!="(") { + if ($strings[$i+1]!='(') { do { $i++; if(strlen($this->name)==0) $this->name = $strings[$i]; else - $this->name .= " ".$strings[$i]; + $this->name .= ' '.$strings[$i]; - } while (!preg_match("/\'$/s", $strings[$i])); + } while (!preg_match('/\'$/s', $strings[$i])); } else { $i++; @@ -178,20 +181,20 @@ class ObjectClass extends SchemaItem { if(strlen($this->name) == 0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; - } while (!preg_match("/\'$/s", $strings[$i])); + } while (!preg_match('/\'$/s', $strings[$i])); do { $i++; } while (! preg_match('/\)+\)?/',$strings[$i])); } - $this->name = preg_replace("/^\'/", "", $this->name); - $this->name = preg_replace("/\'$/", "", $this->name); + $this->name = preg_replace('/^\'/', '', $this->name); + $this->name = preg_replace('/\'$/', '', $this->name); if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case NAME returned (%s)',9, + debug_log('%s::__construct(): Case NAME returned (%s)',8, get_class($this),$this->name); break; @@ -201,12 +204,12 @@ class ObjectClass extends SchemaItem { if (strlen($this->description)==0) $this->description=$this->description . $strings[$i]; else - $this->description=$this->description . " " . $strings[$i]; + $this->description=$this->description . ' ' . $strings[$i]; - } while (!preg_match("/\'$/s", $strings[$i])); + } while (!preg_match('/\'$/s', $strings[$i])); if (DEBUG_ENABLED) - debug_log('%s::__construc(): Case DESC returned (%s)',9, + debug_log('%s::__construc(): Case DESC returned (%s)',8, get_class($this),$this->description); break; @@ -215,29 +218,29 @@ class ObjectClass extends SchemaItem { $this->is_obsolete = TRUE; if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case OBSOLETE returned (%s)',9, + debug_log('%s::__construct(): Case OBSOLETE returned (%s)',8, get_class($this),$this->is_obsolete); break; case 'SUP': - if ($strings[$i+1]!="(") { + if ($strings[$i+1]!='(') { $i++; - array_push($this->sup_classes, preg_replace("/'/","",$strings[$i])); + array_push($this->sup_classes,preg_replace("/'/",'',$strings[$i])); } else { $i++; do { $i++; - if ($strings[$i]!="$") - array_push($this->sup_classes,preg_replace("/'/","",$strings[$i])); + if ($strings[$i]!='$') + array_push($this->sup_classes,preg_replace("/'/",'',$strings[$i])); } while (! preg_match('/\)+\)?/',$strings[$i+1])); } if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case SUP returned (%s)',9, - get_class($this),serialize($this->sup_classes)); + debug_log('%s::__construct(): Case SUP returned (%s)',8, + get_class($this),$this->sup_classes); break; @@ -245,16 +248,16 @@ class ObjectClass extends SchemaItem { $this->type='abstract'; if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case ABSTRACT returned (%s)',9, + debug_log('%s::__construct(): Case ABSTRACT returned (%s)',8, get_class($this),$this->type); break; case 'STRUCTURAL': $this->type='structural'; - + if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case STRUCTURAL returned (%s)',9, + debug_log('%s::__construct(): Case STRUCTURAL returned (%s)',8, get_class($this),$this->type); break; @@ -262,7 +265,7 @@ class ObjectClass extends SchemaItem { $this->type='auxiliary'; if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case AUXILIARY returned (%s)',9, + debug_log('%s::__construct(): Case AUXILIARY returned (%s)',8, get_class($this),$this->type); break; @@ -272,8 +275,8 @@ class ObjectClass extends SchemaItem { $i = $this->_parse_list(++$i, $strings, $attrs); if (DEBUG_ENABLED) - debug_log('%s::__construct(): _parse_list returned %d (%s)',9, - get_class($this),$i,serialize($attrs)); + debug_log('%s::__construct(): _parse_list returned %d (%s)',8, + get_class($this),$i,$attrs); foreach ($attrs as $string) { $attr = new ObjectClassAttribute($string, $this->name); @@ -281,8 +284,8 @@ class ObjectClass extends SchemaItem { } if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case MUST returned (%s)',9, - get_class($this),serialize($this->must_attrs)); + debug_log('%s::__construct(): Case MUST returned (%s)',8, + get_class($this),$this->must_attrs); break; case 'MAY': @@ -291,8 +294,8 @@ class ObjectClass extends SchemaItem { $i = $this->_parse_list(++$i, $strings, $attrs); if (DEBUG_ENABLED) - debug_log('%s::__construct(): _parse_list returned %d (%s)',9, - get_class($this),$i,serialize($attrs)); + debug_log('%s::__construct(): _parse_list returned %d (%s)',8, + get_class($this),$i,$attrs); foreach ($attrs as $string) { $attr = new ObjectClassAttribute($string, $this->name); @@ -300,29 +303,28 @@ class ObjectClass extends SchemaItem { } if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case MAY returned (%s)',9, - get_class($this),serialize($this->may_attrs)); + debug_log('%s::__construct(): Case MAY returned (%s)',8, + get_class($this),$this->may_attrs); break; default: - if(preg_match ("/[\d\.]+/i",$strings[$i]) && $i == 1) { + if(preg_match ('/[\d\.]+/i',$strings[$i]) && $i == 1) { $this->oid = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::__construct(): Case default returned (%s)',9, + debug_log('%s::__construct(): Case default returned (%s)',8, get_class($this),$this->oid); } break; } } - $this->description = preg_replace("/^\'/", "", $this->description); - $this->description = preg_replace("/\'$/", "", $this->description); + $this->description = preg_replace("/^\'/", '', $this->description); + $this->description = preg_replace("/\'$/", '', $this->description); if (DEBUG_ENABLED) debug_log('%s::__construct(): Returning () - NAME (%s), DESCRIPTION (%s), MUST (%s), MAY (%s)',9, - get_class($this),$this->name,$this->description,serialize($this->must_attrs), - serialize($this->may_attrs)); + get_class($this),$this->name,$this->description,$this->must_attrs,$this->may_attrs); } /** @@ -341,22 +343,28 @@ class ObjectClass extends SchemaItem { */ function getMustAttrs($oclasses = NULL) { if (DEBUG_ENABLED) - debug_log('%s::getMustAttrs(): Entered with (%s)',2,get_class($this),serialize($oclasses)); + debug_log('%s::getMustAttrs(): Entered with (%s)',9,get_class($this),$oclasses); $all_must_attrs = array(); $all_must_attrs = $this->must_attrs; - foreach( $this->sup_classes as $sup_class) - { - if( $oclasses != null - && $sup_class != "top" - && isset( $oclasses[ strtolower($sup_class) ] ) ) { - $sup_class = $oclasses[ strtolower($sup_class) ]; - $sup_class_must_attrs = $sup_class->getMustAttrs( $oclasses ); - $all_must_attrs = array_merge( $sup_class_must_attrs, $all_must_attrs ); + foreach ($this->sup_classes as $sup_class) { + if (! is_null($oclasses) && $sup_class != 'top' + && isset($oclasses[strtolower($sup_class)])) { + $sup_class = $oclasses[ strtolower($sup_class)]; + $sup_class_must_attrs = $sup_class->getMustAttrs($oclasses); + $all_must_attrs = array_merge($sup_class_must_attrs,$all_must_attrs); } } - ksort($all_must_attrs); + masort($all_must_attrs,'name,source',1); + + # Remove any duplicates + foreach ($all_must_attrs as $index => $attr) + if (isset($allattr[$attr->name])) + unset($all_must_attrs[$index]); + else + $allattr[$attr->name] = 1; + return $all_must_attrs; } @@ -375,24 +383,31 @@ class ObjectClass extends SchemaItem { * @see getMayAttrNames * @see AttributeType */ - function getMayAttrs($oclasses = NULL) { + function getMayAttrs($oclasses=null) { if (DEBUG_ENABLED) - debug_log('%s::getMayAttrs(): Entered with (%s)',2,get_class($this),serialize($oclasses)); + debug_log('%s::getMayAttrs(): Entered with (%s)',9,get_class($this),$oclasses); $all_may_attrs = array(); $all_may_attrs = $this->may_attrs; - foreach( $this->sup_classes as $sup_class_name ) - { - if( $oclasses != null - && $sup_class_name != "top" - && isset( $oclasses[ strtolower($sup_class_name) ] ) ) { - $sup_class = $oclasses[ strtolower($sup_class_name) ]; - $sup_class_may_attrs = $sup_class->getMayAttrs( $oclasses ); - $all_may_attrs = array_merge( $sup_class_may_attrs, $all_may_attrs ); + foreach ($this->sup_classes as $sup_class_name) { + if (! is_null($oclasses) && $sup_class_name != 'top' + && isset($oclasses[strtolower($sup_class_name)])) { + + $sup_class = $oclasses[strtolower($sup_class_name)]; + $sup_class_may_attrs = $sup_class->getMayAttrs($oclasses); + $all_may_attrs = array_merge($sup_class_may_attrs,$all_may_attrs); } } - ksort($all_may_attrs); + masort($all_may_attrs,'name,source',1); + + # Remove any duplicates + foreach ($all_may_attrs as $index => $attr) + if (isset($allattr[$attr->name])) + unset($all_may_attrs[$index]); + else + $allattr[$attr->name] = 1; + return $all_may_attrs; } @@ -413,7 +428,7 @@ class ObjectClass extends SchemaItem { */ function getMustAttrNames( $oclasses = null ) { if (DEBUG_ENABLED) - debug_log('%s::getMustAttrNames(): Entered with (%s)',2,get_class($this),serialize($oclasses)); + debug_log('%s::getMustAttrNames(): Entered with (%s)',9,get_class($this),$oclasses); $attrs = $this->getMustAttrs( $oclasses ); $attr_names = array(); @@ -441,7 +456,7 @@ class ObjectClass extends SchemaItem { */ function getMayAttrNames( $oclasses = null ) { if (DEBUG_ENABLED) - debug_log('%s::getMayAttrNames(): Entered with (%s)',2,get_class($this),serialize($oclasses)); + debug_log('%s::getMayAttrNames(): Entered with (%s)',9,get_class($this),$oclasses); $attrs = $this->getMayAttrs( $oclasses ); $attr_names = array(); @@ -460,7 +475,7 @@ class ObjectClass extends SchemaItem { */ function addChildObjectClass( $object_class_name ) { if (DEBUG_ENABLED) - debug_log('%s::addChildObjectClass(): Entered with (%s)',2,get_class($this),$object_class_name); + debug_log('%s::addChildObjectClass(): Entered with (%s)',9,get_class($this),$object_class_name); $object_class_name = trim( $object_class_name ); if( ! is_array( $this->children_objectclasses ) ) @@ -522,7 +537,7 @@ class ObjectClass extends SchemaItem { */ function addMustAttrs( $new_must_attrs ) { if (DEBUG_ENABLED) - debug_log('%s::addMustAttrs(): Entered with (%s)',2,get_class($this),$new_must_attrs); + debug_log('%s::addMustAttrs(): Entered with (%s)',9,get_class($this),$new_must_attrs); if( ! is_array( $new_must_attrs ) ) return; @@ -539,7 +554,7 @@ class ObjectClass extends SchemaItem { */ function addMayAttrs( $new_may_attrs ) { if (DEBUG_ENABLED) - debug_log('%s::addMayAttrs(): Entered with (%s)',2,get_class($this),$new_may_attrs); + debug_log('%s::addMayAttrs(): Entered with (%s)',9,get_class($this),$new_may_attrs); if( ! is_array( $new_may_attrs ) ) return; @@ -573,11 +588,11 @@ class ObjectClassAttribute { * @param string $source the name of the ObjectClass which * specifies this attribute. */ - function ObjectClassAttribute($name, $source) { + function ObjectClassAttribute($name,$source) { if (DEBUG_ENABLED) debug_log('%s::__construct(): Entered with name (%s), source (%s)',9,get_class($this),$name,$source); - $this->name=$name; - $this->source=$source; + $this->name = $name; + $this->source = $source; } /** Gets this attribute's name */ @@ -661,11 +676,11 @@ class AttributeType extends SchemaItem { */ function AttributeType( $raw_ldap_attr_string ) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with (%s)',2,get_class($this),$raw_ldap_attr_string); + debug_log('%s::__construct(): Entered with (%s)',9,get_class($this),$raw_ldap_attr_string); $this->initVars(); $attr = $raw_ldap_attr_string; - $strings = preg_split("/[\s,]+/",$attr,-1,PREG_SPLIT_DELIM_CAPTURE); + $strings = preg_split('/[\s,]+/',$attr,-1,PREG_SPLIT_DELIM_CAPTURE); for($i=0; $iname)==0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; } while (!preg_match("/\'$/s", $strings[$i])); // this attribute has no aliases @@ -693,22 +708,22 @@ class AttributeType extends SchemaItem { if (strlen($this->name) == 0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; } while (!preg_match("/\'$/s", $strings[$i])); // add alias names for this attribute - while ($strings[++$i]!=")") { + while ($strings[++$i]!=')') { $alias = $strings[$i]; - $alias = preg_replace("/^\'/", "", $alias ); - $alias = preg_replace("/\'$/", "", $alias ); + $alias = preg_replace("/^\'/", '', $alias ); + $alias = preg_replace("/\'$/", '', $alias ); $this->aliases[] = $alias; } } if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case NAME returned (%s) (%s)',9, - get_class($this),$this->name,serialize($this->aliases)); + debug_log('%s::AttributeType(): Case NAME returned (%s) (%s)',8, + get_class($this),$this->name,$this->aliases); break; case 'DESC': @@ -717,11 +732,11 @@ class AttributeType extends SchemaItem { if (strlen($this->description)==0) $this->description=$this->description . $strings[$i]; else - $this->description=$this->description . " " . $strings[$i]; + $this->description=$this->description . ' ' . $strings[$i]; } while (!preg_match("/\'$/s", $strings[$i])); if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case DESC returned (%s)',9, + debug_log('%s::AttributeType(): Case DESC returned (%s)',8, get_class($this),$this->description); break; @@ -729,7 +744,7 @@ class AttributeType extends SchemaItem { $this->is_obsolete = TRUE; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case OBSOLETE returned (%s)',9, + debug_log('%s::AttributeType(): Case OBSOLETE returned (%s)',8, get_class($this),$this->is_obsolete); break; @@ -738,7 +753,7 @@ class AttributeType extends SchemaItem { $this->sup_attribute = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case SUP returned (%s)',9, + debug_log('%s::AttributeType(): Case SUP returned (%s)',8, get_class($this),$this->sup_attribute); break; @@ -747,7 +762,7 @@ class AttributeType extends SchemaItem { $this->equality = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case EQUALITY returned (%s)',9, + debug_log('%s::AttributeType(): Case EQUALITY returned (%s)',8, get_class($this),$this->equality); break; @@ -756,7 +771,7 @@ class AttributeType extends SchemaItem { $this->ordering = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case ORDERING returned (%s)',9, + debug_log('%s::AttributeType(): Case ORDERING returned (%s)',8, get_class($this),$this->ordering); break; @@ -765,37 +780,37 @@ class AttributeType extends SchemaItem { $this->sub_str = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case SUBSTR returned (%s)',9, + debug_log('%s::AttributeType(): Case SUBSTR returned (%s)',8, get_class($this),$this->sub_str); break; case 'SYNTAX': $i++; $this->syntax = $strings[$i]; - $this->syntax_oid = preg_replace("/{\d+}$/", "", $this->syntax); + $this->syntax_oid = preg_replace('/{\d+}$/', '', $this->syntax); // does this SYNTAX string specify a max length (ie, 1.2.3.4{16}) - if (preg_match( "/{(\d+)}$/", $this->syntax, $this->max_length)) + if (preg_match( '/{(\d+)}$/', $this->syntax, $this->max_length)) $this->max_length = $this->max_length[1]; else $this->max_length = null; - if ($i < count($strings) - 1 && $strings[$i+1]=="{") { + if ($i < count($strings) - 1 && $strings[$i+1]=='{') { do { $i++; - $this->name .= " " . $strings[$i]; - } while ($strings[$i]!="}"); + $this->name .= ' ' . $strings[$i]; + } while ($strings[$i]!='}'); } if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case SYNTAX returned (%s) (%s) (%s)',9, + debug_log('%s::AttributeType(): Case SYNTAX returned (%s) (%s) (%s)',8, get_class($this),$this->syntax,$this->syntax_oid,$this->max_length); break; case 'SINGLE-VALUE': $this->is_single_value = TRUE; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case SINGLE-VALUE returned (%s)',9, + debug_log('%s::AttributeType(): Case SINGLE-VALUE returned (%s)',8, get_class($this),$this->is_single_value); break; @@ -803,7 +818,7 @@ class AttributeType extends SchemaItem { $this->is_collective = TRUE; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case COLLECTIVE returned (%s)',9, + debug_log('%s::AttributeType(): Case COLLECTIVE returned (%s)',8, get_class($this),$this->is_collective); break; @@ -811,7 +826,7 @@ class AttributeType extends SchemaItem { $this->is_no_user_modification = TRUE; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case NO-USER-MODIFICATION returned (%s)',9, + debug_log('%s::AttributeType(): Case NO-USER-MODIFICATION returned (%s)',8, get_class($this),$this->is_no_user_modification); break; @@ -820,33 +835,33 @@ class AttributeType extends SchemaItem { $this->usage = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case USAGE returned (%s)',9, + debug_log('%s::AttributeType(): Case USAGE returned (%s)',8, get_class($this),$this->usage); break; default: - if(preg_match ("/[\d\.]+/i",$strings[$i]) && $i == 1) { + if(preg_match ('/[\d\.]+/i',$strings[$i]) && $i == 1) { $this->oid = $strings[$i]; if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Case default returned (%s)',9, + debug_log('%s::AttributeType(): Case default returned (%s)',8, get_class($this),$this->oid); } } } - $this->name = preg_replace("/^\'/", "", $this->name); - $this->name = preg_replace("/\'$/", "", $this->name); - $this->description = preg_replace("/^\'/", "", $this->description); - $this->description = preg_replace("/\'$/", "", $this->description); - $this->syntax = preg_replace("/^\'/", "", $this->syntax ); - $this->syntax = preg_replace("/\'$/", "", $this->syntax ); - $this->syntax_oid = preg_replace("/^\'/", "", $this->syntax_oid ); - $this->syntax_oid = preg_replace("/\'$/", "", $this->syntax_oid ); - $this->sup_attribute = preg_replace("/^\'/", "", $this->sup_attribute ); - $this->sup_attribute = preg_replace("/\'$/", "", $this->sup_attribute ); + $this->name = preg_replace("/^\'/", '', $this->name); + $this->name = preg_replace("/\'$/", '', $this->name); + $this->description = preg_replace("/^\'/", '', $this->description); + $this->description = preg_replace("/\'$/", '', $this->description); + $this->syntax = preg_replace("/^\'/", '', $this->syntax ); + $this->syntax = preg_replace("/\'$/", '', $this->syntax ); + $this->syntax_oid = preg_replace("/^\'/", '', $this->syntax_oid ); + $this->syntax_oid = preg_replace("/\'$/", '', $this->syntax_oid ); + $this->sup_attribute = preg_replace("/^\'/", '', $this->sup_attribute ); + $this->sup_attribute = preg_replace("/\'$/", '', $this->sup_attribute ); if (DEBUG_ENABLED) - debug_log('%s::AttributeType(): Returning ()',1,get_class($this)); + debug_log('%s::AttributeType(): Returning ()',9,get_class($this)); } /** @@ -922,7 +937,7 @@ class AttributeType extends SchemaItem { */ function isAliasFor( $attr_name ) { if (DEBUG_ENABLED) - debug_log('%s::isAliasFor(): Entered with (%s)',2,get_class($this),$attr_name); + debug_log('%s::isAliasFor(): Entered with (%s)',9,get_class($this),$attr_name); foreach( $this->aliases as $alias_attr_name ) if( 0 == strcasecmp( $alias_attr_name, $attr_name ) ) @@ -1006,7 +1021,7 @@ class AttributeType extends SchemaItem { */ function removeAlias( $remove_alias_name ) { if (DEBUG_ENABLED) - debug_log('%s::removeAlias(): Entered with (%s)',2,get_class($this),$remove_alias_name); + debug_log('%s::removeAlias(): Entered with (%s)',9,get_class($this),$remove_alias_name); foreach( $this->aliases as $i => $alias_name ) { @@ -1067,7 +1082,7 @@ class AttributeType extends SchemaItem { */ function addUsedInObjectClass( $object_class_name ) { if (DEBUG_ENABLED) - debug_log('%s::addUsedInObjectClass(): Entered with (%s)',2,get_class($this),$object_class_name); + debug_log('%s::addUsedInObjectClass(): Entered with (%s)',9,get_class($this),$object_class_name); foreach( $this->used_in_object_classes as $used_in_object_class ) if( 0 == strcasecmp( $used_in_object_class, $object_class_name ) ) @@ -1092,7 +1107,7 @@ class AttributeType extends SchemaItem { */ function addRequiredByObjectClass( $object_class_name ) { if (DEBUG_ENABLED) - debug_log('%s::addRequiredByObjectClass(): Entered with (%s)',2,get_class($this),$object_class_name); + debug_log('%s::addRequiredByObjectClass(): Entered with (%s)',9,get_class($this),$object_class_name); foreach( $this->required_by_object_classes as $required_by_object_class ) if( 0 == strcasecmp( $required_by_object_class, $object_class_name ) ) @@ -1129,12 +1144,12 @@ class Syntax extends SchemaItem { */ function Syntax ( $raw_ldap_syntax_string ) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with (%s)',2,get_class($this),$raw_ldap_syntax_string); + debug_log('%s::__construct(): Entered with (%s)',9,get_class($this),$raw_ldap_syntax_string); $this->initVars(); $class = $raw_ldap_syntax_string; - $strings = preg_split ("/[\s,]+/", $class, -1,PREG_SPLIT_DELIM_CAPTURE); + $strings = preg_split ('/[\s,]+/', $class, -1,PREG_SPLIT_DELIM_CAPTURE); for($i=0; $idescription)==0) $this->description=$this->description . $strings[$i]; else - $this->description=$this->description . " " . $strings[$i]; + $this->description=$this->description . ' ' . $strings[$i]; }while(!preg_match("/\'$/s", $strings[$i])); break; default: - if(preg_match ("/[\d\.]+/i",$strings[$i]) && $i == 1) + if(preg_match ('/[\d\.]+/i',$strings[$i]) && $i == 1) $this->oid = $strings[$i]; } } - $this->description = preg_replace("/^\'/", "", $this->description); - $this->description = preg_replace("/\'$/", "", $this->description); + $this->description = preg_replace("/^\'/", '', $this->description); + $this->description = preg_replace("/\'$/", '', $this->description); } } @@ -1189,10 +1204,10 @@ class MatchingRule extends SchemaItem { */ function MatchingRule( $raw_ldap_matching_rule_string ) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with (%s)',2,get_class($this),$raw_ldap_matching_rule_string); + debug_log('%s::__construct(): Entered with (%s)',9,get_class($this),$raw_ldap_matching_rule_string); $this->initVars(); - $strings = preg_split ("/[\s,]+/", $raw_ldap_matching_rule_string, -1,PREG_SPLIT_DELIM_CAPTURE); + $strings = preg_split ('/[\s,]+/', $raw_ldap_matching_rule_string, -1,PREG_SPLIT_DELIM_CAPTURE); for($i=0; $iname)==0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; }while(!preg_match("/\'$/s", $strings[$i])); } else { $i++; @@ -1215,14 +1230,14 @@ class MatchingRule extends SchemaItem { if(strlen($this->name) == 0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; } while(!preg_match("/\'$/s", $strings[$i])); do { $i++; } while (! preg_match('/\)+\)?/',$strings[$i])); } - $this->name = preg_replace("/^\'/", "", $this->name); - $this->name = preg_replace("/\'$/", "", $this->name); + $this->name = preg_replace("/^\'/", '', $this->name); + $this->name = preg_replace("/\'$/", '', $this->name); break; case 'DESC': @@ -1231,7 +1246,7 @@ class MatchingRule extends SchemaItem { if(strlen($this->description)==0) $this->description=$this->description . $strings[$i]; else - $this->description=$this->description . " " . $strings[$i]; + $this->description=$this->description . ' ' . $strings[$i]; }while(!preg_match("/\'$/s", $strings[$i])); break; @@ -1244,12 +1259,12 @@ class MatchingRule extends SchemaItem { break; default: - if(preg_match ("/[\d\.]+/i",$strings[$i]) && $i == 1) + if(preg_match ('/[\d\.]+/i',$strings[$i]) && $i == 1) $this->oid = $strings[$i]; } } - $this->description = preg_replace("/^\'/", "", $this->description); - $this->description = preg_replace("/\'$/", "", $this->description); + $this->description = preg_replace("/^\'/", '', $this->description); + $this->description = preg_replace("/\'$/", '', $this->description); } /** @@ -1266,7 +1281,7 @@ class MatchingRule extends SchemaItem { */ function addUsedByAttr( $new_attr_name ) { if (DEBUG_ENABLED) - debug_log('%s::addUsedByAttr(): Entered with (%s)',2,get_class($this),$new_attr_name); + debug_log('%s::addUsedByAttr(): Entered with (%s)',9,get_class($this),$new_attr_name); foreach( $this->used_by_attrs as $attr_name ) if( 0 == strcasecmp( $attr_name, $new_attr_name ) ) @@ -1331,11 +1346,11 @@ class MatchingRuleUse extends SchemaItem { function MatchingRuleUse( $raw_matching_rule_use_string ) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with (%s)',2,get_class($this),$raw_matching_rule_use_string); + debug_log('%s::__construct(): Entered with (%s)',9,get_class($this),$raw_matching_rule_use_string); $this->initVars(); - $strings = preg_split ("/[\s,]+/", $raw_matching_rule_use_string, -1,PREG_SPLIT_DELIM_CAPTURE); + $strings = preg_split ('/[\s,]+/', $raw_matching_rule_use_string, -1,PREG_SPLIT_DELIM_CAPTURE); for($i=0; $iname ) || strlen( $this->name ) ==0 ) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; }while(!preg_match("/\'$/s", $strings[$i])); } else { $i++; @@ -1358,19 +1373,19 @@ class MatchingRuleUse extends SchemaItem { if(strlen($this->name) == 0) $this->name = $strings[$i]; else - $this->name .= " " . $strings[$i]; + $this->name .= ' ' . $strings[$i]; } while(!preg_match("/\'$/s", $strings[$i])); do { $i++; } while (! preg_match('/\)+\)?/',$strings[$i])); } - $this->name = preg_replace("/^\'/", "", $this->name); - $this->name = preg_replace("/\'$/", "", $this->name); + $this->name = preg_replace("/^\'/", '', $this->name); + $this->name = preg_replace("/\'$/", '', $this->name); break; case 'APPLIES': // TODO - if($strings[$i+1]!="(") { + if($strings[$i+1]!='(') { // has a single attribute name $i++; $this->used_by_attrs = array( $strings[$i] ); @@ -1378,11 +1393,11 @@ class MatchingRuleUse extends SchemaItem { } else { // has multiple attribute names $i++; - while($strings[$i]!=")") { + while($strings[$i]!=')') { $i++; $new_attr = $strings[$i]; - $new_attr = preg_replace("/^\'/", "", $new_attr ); - $new_attr = preg_replace("/\'$/", "", $new_attr ); + $new_attr = preg_replace("/^\'/", '', $new_attr ); + $new_attr = preg_replace("/\'$/", '', $new_attr ); $this->used_by_attrs[] = $new_attr; //echo "Adding $new_attr
    "; $i++; @@ -1391,7 +1406,7 @@ class MatchingRuleUse extends SchemaItem { break; default: - if(preg_match ("/[\d\.]+/i",$strings[$i]) && $i == 1) + if(preg_match ('/[\d\.]+/i',$strings[$i]) && $i == 1) $this->oid = $strings[$i]; } } diff --git a/lib/search_form_advanced.php b/lib/search_form_advanced.php index c9feb3c..d68b049 100644 --- a/lib/search_form_advanced.php +++ b/lib/search_form_advanced.php @@ -1,5 +1,5 @@ - diff --git a/lib/search_form_predefined.php b/lib/search_form_predefined.php index ec61bd0..2e42150 100644 --- a/lib/search_form_predefined.php +++ b/lib/search_form_predefined.php @@ -1,69 +1,60 @@ +echo '
    '; + echo ''; + die(); -: -'; - if ($selected_q_number === $q_number) - $selected = " selected"; + foreach ($queries as $q_number => $q) { - else - $selected = ""; + if ($selected_q_number === $q_number) + $selected = ' selected'; + else + $selected = ''; - print("\t\n"); -} ?> + printf('',$q_number,$selected,htmlspecialchars($q['name'])); + } - + echo ''; - +} -
    -
    -
    -
    - - - +echo '

    '; +printf('
    ',$ldapserver->server_id); +printf('
    ',_('Search')); +echo '
    '; +echo ''; +?> diff --git a/lib/search_form_simple.php b/lib/search_form_simple.php index 762d7e7..47b8ef8 100644 --- a/lib/search_form_simple.php +++ b/lib/search_form_simple.php @@ -1,12 +1,12 @@ - diff --git a/lib/search_results_list.php b/lib/search_results_list.php index 70372b9..3aa0578 100644 --- a/lib/search_results_list.php +++ b/lib/search_results_list.php @@ -1,92 +1,73 @@ connect(), $results ); -// Iterate over each entry +# Iterate over each entry $i = 0; -while( $entry_id ) { + +foreach ($results as $dn => $dndetails) { $i++; - if( $i <= $start_entry ) { - $entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id ); + if ($i <= $start_entry) continue; - } - if( $i >= $end_entry ) + if ($i >= $end_entry) break; - $dn = ldap_get_dn( $ldapserver->connect(), $entry_id ); - $encoded_dn = rawurlencode( $dn ); - $rdn = get_rdn( $dn ); ?> + echo '
    '; + echo ''; + printf('',get_icon($ldapserver,$dn)); + printf('', + $ldapserver->server_id,rawurlencode(dn_unescape($dn)),htmlspecialchars(get_rdn($dn))); + echo '
    %s
    '; + echo '
    '; -
    - - - - - -
    -
    + echo ''; + printf('',htmlspecialchars(dn_unescape($dn))); -
    dn%s
    + # Iterate over each attribute for this entry + foreach ($dndetails as $attr => $values) { + # Ignore DN, we've already displayed it. + if ($attr == 'dn') + continue; - connect(), $entry_id ); - $attr = ldap_first_attribute( $ldapserver->connect(), $entry_id, $attrs ); + if ($ldapserver->isAttrBinary($attr)) + $values = array('(binary)'); - // Always print out the DN in the attribute list - echo ""; - echo "\n"; + if (isset($friendly_attrs[strtolower($attr)])) + $attr = sprintf('%s', + htmlspecialchars($friendly_attrs[strtolower($attr)])); + else + $attr = htmlspecialchars($attr); - // Iterate over each attribute for this entry - while( $attr ) { + echo ''; + printf('',$attr); + echo ''; + echo ''; + } - else - $attr = htmlspecialchars( $attr ); ?> + echo '
    dn" . htmlspecialchars($dn) . "
    %s'; - if( is_attr_binary( $ldapserver, $attr ) ) - $values = array( "(binary)" ); + if ($ldapserver->isJpegPhoto($attr)) + draw_jpeg_photos($ldapserver,$dn,$attr,false,false,'align="left"'); else - $values = ldap_get_values( $ldapserver->connect(), $entry_id, $attr ); + if (is_array($values)) + foreach ($values as $value) + echo str_replace(' ',' ',htmlspecialchars($value)).'
    '; - if( isset( $values['count'] ) ) - unset( $values['count'] ); + else + echo str_replace(' ',' ',htmlspecialchars($values)).'
    '; - if( isset( $friendly_attrs[ strtolower( $attr ) ] ) ) - $attr = "".htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) . - ""; + echo '
    '; - - - - - \n"; ?> - - - - - connect(), $entry_id, $attrs ); - - } // end while( $attr ) ?> - - - - connect(), $entry_id ); - - // flush every 5th entry (speeds things up a bit) - if( 0 == $i % 5 ) + # Flush every 5th entry (speeds things up a bit) + if ($i % 5 == 0) flush(); - -} // end while( $entry_id ) +} ?> diff --git a/lib/search_results_table.php b/lib/search_results_table.php index d9372b5..1000b9b 100644 --- a/lib/search_results_table.php +++ b/lib/search_results_table.php @@ -1,9 +1,9 @@ connect(), $results ); -$all_attrs = array( '' => 1, 'dn' => 1 ); - -// Iterate over each entry and store the whole dang thing in memory (necessary to extract -// all attribute names and display in table format in a single pass) -$i = 0; -$entries = array(); +$all_attrs = array('' =>1,'dn'=>1); $entries_display = array(); -while( $entry_id ) { - $i++; - if( $i <= $start_entry ) { - $entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id ); - continue; - } - if( $i >= $end_entry ) - break; - $dn = ldap_get_dn( $ldapserver->connect(), $entry_id ); - $dn_display = strlen( $dn ) > 40 ? "" . - htmlspecialchars( substr( $dn, 0, 40 ) . '...' ) . - "" - : htmlspecialchars( $dn ); - $encoded_dn = rawurlencode( $dn ); - $rdn = get_rdn( $dn ); - $icon = get_icon_use_cache( $ldapserver, $dn ); - $attrs = ldap_get_attributes( $ldapserver->connect(), $entry_id ); - $attr = ldap_first_attribute( $ldapserver->connect(), $entry_id, $attrs ); - $attrs_display = array(); - $edit_url = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,$encoded_dn); - $attrs_display[''] = "
    "; - $attrs_display['dn'] = "$dn_display"; - // Iterate over each attribute for this entry and store in associative array $attrs_display - while( $attr ) { - //echo "getting values for dn $dn, attr $attr\n"; +/* Iterate over each entry and store the whole dang thing in memory (necessary to extract + all attribute names and display in table format in a single pass) */ +$i=0; - // Clean up the attr name - if( isset( $friendly_attrs[ strtolower( $attr ) ] ) ) - $attr_display = "" . - htmlspecialchars( $friendly_attrs[ strtolower($attr) ] ) . - ""; - else - $attr_display = htmlspecialchars( $attr ); +foreach ($results as $dn => $dndetails) { + $i++; + if ($i <= $start_entry) + continue; - if( ! isset( $all_attrs[ $attr_display ] ) ) - $all_attrs[ $attr_display ] = 1; + if ($i >= $end_entry) + break; - // Get the values - $display = ''; - if( is_jpeg_photo( $ldapserver, $attr ) ) { - ob_start(); - draw_jpeg_photos( $ldapserver, $dn, $attr, false, false, 'align="center"' ); - $display = ob_get_contents(); - ob_end_clean(); - } elseif( is_attr_binary( $ldapserver, $attr ) ) { - $display = array( "(binary)" ); - } else { - $values = @ldap_get_values( $ldapserver->connect(), $entry_id, $attr ); - if( ! is_array( $values ) ) { - $display = 'Error'; - } else { - if( isset( $values['count'] ) ) - unset( $values['count'] ); - foreach( $values as $value ) - $display .= str_replace( ' ', ' ', - htmlspecialchars( $value ) ) . "
    \n"; - } - } - $attrs_display[ $attr_display ] = $display; - $attr = ldap_next_attribute( $ldapserver->connect(), $entry_id, $attrs ); - } // end while( $attr ) + $dn_display = strlen($dn) > 40 ? + sprintf('%s...',htmlspecialchars($dn),htmlspecialchars(substr($dn,0,40))) : + htmlspecialchars($dn); - $entries_display[] = $attrs_display; + $edit_url = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($dn)); + $attrs_display = array(); + $attrs_display[''] = sprintf('
    ',$edit_url,get_icon($ldapserver,$dn)); + $attrs_display['dn'] = sprintf('%s',$edit_url,$dn_display); - //echo '
    ';
    -    //print_r( $attrs_display );
    -    //echo "\n\n";
    -    $entry_id = ldap_next_entry( $ldapserver->connect(), $entry_id );
    +	# Iterate over each attribute for this entry and store in associative array $attrs_display
    +	foreach ($dndetails as $attr => $values) {
    +		# Ignore DN, we've already displayed it.
    +		if ($attr == 'dn')
    +			continue;
     
    -} // end while( $entry_id )
    +		# Clean up the attr name
    +		if (isset($friendly_attrs[strtolower($attr)]))
    +			$attr_display = sprintf('%s',
    +				$attr,htmlspecialchars($friendly_attrs[strtolower($attr)]));
    +		else
    +			$attr_display = htmlspecialchars($attr);
     
    -$all_attrs = array_keys( $all_attrs );
    +		if (! isset($all_attrs[$attr_display]))
    +			$all_attrs[$attr_display] = 1;
     
    -/*
    -echo "
    ";
    -print_r( $all_attrs );
    -print_r( $entries_display );
    -echo "
    "; -*/ + # Get the values + $display = ''; -// Store the header row so it can be repeated later -$header_row = ""; -foreach( $all_attrs as $attr ) - $header_row .= "$attr"; -$header_row .= "\n"; + if ($ldapserver->isJpegPhoto($attr)) { + ob_start(); + draw_jpeg_photos($ldapserver,$dn,$attr,false,false,'align="center"'); + $display = ob_get_contents(); + ob_end_clean(); -// begin drawing table -echo "
    "; -echo "
    "; -echo "\n"; + } elseif ($ldapserver->isAttrBinary($attr)) { + $display = array('(binary)'); -for( $i=0; $i"; - else - echo ""; - foreach( $all_attrs as $attr ) { - echo "\n"; - } - echo "\n"; + } else { + if (! is_array($values)) + $display .= str_replace(' ',' ',htmlspecialchars($values)).'
    '; + else + foreach ($values as $value ) + $display .= str_replace(' ',' ',htmlspecialchars($value)).'
    '; + } + + $attrs_display[$attr_display] = $display; + } + + $entries_display[] = $attrs_display; } -echo "
    "; - if( isset( $entry[ $attr ] ) ) - echo $entry[ $attr ]; - echo "
    "; -echo "
    "; +$all_attrs = array_keys($all_attrs); + +# Store the header row so it can be repeated later +$header_row = ''; +foreach ($all_attrs as $attr) + $header_row .= sprintf('%s',$attr); +$header_row .= ''; + +# Begin drawing table +echo '
    '; +echo '
    '; +echo ''; + +for ($i=0;$i'; + else + echo ''; + + foreach ($all_attrs as $attr) { + echo ''; + } + echo ''; +} + +echo '
    '; + if (isset($entry[$attr])) + echo $entry[$attr]; + echo '
    '; +echo '
    '; ?> diff --git a/lib/server_functions.php b/lib/server_functions.php index ae7d16e..1ff6ed8 100644 --- a/lib/server_functions.php +++ b/lib/server_functions.php @@ -1,5 +1,5 @@ _baseDN = null; $this->server_id = $server_id; @@ -56,7 +56,7 @@ class LDAPserver { */ function isValidServer() { if (DEBUG_ENABLED) - debug_log('%s::isValidServer(): Entered with ()',2,get_class($this)); + debug_log('%s::isValidServer(): Entered with ()',17,get_class($this)); if (trim($this->host)) return true; @@ -74,19 +74,19 @@ class LDAPserver { * is 'session', the $_SESSION array is checked. * * There are three cases for this function depending on the auth_type configured for - * the specified server. If the auth_type is session or cookie, then get_logged_in_dn() is + * the specified server. If the auth_type is session or cookie, then getLoggedInDN() is * called to verify that the user has logged in. If the auth_type is config, then the * $ldapservers configuration in config.php is checked to ensure that the user has specified * login information. In any case, if phpLDAPadmin has enough information to login * to the server, true is returned. Otherwise false is returned. * * @return bool - * @see get_logged_in_dn + * @see getLoggedInDN */ function haveAuthInfo() { if (DEBUG_ENABLED) { - debug_log('%s::haveAuthInfo(): Entered with ()',2,get_class($this)); - debug_log('%s::haveAuthInfo(): We are a (%s) auth_type',9,get_class($this),$this->auth_type); + debug_log('%s::haveAuthInfo(): Entered with ()',17,get_class($this)); + debug_log('%s::haveAuthInfo(): We are a (%s) auth_type',80,get_class($this),$this->auth_type); } # Set default return @@ -95,9 +95,9 @@ class LDAPserver { # For session or cookie auth_types, we check the session or cookie to see if a user has logged in. if (in_array($this->auth_type,array('session','cookie'))) { - /* we don't look at get_logged_in_pass() cause it may be null for anonymous binds - get_logged_in_dn() will never return null if someone is really logged in. */ - if (get_logged_in_dn($this)) + /* we don't look at getLoggedInPass() cause it may be null for anonymous binds + getLoggedInDN() will never return null if someone is really logged in. */ + if ($this->getLoggedInDN()) $return = true; else $return = false; @@ -108,26 +108,25 @@ class LDAPserver { $return = true; } else { - global $lang; - pla_error(sprintf($lang['error_auth_type_config'],htmlspecialchars($this->auth_type))); + pla_error(sprintf(_('Error: You have an error in your config file. The only three allowed values for auth_type in the $servers section are \'session\', \'cookie\', and \'config\'. You entered \'%s\', which is not allowed.'),htmlspecialchars($this->auth_type))); } if (DEBUG_ENABLED) - debug_log('%s::haveAuthInfo(): Returning (%s)',1,get_class($this),$return); + debug_log('%s::haveAuthInfo(): Returning (%s)',17,get_class($this),$return); return $return; } - function _connect($connect_num=0) { + function _connect($connect_name) { if (DEBUG_ENABLED) - debug_log('%s::_connect(): Entered with (%s)',2,get_class($this),$connect_num); + debug_log('%s::_connect(): Entered with (%s)',17,get_class($this),$connect_name); - if (isset($this->connections[$connect_num]['resource'])) { + if (isset($this->connections[$connect_name]['resource'])) { if (DEBUG_ENABLED) - debug_log('%s::connect(): Returning CACHED connection resource [%s](%s)',3, - get_class($this),$this->connections[$connect_num]['resource'],$connect_num); + debug_log('%s::_connect(): Returning CACHED connection resource [%s](%s)',16, + get_class($this),$this->connections[$connect_name]['resource'],$connect_name); - return $this->connections[$connect_num]['resource']; + return $this->connections[$connect_name]['resource']; } @@ -136,159 +135,162 @@ class LDAPserver { /** * Connect to the LDAP server. - - * @param bool $anonymous Connect as the anonymous user. + * + * @param bool $process_error Whether to call an error page, if the connection fails + * @param bool $connect_id The ID for this connection * @param bool $reconnect Use a cached connetion, or create a new one. * @returns resource|false Connection resource to LDAP server, or false if no connection made. - * @todo Need to make changes so that multiple connects can be made. */ - function connect($process_error=true,$anonymous=false,$reconnect=false,$connect_num=0) { + function connect($process_error=true,$connect_id='user',$reconnect=false,$dn=null,$pass=null) { if (DEBUG_ENABLED) - debug_log('%s::connect(): Entered with (%s,%s,%s,%s)',2, - get_class($this),$process_error,$anonymous,$reconnect,$connect_num); + debug_log('%s::connect(): Entered with (%s,%s,%s)',17, + get_class($this),$process_error,$connect_id,$reconnect); - $resource = $this->_connect($connect_num); - if ($resource && ! $reconnect) { + # Quick return if we have already connected. + $resource = $this->_connect($connect_id); + if ($resource && ! $reconnect) return $resource; - } - + if (DEBUG_ENABLED) - debug_log('%s::connect(): Creating new connection #[%s] for Server ID [%s]',3, - get_class($this),$connect_num,$this->server_id); + debug_log('%s::connect(): Creating new connection [%s] for Server ID [%s]',16, + get_class($this),$connect_id,$this->server_id); - // grab the auth info based on the auth_type for this server - if ($anonymous == true) { + # grab the auth info based on the auth_type for this server + if ($connect_id == 'anonymous') { if (DEBUG_ENABLED) - debug_log('%s::connect(): This IS an anonymous login',4,get_class($this)); + debug_log('%s::connect(): This IS an anonymous login',80,get_class($this)); - $this->connections[$connect_num]['login_dn'] = null; - $this->connections[$connect_num]['login_pass'] = null; + $this->connections[$connect_id]['login_dn'] = null; + $this->connections[$connect_id]['login_pass'] = null; } elseif ($this->auth_type == 'config') { if (DEBUG_ENABLED) - debug_log('%s::connect(): This IS a "config" login',9,get_class($this)); + debug_log('%s::connect(): This IS a "config" login',80,get_class($this)); if (! $this->login_dn) { if (DEBUG_ENABLED) - debug_log('%s::connect(): No login_dn, so well do anonymous',9,get_class($this)); + debug_log('%s::connect(): No login_dn, so well do anonymous',80,get_class($this)); - $anonymous = true; + $connect_id = 'anonymous'; } else { - $this->connections[$connect_num]['login_dn'] = $this->login_dn; - $this->connections[$connect_num]['login_pass'] = $this->login_pass; + $this->connections[$connect_id]['login_dn'] = $this->login_dn; + $this->connections[$connect_id]['login_pass'] = $this->login_pass; - // Multiple base strings mean we can't do this properly - // Could just take the first entry or return an array rather than a string - // Ignore for now - //$this->connections[$connect_num]['login_dn'] = expand_dn_with_base( $this, $this->connections[$connect_num]['login_dn'], false ); if (DEBUG_ENABLED) - debug_log('%s::connect(): Config settings, DN [%s], PASS [%s]',9, - get_class($this),$this->connections[$connect_num]['login_dn'], - $this->connections[$connect_num]['login_pass'] ? md5($this->connections[$connect_num]['login_pass']) : ''); + debug_log('%s::connect(): Config settings, DN [%s], PASS [%s]',80, + get_class($this),$this->connections[$connect_id]['login_dn'], + $this->connections[$connect_id]['login_pass'] ? md5($this->connections[$connect_id]['login_pass']) : ''); } - + } else { if (DEBUG_ENABLED) - debug_log('%s::connect(): This IS some other login',9,get_class($this)); + debug_log('%s::connect(): This IS some other login',80,get_class($this)); - $this->connections[$connect_num]['login_dn'] = get_logged_in_dn( $this ); - $this->connections[$connect_num]['login_pass'] = get_logged_in_pass( $this ); + # Did we pass the dn/pass to this function? + if ($dn) { + $this->connections[$connect_id]['login_dn'] = $dn; + $this->connections[$connect_id]['login_pass'] = $pass; - if (DEBUG_ENABLED) - debug_log('%s::connect(): Config settings, DN [%s], PASS [%s]',9, - get_class($this),$this->connections[$connect_num]['login_dn'], - $this->connections[$connect_num]['login_pass'] ? md5($this->connections[$connect_num]['login_pass']) : ''); + # Was this an anonyous bind (the cookie stores 0 if so)? + } elseif ($this->getLoggedInDN() == 'anonymous') { + $connect_id = 'anonymous'; + $this->connections[$connect_id]['login_dn'] = null; + $this->connections[$connect_id]['login_pass'] = null; - // Was this an anonyous bind (the cookie stores 0 if so)? - if( 'anonymous' == $this->connections[$connect_num]['login_dn'] ) { - $this->connections[$connect_num]['login_dn'] = null; - $this->connections[$connect_num]['login_pass'] = null; - $anonymous = true; - } + } else { + $this->connections[$connect_id]['login_dn'] = $this->getLoggedInDN(); + $this->connections[$connect_id]['login_pass'] = $this->getLoggedInPass(); + } } - - if (! $anonymous && ! $this->connections[$connect_num]['login_dn'] && ! $this->connections[$connect_num]['login_pass']) { + if (DEBUG_ENABLED) + debug_log('%s::connect(): Config settings, DN [%s], PASS [%s]',80, + get_class($this),$this->connections[$connect_id]['login_dn'], + $this->connections[$connect_id]['login_pass'] ? md5($this->connections[$connect_id]['login_pass']) : ''); + + + if ($connect_id != 'anonymous' && ! $this->connections[$connect_id]['login_dn'] && ! $this->connections[$connect_id]['login_pass']) { if (DEBUG_ENABLED) - debug_log('%s::connect(): We dont have enough auth info for server [%s]',9,get_class($this),$this->server_id); + debug_log('%s::connect(): We dont have enough auth info for server [%s]',80,get_class($this),$this->server_id); return false; } - - run_hook ( 'pre_connect', array ( 'server_id' => $this->server_id, - 'connect_num' => $connect_num, - 'anonymous' => $anonymous ) ); - + + # Now that we have worked out the connect_id, lets just check and see if we have already connected. + $resource = $this->_connect($connect_id); + if ($resource && ! $reconnect) + return $resource; + + run_hook('pre_connect',array('server_id'=>$this->server_id,'connect_id'=>$connect_id)); + if ($this->port) - $resource = @ldap_connect( $this->host, $this->port ); + $resource = @ldap_connect($this->host,$this->port); else - $resource = @ldap_connect( $this->host ); - + $resource = @ldap_connect($this->host); + if (DEBUG_ENABLED) - debug_log('%s::connect(): LDAP Resource [%s], Host [%s], Port [%s]',9, + debug_log('%s::connect(): LDAP Resource [%s], Host [%s], Port [%s]',16, get_class($this),$resource,$this->host,$this->port); - // go with LDAP version 3 if possible (needed for renaming and Novell schema fetching) - @ldap_set_option( $resource, LDAP_OPT_PROTOCOL_VERSION, 3 ); + # Go with LDAP version 3 if possible (needed for renaming and Novell schema fetching) + @ldap_set_option($resource,LDAP_OPT_PROTOCOL_VERSION,3); - // Disabling this makes it possible to browse the tree for Active Directory, and seems - // to not affect other LDAP servers (tested with OpenLDAP) as phpLDAPadmin explicitly - // specifies deref behavior for each ldap_search operation. - @ldap_set_option( $resource, LDAP_OPT_REFERRALS, 0); + /* Disabling this makes it possible to browse the tree for Active Directory, and seems + to not affect other LDAP servers (tested with OpenLDAP) as phpLDAPadmin explicitly + specifies deref behavior for each ldap_search operation. */ + @ldap_set_option($resource,LDAP_OPT_REFERRALS,0); - // try to fire up TLS is specified in the config - if( $this->isTLSEnabled() ) { - global $lang; - function_exists( 'ldap_start_tls' ) or pla_error( $lang['php_install_not_supports_tls'] ); - @ldap_start_tls( $resource ) or pla_error( $lang['could_not_start_tls'], ldap_error($resource)); + # Try to fire up TLS is specified in the config + if ($this->isTLSEnabled()) { + function_exists('ldap_start_tls') or pla_error(_('Your PHP install does not support TLS.')); + @ldap_start_tls($resource) or pla_error(_('Could not start TLS. Please check your LDAP server configuration.'),ldap_error($resource)); } - - $bind_result = @ldap_bind( $resource, $this->connections[$connect_num]['login_dn'], - $this->connections[$connect_num]['login_pass'] ); - - if (DEBUG_ENABLED) - debug_log('%s::connect(): Resource [%s], Bind Result [%s]',9,get_class($this),$resource,$bind_result); - if( ! $bind_result ) { + $bind_result = @ldap_bind($resource,$this->connections[$connect_id]['login_dn'], + $this->connections[$connect_id]['login_pass']); + + if (DEBUG_ENABLED) + debug_log('%s::connect(): Resource [%s], Bind Result [%s]',16,get_class($this),$resource,$bind_result); + + if (! $bind_result) { if (DEBUG_ENABLED) - debug_log('%s::connect(): Leaving with FALSE, bind FAILed',9,get_class($this)); + debug_log('%s::connect(): Leaving with FALSE, bind FAILed',16,get_class($this)); if ($process_error) { - global $lang; - switch( ldap_errno($resource) ) { - case 0x31: - pla_error( $lang['bad_user_name_or_password'] ); - break; - case 0x32: - pla_error( $lang['insufficient_access_rights'] ); - break; - case -1: - pla_error( sprintf($lang['could_not_connect_to_host_on_port'],$this->host,$this->port) ); - break; - default: - pla_error( $lang['could_not_bind'], ldap_err2str( $resource ), $resource ); + switch (ldap_errno($resource)) { + case 0x31: + pla_error(_('Bad username or password. Please try again.')); + break; + case 0x32: + pla_error(_('Insufficient access rights.')); + break; + case -1: + pla_error(sprintf(_('Could not connect to "%s" on port "%s"'),$this->host,$this->port)); + break; + default: + pla_error(_('Could not bind to the LDAP server.'),ldap_err2str($resource),$resource); } + } else { - return false; // ldap_errno( $resource ); + return false; } } - + if (is_resource($resource) && ($bind_result)) { if (DEBUG_ENABLED) - debug_log('%s::connect(): Bind successful',9,get_class($this)); + debug_log('%s::connect(): Bind successful',16,get_class($this)); - $this->connections[$connect_num]['connected'] = true; - $this->connections[$connect_num]['resource'] = $resource; + $this->connections[$connect_id]['resource'] = $resource; } if (DEBUG_ENABLED) - debug_log('%s::connect(): Leaving with Connect #[%s], Resource [%s]',9, - get_class($this),$connect_num,$this->connections[$connect_num]['resource']); - - return $this->connections[$connect_num]['resource']; + debug_log('%s::connect(): Leaving with Connect [%s], Resource [%s]',16, + get_class($this),$connect_id,$this->connections[$connect_id]['resource']); + + return $this->connections[$connect_id]['resource']; } - + /** * Gets the root DN of the specified LDAPServer, or null if it * can't find it (ie, the server won't give it to us, or it isnt @@ -305,55 +307,45 @@ class LDAPserver { */ function getBaseDN() { if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): Entered with ()',2,get_class($this)); + debug_log('%s::getBaseDN(): Entered with ()',17,get_class($this)); global $ldapservers; # Return the cached entry if we've been here before. if (! is_null($this->_baseDN)) { - debug_log('%s::getBaseDN(): Return CACHED BaseDN [%s]',3,get_class($this),implode('|',$this->_baseDN)); + debug_log('%s::getBaseDN(): Return CACHED BaseDN [%s]',17,get_class($this),implode('|',$this->_baseDN)); return $this->_baseDN; } if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): Checking config for BaseDN',9,get_class($this)); + debug_log('%s::getBaseDN(): Checking config for BaseDN',80,get_class($this)); # If the base is set in the configuration file, then just return that. if (count($ldapservers->GetValue($this->server_id,'server','base')) > 0) { $this->_baseDN = $ldapservers->GetValue($this->server_id,'server','base'); if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): Return BaseDN from Config [%s]',4,get_class($this),implode('|',$this->_baseDN)); + debug_log('%s::getBaseDN(): Return BaseDN from Config [%s]',17,get_class($this),implode('|',$this->_baseDN)); return $this->_baseDN; # We need to figure it out. } else { if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): Connect to LDAP to find BaseDN',9,get_class($this)); + debug_log('%s::getBaseDN(): Connect to LDAP to find BaseDN',80,get_class($this)); if ($this->connect()) { - $r = @ldap_read($this->connect(),'','objectClass=*',array('namingContexts')); + $r = array_pop($this->search(null,'','objectClass=*',array('namingContexts'),'base')); + $r = array_change_key_case($r); - if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): Search Results [%s], Resource [%s], Msg [%s]',9, - get_class($this),$r,$this->connect(),ldap_error($this->connect())); - - if (! $r) - return array(''); - - $r = @ldap_get_entries($this->connect(false),$r); - - if (isset($r[0]['namingcontexts'])) { - - # If we have a count key, delete it - dont need it. - if (isset($r[0]['namingcontexts']['count'])) - unset($r[0]['namingcontexts']['count']); + if (isset($r['namingcontexts'])) { + if (! is_array($r['namingcontexts'])) + $r['namingcontexts'] = array($r['namingcontexts']); if (DEBUG_ENABLED) - debug_log('%s::getBaseDN(): LDAP Entries:%s',5,get_class($this),implode('|',$r[0]['namingcontexts'])); + debug_log('%s::getBaseDN(): LDAP Entries:%s',80,get_class($this),implode('|',$r['namingcontexts'])); - $this->_baseDN = $r[0]['namingcontexts']; + $this->_baseDN = $r['namingcontexts']; return $this->_baseDN; @@ -372,11 +364,13 @@ class LDAPserver { * in read only mode. * * If a user has logged in via anonymous bind, and config.php specifies - * anonymous_bind_implies_read_only as true, then - * this also returns true. Servers can be configured read-only in + * + * $config->custom->appearance['anonymous_bind_implies_read_only'] = true; + * + * then this also returns true. Servers can be configured read-only in * config.php thus: * - * $server[$i]['read_only'] = true; + * $ldapservers->SetValue($i,'server','read_only',false); * * * @return bool @@ -390,13 +384,13 @@ class LDAPserver { if ($this->read_only == true) $return = true; - elseif (get_logged_in_dn($this) === "anonymous" && + elseif ($this->getLoggedInDN() === 'anonymous' && ($config->GetValue('appearance','anonymous_bind_implies_read_only') === true)) $return = true; if (DEBUG_ENABLED) - debug_log('%s::isReadOnly(): Entered with (), Returning (%s)',1,get_class($this),$return); + debug_log('%s::isReadOnly(): Entered with (), Returning (%s)',17,get_class($this),$return); return $return; } @@ -406,7 +400,7 @@ class LDAPserver { * * Mass deletion is enabled in config.php this: * - * $config->custom->appearance['mass_delete'] = true; + * $config->custom->appearance['mass_delete'] = true; * * Notice that mass deletes are not enabled on a per-server basis, but this * function checks that the server is not in a read-only state as well. @@ -415,25 +409,24 @@ class LDAPserver { */ function isMassDeleteEnabled() { if (DEBUG_ENABLED) - debug_log('%s::isMassDeleteEnabled(): Entered with ()',2,get_class($this)); + debug_log('%s::isMassDeleteEnabled(): Entered with ()',17,get_class($this)); global $config; - if ($this->connect(false) && - $this->haveAuthInfo() && - ! $this->isReadOnly() && - $config->GetValue('appearance','mass_delete') === true) + if ($this->connect(false) && $this->haveAuthInfo() && ! $this->isReadOnly() && + ! $config->GetValue('appearance','tree_plm')) { + + $config->GetValue('appearance','mass_delete') === true; return true; - else + } else return false; } /** * Gets whether the admin has configured phpLDAPadmin to show the "Create New" link in the tree viewer. - * * - * $ldapservers->SetValue($i,'appearance','show_create','true|false'); + * $ldapservers->SetValue($i,'appearance','show_create','true|false'); * * If NOT set, then default to show the Create New item. * If IS set, then return the value (it should be true or false). @@ -443,7 +436,7 @@ class LDAPserver { */ function isShowCreateEnabled() { if (DEBUG_ENABLED) - debug_log('%s::isShowCreateEnabled(): Entered with ()',2,get_class($this)); + debug_log('%s::isShowCreateEnabled(): Entered with ()',17,get_class($this)); return $this->show_create; } @@ -461,7 +454,7 @@ class LDAPserver { */ function isLowBandwidth() { if (DEBUG_ENABLED) - debug_log('%s::isLowBandwidth(): Entered with ()',2,get_class($this)); + debug_log('%s::isLowBandwidth(): Entered with ()',17,get_class($this)); return $this->low_bandwidth; } @@ -483,7 +476,7 @@ class LDAPserver { $return = false; if (DEBUG_ENABLED) - debug_log('%s::isVisible(): Entered with (), Returning (%s)',1,get_class($this),$return); + debug_log('%s::isVisible(): Entered with (), Returning (%s)',17,get_class($this),$return); return $return; } @@ -498,7 +491,7 @@ class LDAPserver { */ function getSchemaDN($dn='') { if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Entered with (%s)',2,get_class($this),$dn); + debug_log('%s::getSchemaDN(): Entered with (%s)',25,get_class($this),$dn); # If we already got the SchemaDN, then return it. if ($this->_schemaDN) @@ -510,19 +503,19 @@ class LDAPserver { $search = @ldap_read($this->connect(),$dn,'objectClass=*',array('subschemaSubentry')); if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Search returned (%s)',4,get_class($this),is_resource($search)); + debug_log('%s::getSchemaDN(): Search returned (%s)',24,get_class($this),is_resource($search)); # Fix for broken ldap.conf configuration. if (! $search && ! $dn) { if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Trying to find the DN for "broken" ldap.conf',1,get_class($this)); + debug_log('%s::getSchemaDN(): Trying to find the DN for "broken" ldap.conf',80,get_class($this)); if (isset($this->_baseDN)) { foreach ($this->_baseDN as $base) { $search = @ldap_read($this->connect(),$base,'objectClass=*',array('subschemaSubentry')); if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Search returned (%s) for base (%s)',4, + debug_log('%s::getSchemaDN(): Search returned (%s) for base (%s)',24, get_class($this),is_resource($search),$base); if ($search) @@ -536,7 +529,7 @@ class LDAPserver { if (! @ldap_count_entries($this->connect(),$search)) { if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Search returned 0 entries. Returning NULL',4,get_class($this)); + debug_log('%s::getSchemaDN(): Search returned 0 entries. Returning NULL',25,get_class($this)); return null; } @@ -544,7 +537,7 @@ class LDAPserver { $entries = @ldap_get_entries($this->connect(),$search); if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Search returned [%s]',4,get_class($this),serialize($entries)); + debug_log('%s::getSchemaDN(): Search returned [%s]',24,get_class($this),$entries); if (! $entries || ! is_array($entries)) return null; @@ -552,7 +545,7 @@ class LDAPserver { $entry = isset($entries[0]) ? $entries[0] : false; if (! $entry) { if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Entry is false, Returning NULL',4,get_class($this)); + debug_log('%s::getSchemaDN(): Entry is false, Returning NULL',80,get_class($this)); return null; } @@ -560,7 +553,7 @@ class LDAPserver { $sub_schema_sub_entry = isset($entry[0]) ? $entry[0] : false; if (! $sub_schema_sub_entry) { if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Sub Entry is false, Returning NULL',4,get_class($this)); + debug_log('%s::getSchemaDN(): Sub Entry is false, Returning NULL',80,get_class($this)); return null; } @@ -568,7 +561,7 @@ class LDAPserver { $this->_schemaDN = isset($entry[$sub_schema_sub_entry][0]) ? $entry[$sub_schema_sub_entry][0] : false; if (DEBUG_ENABLED) - debug_log('%s::getSchemaDN(): Returning (%s)',1,get_class($this),$this->_schemaDN); + debug_log('%s::getSchemaDN(): Returning (%s)',25,get_class($this),$this->_schemaDN); return $this->_schemaDN; } @@ -594,14 +587,14 @@ class LDAPserver { * Failing that, we use some commonly known schema DNs. Default * value is the Root DSE DN (zero-length string) * @return array an array of strings of this form: - * Array ( - * [0] => "(1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ... - * [1] => "(1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ... - * etc. + * Array ( + * [0] => "(1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ... + * [1] => "(1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ... + * etc. */ function getRawSchema($schema_to_fetch,$dn='') { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Entered with (%s,%s)',2,get_class($this),$schema_to_fetch,$dn); + debug_log('%s::getRawSchema(): Entered with (%s,%s)',25,get_class($this),$schema_to_fetch,$dn); $valid_schema_to_fetch = array('objectclasses','attributetypes','ldapsyntaxes','matchingrules','matchingruleuse'); @@ -610,21 +603,20 @@ class LDAPserver { # error checking $schema_to_fetch = strtolower($schema_to_fetch); - + if (!is_null($this->_schema_entries) && isset($this->_schema_entries[$schema_to_fetch])) { - $schema = $this->_schema_entries[$schema_to_fetch]; - unset($schema['count']); + $schema = $this->_schema_entries[$schema_to_fetch]; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning (%s)',1,get_class($this),serialize($schema)); + debug_log('%s::getRawSchema(): Returning CACHED (%s)',25,get_class($this),$schema); return $schema; } - + # This error message is not localized as only developers should ever see it if (! in_array($schema_to_fetch,$valid_schema_to_fetch)) pla_error(sprintf('Bad parameter provided to function to %s::getRawSchema(). "%s" is not valid for the schema_to_fetch parameter.', - get_class($this),htmlspecialchars($schema_to_fetch))); + get_class($this),htmlspecialchars($schema_to_fetch))); # Try to get the schema DN from the specified entry. $schema_dn = $this->getSchemaDN($dn); @@ -638,31 +630,31 @@ class LDAPserver { if ($schema_dn) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Using Schema DN (%s)',4,get_class($this),$schema_dn); + debug_log('%s::getRawSchema(): Using Schema DN (%s)',24,get_class($this),$schema_dn); foreach (array('(objectClass=*)','(objectClass=subschema)') as $schema_filter) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Looking for schema with Filter (%s)',4,get_class($this),$schema_filter); + debug_log('%s::getRawSchema(): Looking for schema with Filter (%s)',24,get_class($this),$schema_filter); $schema_search = @ldap_read($this->connect(),$schema_dn,$schema_filter,array($schema_to_fetch),0,0,0,LDAP_DEREF_ALWAYS); if (is_null($schema_search)) - continue; + continue; $schema_entries = @ldap_get_entries($this->connect(),$schema_search); if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Search returned [%s]',5,get_class($this),serialize($schema_entries)); + debug_log('%s::getRawSchema(): Search returned [%s]',24,get_class($this),$schema_entries); - if ($schema_entries && isset($schema_entries[0][$schema_to_fetch])) { + if (is_array($schema_entries) && isset($schema_entries['count'])) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Found schema with filter of (%s)',4,get_class($this),$schema_filter); + debug_log('%s::getRawSchema(): Found schema with filter of (%s)',24,get_class($this),$schema_filter); break; } if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)',5,get_class($this),$schema_filter); + debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)',24,get_class($this),$schema_filter); unset($schema_entries); $schema_search = null; @@ -673,40 +665,42 @@ class LDAPserver { is still null, use some common subSchemaSubentry DNs as a work-around. */ if (is_null($schema_search)) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Attempting work-arounds for "broken" LDAP servers...',5,get_class($this)); + debug_log('%s::getRawSchema(): Attempting work-arounds for "broken" LDAP servers...',24,get_class($this)); foreach ($this->getBaseDN() as $base) { $ldap['W2K3 AD'][expand_dn_with_base($base,'cn=Aggregate,cn=Schema,cn=configuration,')] = '(objectClass=*)'; $ldap['W2K AD'][expand_dn_with_base($base,'cn=Schema,cn=configuration,')] = '(objectClass=*)'; $ldap['W2K AD'][expand_dn_with_base($base,'cn=Schema,ou=Admin,')] = '(objectClass=*)'; } - // OpenLDAP and Novell + + # OpenLDAP and Novell $ldap['OpenLDAP']['cn=subschema'] = '(objectClass=*)'; foreach ($ldap as $ldap_server_name => $ldap_options) { foreach ($ldap_options as $ldap_dn => $ldap_filter) { if (DEBUG_ENABLED) - debug_log("%s::getRawSchema(): Attempting [%s] (%s) (%s)
    ",5, + debug_log('%s::getRawSchema(): Attempting [%s] (%s) (%s)
    ',24, get_class($this),$ldap_server_name,$ldap_dn,$ldap_filter); - $schema_search = @ldap_read($this->connect(), $ldap_dn, $ldap_filter, - array( $schema_to_fetch ), 0, 0, 0, LDAP_DEREF_ALWAYS ); + $schema_search = @ldap_read($this->connect(),$ldap_dn,$ldap_filter, + array($schema_to_fetch), 0, 0, 0, LDAP_DEREF_ALWAYS); if (is_null($schema_search)) - continue; + continue; + $schema_entries = @ldap_get_entries($this->connect(),$schema_search); if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Search returned [%s]',5,get_class($this),serialize($schema_entries)); + debug_log('%s::getRawSchema(): Search returned [%s]',24,get_class($this),$schema_entries); if ($schema_entries && isset($schema_entries[0][$schema_to_fetch])) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Found schema with filter of (%s)',4,get_class($this),$ldap_filter); + debug_log('%s::getRawSchema(): Found schema with filter of (%s)',24,get_class($this),$ldap_filter); break; } if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)', 5,get_class($this),$ldap_filter); + debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)',24,get_class($this),$ldap_filter); unset($schema_entries); $schema_search = null; @@ -717,13 +711,13 @@ class LDAPserver { } if (is_null($schema_search)) { - // Still cant find the schema, try with the RootDSE - // Attempt to pull schema from Root DSE with scope "base", or - // Attempt to pull schema from Root DSE with scope "one" (work-around for Isode M-Vault X.500/LDAP) + /* Still cant find the schema, try with the RootDSE + Attempt to pull schema from Root DSE with scope "base", or + Attempt to pull schema from Root DSE with scope "one" (work-around for Isode M-Vault X.500/LDAP) */ foreach (array('base','one') as $ldap_scope) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Attempting to find schema with scope (%s), filter (objectClass=*) and a blank base.', - 5,get_class($this),$ldap_scope); + debug_log('%s::getRawSchema(): Attempting to find schema with scope (%s), filter (objectClass=*) and a blank base.',24, + get_class($this),$ldap_scope); switch ($ldap_scope) { case 'base': @@ -736,21 +730,21 @@ class LDAPserver { } if (is_null($schema_search)) - continue; + continue; $schema_entries = @ldap_get_entries($this->connect(),$schema_search); if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Search returned [%s]',5,get_class($this),serialize($schema_entries)); + debug_log('%s::getRawSchema(): Search returned [%s]',24,get_class($this),$schema_entries); if ($schema_entries && isset($schema_entries[0][$schema_to_fetch])) { if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Found schema with filter of (%s)',4,get_class($this),'(objectClass=*)'); + debug_log('%s::getRawSchema(): Found schema with filter of (%s)',24,get_class($this),'(objectClass=*)'); break; } if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)',5,get_class($this),'(objectClass=*)'); + debug_log('%s::getRawSchema(): Didnt find schema with filter (%s)',24,get_class($this),'(objectClass=*)'); unset($schema_entries); $schema_search = null; @@ -771,7 +765,7 @@ class LDAPserver { $return = false; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning because schema_search is NULL (%s)',1,get_class($this),$return); + debug_log('%s::getRawSchema(): Returning because schema_search is NULL (%s)',25,get_class($this),$return); return $return; } @@ -780,14 +774,14 @@ class LDAPserver { # Did we get something unrecognizable? if (gettype($schema_search) != 'resource') { if (in_array($schema_to_fetch,$schema_error_message_array)) { - pla_error(sprintf('Our attempts to find your SCHEMA for "%s" has return EXPECTED results.

    (We expected a "resource" for $schema_search, instead, we got (%s))

    %s

    Dump of $schema_search:
    %s
    ', + pla_error(sprintf('Our attempts to find your SCHEMA for "%s" has return UNEXPECTED results.

    (We expected a "resource" for $schema_search, instead, we got (%s))

    %s

    Dump of $schema_search:
    %s
    ', $schema_to_fetch,gettype($schema_search),$schema_error_message,serialize($schema_search))); } else { $return = false; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning because schema_search type is not a resource (%s)',1, + debug_log('%s::getRawSchema(): Returning because schema_search type is not a resource (%s)',25, get_class($this),$return); return $return; @@ -797,7 +791,7 @@ class LDAPserver { if (! $schema_entries) { $return = false; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning false since ldap_get_entries() returned false.',1, + debug_log('%s::getRawSchema(): Returning false since ldap_get_entries() returned false.',25, get_class($this),$return); return $return; @@ -805,14 +799,14 @@ class LDAPserver { if(! isset($schema_entries[0][$schema_to_fetch])) { if (in_array($schema_to_fetch,$schema_error_message_array)) { - pla_error(sprintf('Our attempts to find your SCHEMA for "%s" has return EXPECTED results.

    (We expected a "%s" in the $schema array but it wasnt there.)

    %s

    Dump of $schema_search:
    %s
    ', + pla_error(sprintf('Our attempts to find your SCHEMA for "%s" has return UNEXPECTED results.

    (We expected a "%s" in the $schema array but it wasnt there.)

    %s

    Dump of $schema_search:
    %s
    ', $schema_to_fetch,gettype($schema_search),$schema_error_message,serialize($schema_entries))); } else { $return = false; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning because (%s) isnt in the schema array. (%s)',1, + debug_log('%s::getRawSchema(): Returning because (%s) isnt in the schema array. (%s)',25, get_class($this),$schema_to_fetch,$return); return $return; @@ -820,18 +814,17 @@ class LDAPserver { } /* Make a nice array of this form: - Array ( - [0] => "( 1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ... )" - [1] => "( 1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ... )" - etc. ) */ - - $this->_schema_entries = $schema_entries[0]; + Array ( + [0] => "(1.3.6.1.4.1.7165.1.2.2.4 NAME 'gidPool' DESC 'Pool ...)" + [1] => "(1.3.6.1.4.1.7165.2.2.3 NAME 'sambaAccount' DESC 'Sa ...)" + etc.) */ $schema = $schema_entries[0][$schema_to_fetch]; unset($schema['count']); + $this->_schema_entries[$schema_to_fetch] = $schema; if (DEBUG_ENABLED) - debug_log('%s::getRawSchema(): Returning (%s)',1,get_class($this),serialize($schema)); + debug_log('%s::getRawSchema(): Returning (%s)',25,get_class($this),$schema); return $schema; } @@ -857,7 +850,7 @@ class LDAPserver { $return = false; if (DEBUG_ENABLED) - debug_log('%s::isLoginAttrEnabled(): Entered with (), Returning (%s)',1,get_class($this),$return); + debug_log('%s::isLoginAttrEnabled(): Entered with (), Returning (%s)',17,get_class($this),$return); return $return; } @@ -874,7 +867,7 @@ class LDAPserver { */ function isLoginStringEnabled() { if (DEBUG_ENABLED) - debug_log('%s::isLoginStringEnabled(): login_attr is [%s]',9,get_class($this),$this->login_attr); + debug_log('%s::isLoginStringEnabled(): login_attr is [%s]',80,get_class($this),$this->login_attr); if (! strcasecmp($this->login_attr,'string')) $return = true; @@ -882,7 +875,7 @@ class LDAPserver { $return = false; if (DEBUG_ENABLED) - debug_log('%s::isLoginStringEnabled(): Entered with (), Returning (%s)',1,get_class($this),$return); + debug_log('%s::isLoginStringEnabled(): Entered with (), Returning (%s)',17,get_class($this),$return); return $return; } @@ -899,7 +892,7 @@ class LDAPserver { */ function getLoginString() { if (DEBUG_ENABLED) - debug_log('%s::getLoginString(): Entered with ()',2,get_class($this)); + debug_log('%s::getLoginString(): Entered with ()',17,get_class($this)); return $this->login_string; } @@ -924,7 +917,7 @@ class LDAPserver { $return = $ldapservers->GetValue($this->server_id,'login','anon_bind'); if (DEBUG_ENABLED) - debug_log('%s::isAnonBindAllowed(): Entered with (), Returning (%s)',1,get_class($this),$return); + debug_log('%s::isAnonBindAllowed(): Entered with (), Returning (%s)',17,get_class($this),$return); return $return; } @@ -942,7 +935,7 @@ class LDAPserver { */ function isTLSEnabled() { if (DEBUG_ENABLED) - debug_log('%s::isTLSEnabled(): Entered with ()',2,get_class($this)); + debug_log('%s::isTLSEnabled(): Entered with ()',17,get_class($this)); return $this->tls; } @@ -960,8 +953,8 @@ class LDAPserver { * @return bool */ function isBranchRenameEnabled() { - debug_log(sprintf('%s::isBranchRenameEnabled(): Entered with (), Returning (%s).', - get_class($this),$this->branch_rename),2); + debug_log('%s::isBranchRenameEnabled(): Entered with (), Returning (%s).',17, + get_class($this),$this->branch_rename); return $this->branch_rename; } @@ -980,39 +973,47 @@ class LDAPserver { * @see getSchemaObjectClass */ function SchemaObjectClasses($dn='') { - debug_log(sprintf('%s::SchemaObjectClasses(): Entered with (%s)',get_class($this),$dn),2); - + debug_log('%s::SchemaObjectClasses(): Entered with (%s)',25,get_class($this),$dn); + # Set default return $return = null; - + if ($return = get_cached_item($this->server_id,'schema','objectclasses')) { - debug_log(sprintf('%s::SchemaObjectClasses(): Returning CACHED [%s] (%s)', - get_class($this),$this->server_id,'objectclasses'),3); - + debug_log('%s::SchemaObjectClasses(): Returning CACHED [%s] (%s)',25, + get_class($this),$this->server_id,'objectclasses'); + return $return; } - + $raw_oclasses = $this->getRawSchema('objectclasses',$dn); - + if ($raw_oclasses) { # build the array of objectClasses $return = array(); - + foreach ($raw_oclasses as $class_string) { if (is_null($class_string) || ! strlen($class_string)) continue; - - $object_class = new ObjectClass($class_string); + + $object_class = new ObjectClass($class_string,$this); $return[strtolower($object_class->getName())] = $object_class; } - + + # Now go through and reference the parent/child relationships + foreach ($return as $oclass) { + foreach ($oclass->getSupClasses() as $parent_name) { + if (isset($return[strtolower($parent_name)])) + $return[strtolower($parent_name)]->addChildObjectClass($oclass->getName()); + } + } + ksort($return); - + # cache the schema to prevent multiple schema fetches from LDAP server set_cached_item($this->server_id,'schema','objectclasses',$return); } - - debug_log(sprintf('%s::SchemaObjectClasses(): Returning (%s)',get_class($this),serialize($return)),1); + + debug_log('%s::SchemaObjectClasses(): Returning (%s)',25,get_class($this),$return); return $return; } @@ -1031,15 +1032,15 @@ class LDAPserver { function getSchemaObjectClass($oclass_name,$dn='') { $oclass_name = strtolower($oclass_name); $oclasses = $this->SchemaObjectClasses($dn); - + # Default return value $return = false; - + if (isset($oclasses[$oclass_name])) $return = $oclasses[$oclass_name]; - - debug_log(sprintf('%s::getSchemaObjectClass(): Entered with (%s,%s), Returning (%s).', - get_class($this),$oclass_name,$dn,serialize($return)),2); + + debug_log('%s::getSchemaObjectClass(): Entered with (%s,%s), Returning (%s).',25, + get_class($this),$oclass_name,$dn,$return); return $return; } @@ -1061,12 +1062,12 @@ class LDAPserver { # Default return value $return = false; - + if (isset($schema_attrs[$attr_name])) $return = $schema_attrs[$attr_name]; - - debug_log(sprintf('%s::getSchemaAttribute(): Entered with (%s,%s), Returning (%s).', - get_class($this),$attr_name,$dn,serialize($return)),2); + + debug_log('%s::getSchemaAttribute(): Entered with (%s,%s), Returning (%s).',25, + get_class($this),$attr_name,$dn,$return); return $return; } @@ -1082,23 +1083,23 @@ class LDAPserver { * @return array An array of AttributeType objects. */ function SchemaAttributes($dn=null) { - debug_log(sprintf('%s::SchemaAttributes(): Entered with (%s)',get_class($this),$dn),2); - + debug_log('%s::SchemaAttributes(): Entered with (%s)',25,get_class($this),$dn); + # Set default return $return = null; - + if ($return = get_cached_item($this->server_id,'schema','attributes')) { - debug_log(sprintf('%s::SchemaAttributes(): Returning CACHED [%s] (%s)', - get_class($this),$this->server_id,'attributes'),3); + debug_log('%s::SchemaAttributes(): Returning CACHED [%s] (%s)',25, + get_class($this),$this->server_id,'attributes'); return $return; } - - $raw_attrs = $this->getRawSchema('attributeTypes', $dn); + + $raw_attrs = $this->getRawSchema('attributeTypes',$dn); if ($raw_attrs) { # build the array of attribueTypes $syntaxes = $this->SchemaSyntaxes($dn); $attrs = array(); - + /** * bug 856832: create two arrays - one indexed by name (the standard * $attrs array above) and one indexed by oid (the new $attrs_oid array @@ -1109,14 +1110,14 @@ class LDAPserver { foreach ($raw_attrs as $attr_string) { if (is_null($attr_string) || ! strlen($attr_string)) continue; - + $attr = new AttributeType($attr_string); if (isset($syntaxes[$attr->getSyntaxOID()])) { $syntax = $syntaxes[$attr->getSyntaxOID()]; $attr->setType($syntax->getDescription()); } $attrs[strtolower($attr->getName())] = $attr; - + /** * bug 856832: create an entry in the $attrs_oid array too. This * will be a ref to the $attrs entry for maintenance and performance @@ -1124,7 +1125,7 @@ class LDAPserver { */ $attrs_oid[$attr->getOID()] = &$attrs[strtolower($attr->getName())]; } - + # go back and add data from aliased attributeTypes foreach ($attrs as $name => $attr) { $aliases = $attr->getAliases(); @@ -1138,6 +1139,7 @@ class LDAPserver { $new_attr = clone($attr); else $new_attr = $attr; + $new_attr->setName($alias_attr_name); $new_attr->addAlias($attr->getName()); $new_attr->removeAlias($alias_attr_name); @@ -1151,39 +1153,32 @@ class LDAPserver { foreach ($attrs as $key => $attr) { $sup_attr_name = $attr->getSupAttribute(); $sup_attr = null; - + if (trim($sup_attr_name)) { - + /* This loop really should traverse infinite levels of inheritance (SUP) for attributeTypes, but just in case we get carried away, stop at 100. This shouldn't happen, but for some weird reason, we have had someone report that it has happened. Oh well.*/ $i = 0; - while($i++ < 100 /** 100 == INFINITY ;) */) { - - /** - * Bug 856832: check if sup is indexed by OID. If it is, - * replace the OID with the appropriate name. Then reset - * $sup_attr_name to the name instead of the OID. This will - * make all the remaining code in this function work as - * expected. - */ + while ($i++<100 /** 100 == INFINITY ;) */) { + if (isset($attrs_oid[$sup_attr_name])) { $attr->setSupAttribute($attrs_oid[$sup_attr_name]->getName()); $sup_attr_name = $attr->getSupAttribute(); } - + if (! isset($attrs[strtolower($sup_attr_name)])){ pla_error(sprintf('Schema error: attributeType "%s" inherits from "%s", but attributeType "%s" does not exist.', $attr->getName(),$sup_attr_name,$sup_attr_name)); return; } - + $sup_attr = $attrs[strtolower($sup_attr_name)]; $sup_attr_name = $sup_attr->getSupAttribute(); - + # Does this superior attributeType not have a superior attributeType? if (is_null($sup_attr_name) || strlen(trim($sup_attr_name)) == 0) { - + /* Since this attribute's superior attribute does not have another superior attribute, clone its properties for this attribute. Then, replace those cloned values with those that can be explicitly set by the child @@ -1193,7 +1188,7 @@ class LDAPserver { $tmp_sup = $attr->getSupAttribute(); $tmp_aliases = $attr->getAliases(); $tmp_single_val = $attr->getIsSingleValue(); - + /* clone the SUP attributeType and populate those values that were set by the child attributeType */ # clone is a PHP5 function and must be used. @@ -1201,72 +1196,71 @@ class LDAPserver { $attr = clone($sup_attr); else $attr = $sup_attr; + $attr->setOID($tmp_oid); $attr->setName($tmp_name); $attr->setSupAttribute($tmp_sup); $attr->setAliases($tmp_aliases); - + /* only overwrite the SINGLE-VALUE property if the child explicitly sets it (note: All LDAP attributes default to multi-value if not explicitly set SINGLE-VALUE) */ - if (true == $tmp_single_val) + if ($tmp_single_val) $attr->setIsSingleValue(true); - + /* replace this attribute in the attrs array now that we have populated new values therein */ $attrs[$key] = $attr; - + # very important: break out after we are done with this attribute $sup_attr_name = null; $sup_attr = null; break; - - } else { - # do nothing, move on down the chain of inheritance... } } } } - + ksort($attrs); - + # Add the used in and required_by values. $schema_object_classes = $this->SchemaObjectClasses(); if (! is_array($schema_object_classes)) return array(); - + foreach ($schema_object_classes as $object_class) { $must_attrs = $object_class->getMustAttrNames($schema_object_classes); $may_attrs = $object_class->getMayAttrNames($schema_object_classes); $oclass_attrs = array_unique(array_merge($must_attrs,$may_attrs)); - + # Add Used In. foreach ($oclass_attrs as $attr_name) { if (isset($attrs[strtolower($attr_name)])) $attrs[strtolower($attr_name)]->addUsedInObjectClass($object_class->getName()); - + else { #echo "Warning, attr not set: $attr_name
    "; } } - + # Add Required By. foreach ($must_attrs as $attr_name) { if (isset($attrs[strtolower($attr_name)])) $attrs[strtolower($attr_name)]->addRequiredByObjectClass($object_class->getName()); - + else { #echo "Warning, attr not set: $attr_name
    "; } } - + } - + $return = $attrs; + # cache the schema to prevent multiple schema fetches from LDAP server set_cached_item($this->server_id,'schema','attributes',$return); } - - debug_log(sprintf('%s::SchemaAttributes(): Returning (%s)',get_class($this),serialize($return)),1); + + debug_log('%s::SchemaAttributes(): Returning (%s)',25,get_class($this),$return); return $return; } @@ -1277,15 +1271,15 @@ class LDAPserver { function MatchingRules($dn=null) { # Set default return $return = null; - + if ($return = get_cached_item($this->server_id,'schema','matchingrules')) { - debug_log(sprintf('%s::MatchingRules(): Returning CACHED [%s] (%s).', - get_class($this),$this->server_id,'matchingrules'),3); + debug_log('%s::MatchingRules(): Returning CACHED [%s] (%s).',25, + get_class($this),$this->server_id,'matchingrules'); return $return; } - + # build the array of MatchingRule objects - $raw_matching_rules = $this->getRawSchema('matchingRules', $dn); + $raw_matching_rules = $this->getRawSchema('matchingRules',$dn); if ($raw_matching_rules) { $rules = array(); @@ -1298,9 +1292,9 @@ class LDAPserver { $key = strtolower($rule->getName()); $rules[$key] = $rule; } - + ksort($rules); - + /* For each MatchingRuleUse entry, add the attributes who use it to the MatchingRule in the $rules array.*/ $raw_matching_rule_use = $this->getRawSchema('matchingRuleUse'); @@ -1309,8 +1303,10 @@ class LDAPserver { foreach ($raw_matching_rule_use as $rule_use_string) { if ($rule_use_string == null || 0 == strlen($rule_use_string)) continue; + $rule_use = new MatchingRuleUse($rule_use_string); $key = strtolower($rule_use->getName()); + if (isset($rules[$key])) $rules[$key]->setUsedByAttrs($rule_use->getUsedByAttrs()); } @@ -1322,22 +1318,22 @@ class LDAPserver { if (is_array($attrs)) foreach ($attrs as $attr) { $rule_key = strtolower($attr->getEquality()); + if (isset($rules[$rule_key])) $rules[$rule_key]->addUsedByAttr($attr->getName()); } } - + $return = $rules; # cache the schema to prevent multiple schema fetches from LDAP server set_cached_item($this->server_id,'schema','matchingrules',$return); } - - debug_log(sprintf('%s::MatchingRules(): Entered with (%s), Returning (%s).', - get_class($this),$dn,serialize($return)),2); + + debug_log('%s::MatchingRules(): Entered with (%s), Returning (%s).',25,get_class($this),$dn,$return); return $return; } - + /** * Returns an array of Syntax objects that this LDAP server uses mapped to * their descriptions. The key of each entry is the OID of the Syntax. @@ -1345,14 +1341,15 @@ class LDAPserver { function SchemaSyntaxes($dn=null) { # Set default return $return = null; - + if ($return = get_cached_item($this->server_id,'schema','syntaxes')) { - debug_log(sprintf('%s::SchemaSyntaxes(): Returning CACHED [%s] (%s).', - get_class($this),$this->server_id,'syntaxes'),3); + debug_log('%s::SchemaSyntaxes(): Returning CACHED [%s] (%s).',25, + get_class($this),$this->server_id,'syntaxes'); return $return; } - - $raw_syntaxes = $this->getRawSchema('ldapSyntaxes', $dn); + + $raw_syntaxes = $this->getRawSchema('ldapSyntaxes',$dn); + if ($raw_syntaxes) { # build the array of attributes $return = array(); @@ -1360,27 +1357,126 @@ class LDAPserver { foreach ($raw_syntaxes as $syntax_string) { $syntax = new Syntax($syntax_string); $key = strtolower(trim($syntax->getOID())); - if (! $key) continue; + + if (! $key) + continue; + $return[$key] = $syntax; } - + ksort($return); - + # cache the schema to prevent multiple schema fetches from LDAP server set_cached_item($this->server_id,'schema','syntaxes',$return); } - - debug_log(sprintf('%s::SchemaSyntaxes(): Entered with (%s), Returning (%s).', - get_class($this),$dn,serialize($return)),2); + + debug_log('%s::SchemaSyntaxes(): Entered with (%s), Returning (%s).',25, + get_class($this),$dn,$return); return $return; } /** - * Modify objects + * Add objects * */ - function modify($dn, $update_array) { - return @ldap_modify($this->connect(),$dn,$update_array); + function add($dn,$entry_array) { + $result = @ldap_add($this->connect(),dn_escape($dn),$entry_array); + + if ($result) { + $tree = get_cached_item($this->server_id,'tree'); + $tree['browser'][$dn]['icon'] = get_icon($this,$dn); + + # If this DN is in our miss list, we can remove it now. + if (isset($tree['misses'][$dn])) + unset($tree['misses'][$dn]); + + # Update this DN's parent's children list as well. + $parent = get_container($dn); + $tree['browser'][$parent]['children'][] = $dn; + usort($tree['browser'][$parent]['children'],'pla_compare_dns'); + + set_cached_item($this->server_id,'tree','null',$tree); + } + + return $result; + } + + /** + * Modify objects + */ + function modify($dn,$update_array) { + return @ldap_modify($this->connect(),dn_escape($dn),$update_array); + } + + /** + * Modify attributes + */ + function attrModify($dn,$update_array) { + return @ldap_mod_add($this->connect(),dn_escape($dn),$update_array); + } + + function attrDelete($dn,$update_array) { + return @ldap_mod_del($this->connect(),dn_escape($dn),$update_array); + } + + function attrReplace($dn,$update_array) { + return @ldap_mod_replace($this->connect(),dn_escape($dn),$update_array); + } + + /** + * Delete objects + */ + function delete($dn) { + $result = @ldap_delete($this->connect(),dn_escape($dn)); + + if ($result) { + $tree = get_cached_item($this->server_id,'tree'); + unset($tree['browser'][$dn]); + + # Delete entry from parent's children as well. + $parent = get_container($dn); + $index = array_search($dn,$tree['browser'][$parent]['children']); + unset($tree['browser'][$parent]['children'][$index]); + + # Might be worthwhile adding it to our miss list, while we are here. + $tree['misses'][$dn] = true; + + set_cached_item($this->server_id,'tree','null',$tree); + } + + return $result; + } + + /** + * Rename objects + * + */ + function rename($dn,$new_rdn,$container,$deleteoldrdn) { + if (! @ldap_rename($this->connect(),$dn,$new_rdn,$container,$deleteoldrdn)) { + pla_error(_('Could not rename the entry'),$this->error(),$this->errno(),false); + + } else { + # Update the tree + $tree = get_cached_item($this->server_id,'tree'); + $newdn = sprintf('%s,%s',$new_rdn,$container); + $tree['browser'][$newdn] = $tree['browser'][$dn]; + unset($tree['browser'][$dn]); + + # Might be worthwhile adding it to our miss list, while we are here. + $tree['misses'][$dn] = true; + if (isset($tree['misses'][$newdn])) + unset($tree['misses'][$newdn]); + + # Update the parent's children + $parent = get_container($dn); + $index = array_search($dn,$tree['browser'][$parent]['children']); + $tree['browser'][$parent]['children'][$index] = $newdn; + + usort($tree['browser'][$parent]['children'],'pla_compare_dns'); + set_cached_item($this->server_id,'tree','null',$tree); + + return true; + } } /** @@ -1398,6 +1494,1290 @@ class LDAPserver { function errno() { return ldap_errno($this->connect()); } + + /** + * Gets whether an entry exists based on its DN. If the entry exists, + * returns true. Otherwise returns false. + * + * If we are not aware of the dn, and a read results in a hit, then + * we'll update the info for the tree. + * + * @param string $dn The DN of the entry of interest. + * @return bool + */ + function dnExists($dn) { + # Set default return + $return = false; + + $tree = get_cached_item($this->server_id,'tree'); + + if (isset($tree['browser'][$dn])) { + debug_log('%s::dnExists(): Returning CACHED HIT (%s)',17, + get_class($this),$this->server_id,$dn); + return true; + + } elseif (isset($tree['misses'][$dn])) { + debug_log('%s::dnExists(): Returning CACHED MISS (%s)',17, + get_class($this),$this->server_id,$dn); + return false; + + # We havent looked for this dn. + } else { + if (DEBUG_ENABLED) + debug_log('%s::dnExists(): Search for (%s) [%s]',16,get_class($this),$this->server_id,$dn); + + $search_result = @ldap_read($this->connect(false),dn_escape($dn),'objectClass=*',array('dn')); + + if ($search_result) { + $num_entries = ldap_count_entries($this->connect(false),$search_result); + + if ($num_entries > 0) { + $return = true; + $tree['browser'][$dn]['icon'] = get_icon($this,$dn); + + } else { + $return = false; + $tree['misses'][$dn] = true; + } + + } else { + $return = false; + $tree['misses'][$dn] = true; + } + set_cached_item($this->server_id,'tree','null',$tree); + } + + if (DEBUG_ENABLED) + debug_log('%s::dnExists(): Entered with (%s,%s), Returning (%s)',17, + get_class($this),$this->server_id,$dn,$return); + + return $return; + } + + /** + * Gets a list of child entries for an entry. Given a DN, this function fetches the list of DNs of + * child entries one level beneath the parent. For example, for the following tree: + * + * + * dc=example,dc=com + * ou=People + * cn=Dave + * cn=Fred + * cn=Joe + * ou=More People + * cn=Mark + * cn=Bob + * + * + * Calling getContainerContents("ou=people,dc=example,dc=com") + * would return the following list: + * + * + * cn=Dave + * cn=Fred + * cn=Joe + * ou=More People + * + * + * @param string $dn The DN of the entry whose children to return. + * @param int $size_limit (optional) The maximum number of entries to return. + * If unspecified, no limit is applied to the number of entries in the returned. + * @param string $filter (optional) An LDAP filter to apply when fetching children, example: "(objectClass=inetOrgPerson)" + * @return array An array of DN strings listing the immediate children of the specified entry. + */ + + function getContainerContents($dn,$size_limit=0,$filter='(objectClass=*)',$deref=LDAP_DEREF_ALWAYS) { + $tree = get_cached_item($this->server_id,'tree'); + + if (isset($tree['browser'][$dn]['children']) && $filter == '(objectClass=*)') + if (! isset($tree['browser'][$dn]['size_limited']) || ! $tree['browser'][$dn]['size_limited']) + return $tree['browser'][$dn]['children']; + + $return = array(); + $search = $this->search(null,dn_escape($dn),$filter,array('dn'),'one',true,$deref,($size_limit > 0 ? $size_limit+1 : $size_limit)); + + if (! $search) { + $tree['browser'][$dn]['children'] = array(); + + } else { + foreach ($search as $searchdn => $entry) { + $child_dn = dn_unescape($entry['dn']); + $tree['browser'][$child_dn]['icon'] = get_icon($this,$child_dn); + $return[] = $child_dn; + } + + usort($return,'pla_compare_dns'); + $tree['browser'][$dn]['children'] = $return; + + if ($size_limit > 0 && count($tree['browser'][$dn]['children']) > $size_limit) + $tree['browser'][$dn]['size_limited'] = true; + else + if (isset($tree['browser'][$dn]['size_limited'])) + unset($tree['browser'][$dn]['size_limited']); + } + + set_cached_item($this->server_id,'tree','null',$tree); + + if (DEBUG_ENABLED) + debug_log('%s::getContainerContents(): Entered with (%s,%s,%s,%s), Returning (%s)',17, + get_class($this),$dn,$size_limit,$filter,$deref,$return); + + return $tree['browser'][$dn]['children']; + } + + /** + * A handy ldap searching function very similar to PHP's ldap_search() with the + * following exceptions: Callers may specify a search scope and the return value + * is an array containing the search results rather than an LDAP result resource. + * + * Example usage: + * + * $samba_users = $ldapserver->search(null,"ou=People,dc=example,dc=com", + * "(&(objectClass=sambaAccount)(objectClass=posixAccount))", + * array("uid","homeDirectory")); + * print_r( $samba_users ); + * + * // prints (for example): + * // Array + * // ( + * // [uid=jsmith,ou=People,dc=example,dc=com] => Array + * // ( + * // [dn] => "uid=jsmith,ou=People,dc=example,dc=com" + * // [uid] => "jsmith" + * // [homeDirectory] => "\\server\jsmith" + * // ) + * // [uid=byoung,ou=People,dc=example,dc=com] => Array + * // ( + * // [dn] => "uid=byoung,ou=Samba,ou=People,dc=example,dc=com" + * // [uid] => "byoung" + * // [homeDirectory] => "\\server\byoung" + * // ) + * // ) + * + * + * WARNING: This function will use a lot of memory on large searches since the entire result set is + * stored in a single array. For large searches, you should consider sing the less memory intensive + * PHP LDAP API directly (ldap_search(), ldap_next_entry(), ldap_next_attribute(), etc). + * + * @param resource $resource If an existing LDAP results should be used. + * @param string $filter The LDAP filter to use when searching (example: "(objectClass=*)") (see RFC 2254) + * @param string $base_dn The DN of the base of search. + * @param array $attrs An array of attributes to include in the search result (example: array( "objectClass", "uid", "sn" )). + * @param string $scope The LDAP search scope. Must be one of "base", "one", or "sub". Standard LDAP search scope. + * @param bool $sort_results Specify false to not sort results by DN or true to have the + * returned array sorted by DN (uses ksort) + * @param int $deref When handling aliases or referrals, this specifies whether to follow referrals. Must be one of + * LDAP_DEREF_ALWAYS, LDAP_DEREF_NEVER, LDAP_DEREF_SEARCHING, or LDAP_DEREF_FINDING. See the PHP LDAP API for details. + * @param int $size_limit Size limit for search + * @todo: Add entries to tree cache. + */ + function search($resource=null,$base_dn=null,$filter,$attrs=array(),$scope='sub',$sort_results=true,$deref=LDAP_DEREF_NEVER,$size_limit=0) { + if (DEBUG_ENABLED) + debug_log('%s::search(): Entered with (%s,%s,%s,%s,%s,%s,%s)',17, + get_class($this),is_resource($this),$base_dn,$filter,$attrs,$scope,$sort_results,$deref); + + # If we dont have a resource, we'll connect with default settings + if (! is_resource($resource)) + $resource = $this->connect(false); + + # If the baseDN is null, we'll just search the first DN. + if (is_null($base_dn)) + foreach ($this->getBaseDN() as $baseDN) { + $base_dn = $baseDN; + break; + } + + if (DEBUG_ENABLED) + debug_log('%s::search(): %s search PREPARE.',16,get_class($this),$scope); + + switch ($scope) { + case 'base': + $search = @ldap_read($resource,$base_dn,$filter,$attrs,0,$size_limit,0,$deref); + break; + + case 'one': + $search = @ldap_list($resource,$base_dn,$filter,$attrs,0,$size_limit,0,$deref); + break; + + case 'sub': + default: + $search = @ldap_search($resource,$base_dn,$filter,$attrs,0,$size_limit,0,$deref); + break; + } + + if (DEBUG_ENABLED) + debug_log('%s::search(): %s search from base [%s] with [%s] for [%s] COMPLETE ().',16, + get_class($this),$scope,$base_dn,$filter,$attrs,is_null($search)); + + if (! $search) + return array(); + + $return = array(); + + # Get the first entry identifier + if ($entry_id = ldap_first_entry($resource,$search)) + + # Iterate over the entries + while ($entry_id) { + + # Get the distinguished name of the entry + $dn = ldap_get_dn($resource,$entry_id); + $return[$dn]['dn'] = $dn; + + # Get the attributes of the entry + $attrs = ldap_get_attributes($resource,$entry_id); + + # Get the first attribute of the entry + if ($attr = ldap_first_attribute($resource,$entry_id,$attrs)) + + # Iterate over the attributes + while ($attr) { + if ($this->isAttrBinary($attr)) + $values = ldap_get_values_len($resource,$entry_id,$attr); + else + $values = ldap_get_values($resource,$entry_id,$attr); + + # Get the number of values for this attribute + $count = $values['count']; + unset($values['count']); + + if ($count == 1) + $return[$dn][$attr] = $values[0]; + else + $return[$dn][$attr] = $values; + + $attr = ldap_next_attribute($resource,$entry_id,$attrs); + } # end while attr + + $entry_id = ldap_next_entry($resource,$entry_id); + + } # End while entry_id + + if ($sort_results && is_array($return)) + ksort($return); + + if (DEBUG_ENABLED) + debug_log('%s::search(): Returning (%s)',17,get_class($this),$return); + + return $return; + } + + /** + * Determines if an attribute's value can contain multiple lines. Attributes that fall + * in this multi-line category may be configured in config.php. Hence, this function + * accesses the global variable $config->custom->appearance['multi_line_attributes']; + * + * Usage example: + * + * if ($ldapserver->isMultiLineAttr('postalAddress')) + * echo ""; + * else + * echo ""; + * + * + * @param string $attr_name The name of the attribute of interestd (case insensivite) + * @param string $val (optional) The current value of the attribute (speeds up the + * process by searching for carriage returns already in the attribute value) + * @return bool + */ + function isMultiLineAttr($attr_name,$val=null) { + global $config; + + # Set default return + $return = false; + + # First, check the optional val param for a \n or a \r + if (! is_null($val) && (strpos($val,"\n") || strpos($val,"\r"))) + $return = true; + + # Next, compare strictly by name first + else + foreach ($config->GetValue('appearance','multi_line_attributes') as $multi_line_attr_name) + if (strcasecmp($multi_line_attr_name,$attr_name) == 0) { + $return = true; + break; + } + + # If unfound, compare by syntax OID + if (! $return) { + $schema_attr = $this->getSchemaAttribute($attr_name); + + if ($schema_attr) { + $syntax_oid = $schema_attr->getSyntaxOID(); + + if ($syntax_oid) + foreach ($config->GetValue('appearance','multi_line_syntax_oids') as $multi_line_syntax_oid) + if ($multi_line_syntax_oid == $syntax_oid) { + $return = true; + break; + } + } + } + + if (DEBUG_ENABLED) + debug_log('%s:isMultiLineAttr(): Entered with (%s,%s), Returning (%s)',17, + get_class($this),$attr_name,$val,$return); + + return $return; + } + + /** + * Returns true if the attribute specified is required to take as input a DN. + * Some examples include 'distinguishedName', 'member' and 'uniqueMember'. + * @param string $attr_name The name of the attribute of interest (case insensitive) + * @return bool + */ + function isDNAttr($attr_name) { + if (DEBUG_ENABLED) + debug_log('%s:isDNAttr(): Entered with (%s)',17,get_class($this),$attr_name); + + # Simple test first + $dn_attrs = array('aliasedObjectName'); + foreach ($dn_attrs as $dn_attr) + if (strcasecmp($attr_name,$dn_attr) == 0) + return true; + + # Now look at the schema OID + $attr_schema = $this->getSchemaAttribute($attr_name); + if (! $attr_schema) + return false; + + $syntax_oid = $attr_schema->getSyntaxOID(); + if ('1.3.6.1.4.1.1466.115.121.1.12' == $syntax_oid) + return true; + if ('1.3.6.1.4.1.1466.115.121.1.34' == $syntax_oid) + return true; + + $syntaxes = $this->SchemaSyntaxes(); + if (! isset($syntaxes[$syntax_oid])) + return false; + + $syntax_desc = $syntaxes[ $syntax_oid ]->getDescription(); + if (strpos(strtolower($syntax_desc),'distinguished name')) + return true; + + return false; + } + + /** + * Responsible for setting two cookies/session-vars to indicate that a user has logged in, + * one for the logged in DN and one for the logged in password. + * + * This function is only used if 'auth_type' is set to 'cookie' or 'session'. The values + * written have the name "pla_login_dn_X" and "pla_login_pass_X" where X is the + * ID of the server to which the user is attempting login. + * + * Note that as with all cookie/session operations this function must be called BEFORE + * any output is sent to the browser. + * + * On success, true is returned. On failure, false is returned. + * + * @param string $dn The DN with which the user has logged in. + * @param string $password The password of the user logged in. + * @param bool $anon_bind Indicates that this is an anonymous bind such that + * a password of "0" is stored. + * @return bool + * @see unsetLoginDN + */ + function setLoginDN($dn,$password,$anon_bind) { + if (DEBUG_ENABLED) + debug_log('%s:setLoginDN(): Entered with (%s,%s,%s)',17,get_class($this),$dn,$password,$anon_bind); + + if (! $this->auth_type) + return false; + + switch ($this->auth_type) { + case 'cookie': + $cookie_dn_name = sprintf('pla_login_dn_%s',$this->server_id); + $cookie_pass_name = sprintf('pla_login_pass_%s',$this->server_id); + + # we set the cookie password to 0 for anonymous binds. + if ($anon_bind) { + $dn = 'anonymous'; + $password = '0'; + } + + $res1 = pla_set_cookie($cookie_dn_name,pla_blowfish_encrypt($dn)); + $res2 = pla_set_cookie($cookie_pass_name,pla_blowfish_encrypt($password)); + if ($res1 && $res2) + return true; + else + return false; + + break; + + case 'session': + $sess_var_dn_name = sprintf('pla_login_dn_%s',$this->server_id); + $sess_var_pass_name = sprintf('pla_login_pass_%s',$this->server_id); + + # we set the cookie password to 0 for anonymous binds. + if ($anon_bind) { + $dn = 'anonymous'; + $password = '0'; + } + + $_SESSION[$sess_var_dn_name] = pla_blowfish_encrypt($dn); + $_SESSION[$sess_var_pass_name] = pla_blowfish_encrypt($password); + return true; + + break; + + default: + pla_error(sprintf(_('Unknown auth_type: %s'),htmlspecialchars($this->auth_type))); + break; + } + } + + /** + * Log a user out of the LDAP server. + * + * Removes the cookies/session-vars set by setLoginDN() + * after a user logs out using "auth_type" of "session" or "cookie". + * Returns true on success, false on failure. + * + * @return bool True on success, false on failure. + * @see setLoginDN + */ + function unsetLoginDN() { + if (DEBUG_ENABLED) + debug_log('%s:unsetLoginDN(): Entered with ()',17,get_class($this)); + + if (! $this->auth_type) + return false; + + switch ($this->auth_type) { + case 'cookie': + $logged_in_dn = $this->getLoggedInDN(); + if (! $logged_in_dn) + return false; + + $logged_in_pass = $this->getLoggedInPass(); + $anon_bind = $logged_in_dn == 'anonymous' ? true : false; + + # set cookie with expire time already passed to erase cookie from client + $expire = time()-3600; + $cookie_dn_name = sprintf('pla_login_dn_%s',$this->server_id); + $cookie_pass_name = sprintf('pla_login_pass_%s',$this->server_id); + + if ($anon_bind) { + $res1 = pla_set_cookie($cookie_dn_name,'anonymous',$expire); + $res2 = pla_set_cookie($cookie_pass_name,'0',$expire); + + } else { + $res1 = pla_set_cookie($cookie_dn_name,pla_blowfish_encrypt($logged_in_dn),$expire); + $res2 = pla_set_cookie($cookie_pass_name,pla_blowfish_encrypt($logged_in_pass),$expire); + } + + # Need to unset the cookies too, since they are still set if further processing occurs (eg: Timeout) + unset($_COOKIE[$cookie_dn_name]); + unset($_COOKIE[$cookie_pass_name]); + + if (! $res1 || ! $res2) + return false; + else + return true; + + break; + + case 'session': + # unset session variables + $session_var_dn_name = sprintf('pla_login_dn_%s',$this->server_id); + $session_var_pass_name = sprintf('pla_login_pass_%s',$this->server_id); + + if (array_key_exists($session_var_dn_name,$_SESSION)) + unset($_SESSION[$session_var_dn_name]); + + if (array_key_exists($session_var_pass_name,$_SESSION)) + unset($_SESSION[$session_var_pass_name]); + + return true; + + break; + + default: + pla_error(sprintf(_('Unknown auth_type: %s'),htmlspecialchars($auth_type))); + break; + } + } + + /** + * Used to determine if the specified attribute is indeed a jpegPhoto. If the + * specified attribute is one that houses jpeg data, true is returned. Otherwise + * this function returns false. + * + * @param string $attr_name The name of the attribute to test. + * @return bool + * @see draw_jpeg_photos + */ + function isJpegPhoto($attr_name) { + if (DEBUG_ENABLED) + debug_log('%s:isJpegPhoto(): Entered with (%s)',17,get_class($this),$attr_name); + + # easy quick check + if (! strcasecmp($attr_name,'jpegPhoto') || ! strcasecmp($attr_name,'photo')) + return true; + + # go to the schema and get the Syntax OID + $schema_attr = $this->getSchemaAttribute($attr_name); + if (! $schema_attr) + return false; + + $oid = $schema_attr->getSyntaxOID(); + $type = $schema_attr->getType(); + + if (! strcasecmp($type,'JPEG') || ($oid == '1.3.6.1.4.1.1466.115.121.1.28')) + return true; + + return false; + } + + /** + * Given an attribute name and server ID number, this function returns + * whether the attrbiute contains boolean data. This is useful for + * developers who wish to display the contents of a boolean attribute + * with a drop-down. + * + * @param string $attr_name The name of the attribute to test. + * @return bool + */ + function isAttrBoolean($attr_name) { + if (DEBUG_ENABLED) + debug_log('%s:isAttrBoolean(): Entered with (%s)',17,get_class($this),$attr_name); + + $type = ($schema_attr = $this->getSchemaAttribute($attr_name)) ? $schema_attr->getType() : null; + + if (! strcasecmp('boolean',$type ) || + ! strcasecmp('isCriticalSystemObject',$attr_name) || + ! strcasecmp('showInAdvancedViewOnly',$attr_name)) + return true; + + else + return false; + } + + /** + * Given an attribute name and server ID number, this function returns + * whether the attrbiute may contain binary data. This is useful for + * developers who wish to display the contents of an arbitrary attribute + * but don't want to dump binary data on the page. + * + * @param string $attr_name The name of the attribute to test. + * @return bool + * + * @see isJpegPhoto + */ + function isAttrBinary($attr_name) { + if (DEBUG_ENABLED) + debug_log('%s:isAttrBinary(): Entered with (%s)',17,get_class($this),$attr_name); + + /** + * Determining if an attribute is binary can be an expensive operation. + * We cache the results for each attr name on each server in the $attr_cache + * to speed up subsequent calls. The $attr_cache looks like this: + * + * Array + * 0 => Array + * 'objectclass' => false + * 'cn' => false + * 'usercertificate' => true + * 1 => Array + * 'jpegphoto' => true + * 'cn' => false + */ + + static $attr_cache; + $attr_name = strtolower($attr_name); + + if (isset($attr_cache[$this->server_id][$attr_name])) + return $attr_cache[$this->server_id][$attr_name]; + + if ($attr_name == 'userpassword') { + $attr_cache[$this->server_id][$attr_name] = false; + return false; + } + + # Quick check: If the attr name ends in ";binary", then it's binary. + if (strcasecmp(substr($attr_name,strlen($attr_name) - 7),';binary') == 0) { + $attr_cache[$this->server_id][$attr_name] = true; + return true; + } + + # See what the server schema says about this attribute + $schema_attr = $this->getSchemaAttribute($attr_name); + if (! $schema_attr) { + + /* Strangely, some attributeTypes may not show up in the server + schema. This behavior has been observed in MS Active Directory.*/ + $type = null; + $syntax = null; + + } else { + $type = $schema_attr->getType(); + $syntax = $schema_attr->getSyntaxOID(); + } + + if (strcasecmp($type,'Certificate') == 0 || + strcasecmp($type,'Binary') == 0 || + strcasecmp($attr_name,'usercertificate') == 0 || + strcasecmp($attr_name,'usersmimecertificate') == 0 || + strcasecmp($attr_name,'networkaddress') == 0 || + strcasecmp($attr_name,'objectGUID') == 0 || + strcasecmp($attr_name,'objectSID') == 0 || + $syntax == '1.3.6.1.4.1.1466.115.121.1.10' || + $syntax == '1.3.6.1.4.1.1466.115.121.1.28' || + $syntax == '1.3.6.1.4.1.1466.115.121.1.5' || + $syntax == '1.3.6.1.4.1.1466.115.121.1.8' || + $syntax == '1.3.6.1.4.1.1466.115.121.1.9' + ) { + + $attr_cache[$this->server_id][$attr_name] = true; + return true; + + } else { + $attr_cache[$this->server_id][$attr_name] = false; + return false; + } + } + + /** + * Returns true if the specified attribute is configured as read only + * in config.php with the $read_only_attrs array. + * Attributes are configured as read-only in config.php thus: + * + * $read_only_attrs = array( "objectClass", "givenName" ); + * + * + * @param string $attr The name of the attribute to test. + * @return bool + */ + function isAttrReadOnly($attr) { + if (DEBUG_ENABLED) + debug_log('%s:isAttrReadOnly(): Entered with (%s)',17,get_class($this),$attr); + + global $read_only_attrs, $read_only_except_dn; + + $attr = trim($attr); + if (! $attr) + return false; + + if (! isset($read_only_attrs)) + return false; + + if (! is_array($read_only_attrs)) + return false; + + # Is the user excluded? + if (isset($read_only_except_dn) && $this->userIsMember($this->getLoggedInDN(),$read_only_except_dn)) + return false; + + foreach ($read_only_attrs as $attr_name) + if (strcasecmp($attr,trim($attr_name)) == 0) + return true; + + return false; + } + + /** + * Returns true if the specified attribute is configured as hidden + * in config.php with the $hidden_attrs array or the $hidden_attrs_ro + * array. + * Attributes are configured as hidden in config.php thus: + * + * $hidden_attrs = array( "objectClass", "givenName" ); + * + * or + * + * $hidden_attrs_ro = array( "objectClass", "givenName", "shadowWarning", + * "shadowLastChange", "shadowMax", "shadowFlag", + * "shadowInactive", "shadowMin", "shadowExpire" ); + * + * + * @param string $attr The name of the attribute to test. + * @return bool + */ + function isAttrHidden($attr) { + if (DEBUG_ENABLED) + debug_log('%s:isAttrHidden(): Entered with (%s)',17,get_class($this),$attr); + + global $hidden_attrs, $hidden_attrs_ro, $hidden_except_dn; + + $attr = trim($attr); + if (! $attr) + return false; + + if (! isset($hidden_attrs)) + return false; + + if (! is_array($hidden_attrs)) + return false; + + if (! isset($hidden_attrs_ro)) + $hidden_attrs_ro = $hidden_attrs; + + if (! is_array($hidden_attrs_ro)) + $hidden_attrs_ro = $hidden_attrs; + + # Is the user excluded? + if (isset($hidden_except_dn) && $this->userIsMember($this->getLoggedInDN(),$hidden_except_dn)) + return false; + + if ($this->isReadOnly()) { + foreach ($hidden_attrs_ro as $attr_name) + if (strcasecmp($attr,trim($attr_name)) == 0) + return true; + + } else { + foreach ($hidden_attrs as $attr_name) + if (strcasecmp($attr,trim($attr_name)) == 0) + return true; + } + + return false; + } + + /** + * Fetches the password of the currently logged in user (for auth_types "cookie" and "session" only) + * or false if the current login is anonymous. + * + * @return string + * @see have_auth_info + * @see getLoggedInDN + */ + function getLoggedInPass() { + if (DEBUG_ENABLED) + debug_log('%s:getLoggedInPass(): Entered with ()',17,get_class($this)); + + if (! $this->auth_type) + return false; + + switch ($this->auth_type) { + case 'cookie': + $cookie_name = sprintf('pla_login_pass_%s',$this->server_id); + $pass = isset($_COOKIE[$cookie_name]) ? $_COOKIE[$cookie_name] : false; + + if ($pass == '0') + return null; + else + return pla_blowfish_decrypt($pass); + + break; + + case 'session': + $session_var_name = sprintf('pla_login_pass_%s',$this->server_id); + $pass = isset($_SESSION[$session_var_name]) ? $_SESSION[$session_var_name] : false; + + if ($pass == '0') + return null; + else + return pla_blowfish_decrypt($pass); + break; + + case 'config': + return $this->login_pass; + break; + + default: + pla_error(sprintf(_('Unknown auth_type: %s'),htmlspecialchars($this->auth_type))); + } + } + + /** + * Returns the DN who is logged in currently to the given server, which may + * either be a DN or the string 'anonymous'. This applies only for auth_types + * "cookie" and "session". + * + * One place where this function is used is the tree viewer: + * After a user logs in, the text "Logged in as: " is displayed under the server + * name. This information is retrieved from this function. + * + * @return string + * @see have_auth_info + * @see getLoggedInPass + */ + function getLoggedInDN() { + # Set default return + $return = false; + + if ($this->auth_type) { + switch ($this->auth_type) { + case 'cookie': + $cookie_name = sprintf('pla_login_dn_%s',$this->server_id); + + if (isset($_COOKIE[$cookie_name])) + $return = pla_blowfish_decrypt($_COOKIE[$cookie_name]); + else + $return = false; + + break; + + case 'session': + $session_var_name = sprintf('pla_login_dn_%s',$this->server_id); + + if (isset($_SESSION[$session_var_name])) + $return = pla_blowfish_decrypt($_SESSION[$session_var_name]); + else + $return = false; + + break; + + case 'config': + $return = $this->login_dn; + break; + + default: + pla_error(sprintf(_('Unknown auth_type: %s'),htmlspecialchars($auth_type))); + } + } + + if (DEBUG_ENABLED) + debug_log('%s:getLoggedInDN(): Entered with (), Returning (%s)',17,get_class($this),$return); + + return $return; + } + + /** + * Gets the operational attributes for an entry. Given a DN, this function fetches that entry's + * operational (ie, system or internal) attributes. These attributes include "createTimeStamp", + * "creatorsName", and any other attribute that the LDAP server sets automatically. The returned + * associative array is of this form: + * + * Array + * ( + * [creatorsName] => Array + * ( + * [0] => "cn=Admin,dc=example,dc=com" + * ) + * [createTimeStamp]=> Array + * ( + * [0] => "10401040130" + * ) + * [hasSubordinates] => Array + * ( + * [0] => "FALSE" + * ) + * ) + * + * + * @param string $dn The DN of the entry whose interal attributes are desired. + * @param int $deref For aliases and referrals, this parameter specifies whether to + * follow references to the referenced DN or to fetch the attributes for + * the referencing DN. See http://php.net/ldap_search for the 4 valid + * options. + * @return array An associative array whose keys are attribute names and whose values + * are arrays of values for the aforementioned attribute. + */ + function getDNSysAttrs($dn,$deref=LDAP_DEREF_NEVER) { + if (DEBUG_ENABLED) + debug_log('%s:getDNSysAttrs(): Entered with (%s,%s)',17,get_class($this),$dn,$deref); + + $attrs = array('creatorsname','createtimestamp','modifiersname', + 'structuralObjectClass','entryUUID','modifytimestamp', + 'subschemaSubentry','hasSubordinates','+'); + + $search = $this->search(null,$dn,'(objectClass=*)',$attrs,'base',false,$deref); + foreach ($search as $dn => $attrs) + foreach ($attrs as $attr => $value) { + $return_attrs[$attr][] = $value; + } + + return $return_attrs; + } + + /** + * Gets the attributes/values of an entry. Returns an associative array whose + * keys are attribute value names and whose values are arrays of values for + * said attribute. Optionally, callers may specify true for the parameter + * $lower_case_attr_names to force all keys in the associate array (attribute + * names) to be lower case. + * + * Sample return value of getDNAttrs( 0, "cn=Bob,ou=pepole,dc=example,dc=com" ) + * + * + * Array + * ( + * [objectClass] => Array + * ( + * [0] => person + * [1] => top + * ) + * [cn] => Array + * ( + * [0] => Bob + * ) + * [sn] => Array + * ( + * [0] => Jones + * ) + * [dn] => Array + * ( + * [0] => cn=Bob,ou=pepole,dc=example,dc=com + * ) + * ) + * + * + * @param string $dn The distinguished name (DN) of the entry whose attributes/values to fetch. + * @param bool $lower_case_attr_names (optional) If true, all keys of the returned associative + * array will be lower case. Otherwise, they will be cased as the LDAP server returns + * them. + * @param int $deref For aliases and referrals, this parameter specifies whether to + * follow references to the referenced DN or to fetch the attributes for + * the referencing DN. See http://php.net/ldap_search for the 4 valid + * options. + * @return array + * @see getDNSysAttrs + * @see getDNAttr + */ + function getDNAttrs($dn,$lower_case_attr_names=false,$deref=LDAP_DEREF_NEVER) { + if (DEBUG_ENABLED) + debug_log('%s:getDNAttrs(): Entered with (%s,%s,%s)',17, + get_class($this),$dn,$lower_case_attr_names,$deref); + + $attrs = array_pop($this->search(null,dn_escape($dn),'(objectClass=*)',array(),'base',false,$deref)); + if ($lower_case_attr_names) + $attrs = array_change_key_case($attrs); + + if (is_array($attrs)) + ksort($attrs); + return $attrs; + } + + /** + * Much like getDNAttrs(), but only returns the values for + * one attribute of an object. Example calls: + * + * + * print_r( getDNAttr( 0, "cn=Bob,ou=people,dc=example,dc=com", "sn" ) ); + * // prints: + * // Array + * // ( + * // [0] => "Smith" + * // ) + * + * print_r( getDNAttr( 0, "cn=Bob,ou=people,dc=example,dc=com", "objectClass" ) ); + * // prints: + * // Array + * // ( + * // [0] => "top" + * // [1] => "person" + * // ) + * + * + * @param string $dn The distinguished name (DN) of the entry whose attributes/values to fetch. + * @param string $attr The attribute whose value(s) to return (ie, "objectClass", "cn", "userPassword") + * @param bool $lower_case_attr_names (optional) If true, all keys of the returned associative + * array will be lower case. Otherwise, they will be cased as the LDAP server returns + * them. + * @param int $deref For aliases and referrals, this parameter specifies whether to + * follow references to the referenced DN or to fetch the attributes for + * the referencing DN. See http://php.net/ldap_search for the 4 valid + * options. + * @see getDNAttrs + */ + function getDNAttr($dn,$attr,$lower_case_attr_names=false,$deref=LDAP_DEREF_NEVER) { + if (DEBUG_ENABLED) + debug_log('%s:getDNAttr(): Entered with (%s,%s,%s,%s)',17, + get_class($this),$dn,$attr,$lower_case_attr_names,$deref); + + if ($lower_case_attr_names) + $attr = strtolower($attr); + + $attrs = $this->getDNAttrs($dn,$lower_case_attr_names,$deref); + + if (isset($attrs[$attr])) + return $attrs[$attr]; + else + return false; + } + + /** + * Given a DN string, this returns the top container portion of the string. + * @param string $dn The DN whose container string to return. + * @return string The container + * @see get_rdn + * @see get_container + */ + function getContainerTop($dn) { + foreach ($this->getBaseDN() as $base_dn) { + if (preg_match("/${base_dn}$/",$dn)) { + $return = $base_dn; + break; + } + } + + debug_log('%s:getContainerTop(): Entered with (%s), Returning (%s)',17,get_class($this),$dn,$return); + return $return; + } + + /** + * Given a DN string and a path like syntax, this returns the parent container portion of the string. + * @param string $dn The DN whose container string to return. + * @param string $path Either '/', '.' or a series of '../' + * @return string The container + * @see get_rdn + * @see get_container + */ + function getContainerParent($container,$path) { + if (DEBUG_ENABLED) + debug_log('%s:getContainerParent(): Entered with (%s,%s)',17,get_class($this),$container,$path); + + $top = $this->getContainerTop($container); + + if ($path == '/') { + return $top; + + } elseif ($path == '.') { + return $container; + + } else { + $parenttree = explode('/',$path); + + foreach ($parenttree as $index => $value) { + if ($value == '..') { + if (get_container($container)) + $container = get_container($container); + + if ($container == $top) + break; + + } else { + break; + } + } + + return $container; + } + } + + /** + * Show friendly attribute. + */ + function showFriendlyAttr($attr) { + if (DEBUG_ENABLED) + debug_log('%s:showFriendlyAttr(): Entered with (%s)',17,get_class($this),$attr); + + $friendly_attrs = process_friendly_attr_table(); + + if (isset($friendly_attrs[strtolower($attr)])) + $return = $friendly_attrs[strtolower($attr)]; + else + $return = $attr; + + if (DEBUG_ENABLED) + debug_log('%s:showFriendlyAttr(): Returning (%s)',17,get_class($this),$return); + return $return; + } + + /** + * Determins if the specified attribute is contained in the $unique_attrs list + * configured in config.php. + * @return bool True if the specified attribute is in the $unique_attrs list and false + * otherwise. + */ + function isUniqueAttr($attr_name) { + if (DEBUG_ENABLED) + debug_log('%s:isUniqueAttr(): Entered with (%s)',17,get_class($this),$attr_name); + + global $unique_attrs; + + if (isset($unique_attrs) && is_array($unique_attrs)) + foreach ($unique_attrs as $attr) + if (strcasecmp($attr_name,$attr) == 0) + return true; + + return false; + } + + /** + * This function will check whether the value for an attribute being changed + * is already assigned to another DN. + * + * Inputs: + * @param dn $dn DN that is being changed + * @param string $attr_name Attribute being changed + * @param string|array $new values New values for the attribute + * + * Returns the bad value, or null if all values are OK + */ + function checkUniqueAttr($dn,$attr_name,$new_value) { + if (DEBUG_ENABLED) + debug_log('%s:checkUniqueAttr(): Entered with (%s,%s,%s)',17, + get_class($this),$dn,$attr_name,count($new_value)); + + global $ldapservers; + + # Is this attribute in the unique_attrs list? + if ($this->isUniqueAttr($attr_name)) { + + $con = $this->connect(false,'unique_attr',false, + $ldapservers->GetValue($this->server_id,'unique_attrs','dn'), + $ldapservers->GetValue($this->server_id,'unique_attrs','pass')); + + if (! $con) + pla_error(sprintf(_('Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file.'),$this->name)); + + # Build our search filter to double check each attribute. + $searchfilter = '(|'; + + if (is_array($new_value)) + foreach ($new_value as $val) + $searchfilter .= sprintf('(%s=%s)',$attr_name,clean_search_vals($val)); + + elseif ($new_value) + $searchfilter .= sprintf('(%s=%s)',$attr_name,clean_search_vals($new_value)); + + $searchfilter .= ')'; + + # Do we need a sanity check to just in case $new_value was null and hence the search string is bad? + foreach ($this->getBaseDN() as $base_dn) { + + # Do the search + $search = $this->search($con,$base_dn,$searchfilter,array('dn',$attr_name),'sub',false,LDAP_DEREF_ALWAYS); + + foreach ($search as $searchdn => $result) + + # If one of the attributes is owned to somebody else, then we may as well die here. + if ($result['dn'] != $dn) + if (is_array($result[$attr_name])) { + foreach ($result[$attr_name] as $attr) + foreach ($new_value as $new_value_attr) + if ($new_value_attr == $attr) + return $attr; + + } else { + foreach ($new_value as $new_value_attr) + if ($new_value_attr == $result[$attr_name]) + return $result[$attr_name]; + } + } + + # If we get here, then it must be OK? + return; + + } else { + return; + } + } + + /** + * This function will test if a user is a member of a group. + * + * Inputs: + * @param string $user membership value that is being checked + * @param dn $group DN to see if user is a member + * @return bool true|false + */ + function userIsMember($user,$group) { + if (DEBUG_ENABLED) + debug_log('%s:userIsMember(): Entered with (%s,%s)',17,get_class($this),$user,$group); + + $user = strtolower($user); + $group = $this->getDNAttrs($group,false,$deref=LDAP_DEREF_NEVER); + + if (is_array($group)) { + $group = array_change_key_case($group); + + # If you are using groupOfNames objectClass + if (array_key_exists('member',$group) && ! is_array($group['member'])) + $group['member'] = array($group['member']); + + if (array_key_exists('member',$group) && + in_array($user,arrayLower($group['member']))) + + return true; + + # If you are using groupOfUniqueNames objectClass + if (array_key_exists('uniquemember',$group) && ! is_array($group['uniquemember'])) + $group['uniquemember'] = array($group['uniquemember']); + + if (array_key_exists('uniquemember',$group) && + in_array($user,arrayLower($group['uniquemember']))) + + return true; + + return false; + } + } + + /** + */ + function userIsAllowedLogin($user) { + if (DEBUG_ENABLED) + debug_log('%s:userIsAllowedLogin(): Entered with (%s)',17,get_class($this),$user); + + global $ldapservers; + + $user = trim(strtolower($user)); + + if (! $ldapservers->GetValue($this->server_id,'login','allowed_dns')) + return true; + + foreach ($ldapservers->GetValue($this->server_id,'login','allowed_dns') as $login_allowed_dn) { + if (DEBUG_ENABLED) + debug_log('%s:userIsAllowedLogin: Working through (%s)',80,get_class($this),$login_allowed_dn); + + /* Check if $login_allowed_dn is an ldap search filter + Is first occurence of 'filter=' (case ensitive) at position 0 ? */ + if (preg_match('/^\([&|]\(/',$login_allowed_dn)) { + $filter = $login_allowed_dn; + + foreach($this->getBaseDN() as $base_dn) { + $dn_array = array(); + + $results = $this->search(null,$base_dn,$filter,array('dn')); + + if (DEBUG_ENABLED) + debug_log('%s:userIsAllowedLogin: Search, Filter [%s], BaseDN [%s] Results [%s]',16, + get_class($this),$filter, $base_dn,$results); + + if ($results) { + foreach ($results as $result) + $dn_array[] = $result['dn']; + + $dn_array = array_unique($dn_array); + + if (count($dn_array) !== 0) + foreach ($dn_array as $result_dn) { + if (DEBUG_ENABLED) + debug_log('%s:userIsAllowedLogin: Comparing with [%s]',80, + get_class($this),$result_dn); + + # Check if $result_dn is a user DN + if (strcasecmp($user,trim(strtolower($result_dn))) == 0) + return true; + + # Check if $result_dn is a group DN + if ($this->userIsMember($user,$result_dn)) + return true; + } + } + } + } + + # Check if $login_allowed_dn is a user DN + if (strcasecmp($user,trim(strtolower($login_allowed_dn))) == 0) + return true; + + # Check if $login_allowed_dn is a group DN + if ( $this->userIsMember($user,$login_allowed_dn) ) + return true; + } + return false; + } + + /** + * Get the LDAP base DN for a named DN. + * + * @param string $dn DN in question + * @return string $base_dn + */ + function getDNBase($dn) { + foreach ($this->getBaseDN() as $base_dn) { + if (preg_match('/'.$base_dn.'$/',$dn)) + return $base_dn; + } + + return null; + } } class LDAPservers { @@ -1454,6 +2834,13 @@ class LDAPservers { 'var'=>'branch_rename', 'default'=>false); + /* This was created for IDS - since it doesnt present STRUCTURAL against objectClasses + definitions when reading the schema.*/ + $this->default->server['schema_oclass_default'] = array( + 'desc'=>'When reading the schema, and it doesnt specify objectClass type, default it to this', + 'var'=>'schema_oclass_default', + 'default'=>null); + $this->default->login['dn'] = array( 'desc'=>'User Login DN', 'var'=>'login_dn', @@ -1541,22 +2928,20 @@ class LDAPservers { $this->default->custom['pages_prefix'] = array( 'desc'=>'Path to custom pages', 'default'=>null); - + } function SetValue($server_id,$key,$index,$value) { if (defined('DEBUG_ENABLED') && (DEBUG_ENABLED)) - debug_log('%s::SetValue(): Entered with (%s,%s,%s,%s)',2, - get_class($this),$server_id,$key,$index,(is_array($value) ? 'Array:'.count($value) : $value)); + debug_log('%s::SetValue(): Entered with (%s,%s,%s,%s)',3, + get_class($this),$server_id,$key,$index,$value); if (! isset($this->default->$key)) - # @todo: Display an error, it should be predefined. pla_error("ERROR: Setting a key [$key] that isnt predefined."); else $default = $this->default->$key; if (! isset($default[$index])) - # @todo: Display an error, it should be predefined. pla_error("ERROR: Setting a index [$index] that isnt predefined."); else $default = $default[$index]; @@ -1587,8 +2972,8 @@ class LDAPservers { $return = $this->default->{$key}[$index]['default']; if (DEBUG_ENABLED) - debug_log('%s::GetValue(): Entered with (%s,%s,%s), Returning (%s)',1, - get_class($this),$server_id,$key,$index,(is_array($return) ? 'Array:'.serialize($return) : $return)); + debug_log('%s::GetValue(): Entered with (%s,%s,%s), Returning (%s)',3, + get_class($this),$server_id,$key,$index,$return); return $return; } diff --git a/lib/session_functions.php b/lib/session_functions.php index bd70008..ec8abf2 100644 --- a/lib/session_functions.php +++ b/lib/session_functions.php @@ -1,5 +1,5 @@ GetValue('debug','syslog')) { if (isset($ldapserver->server_id)) - $log_string = sprintf('(%s) %s',get_logged_in_dn($ldapserver->server_id),$log_string); + $log_string = sprintf('(%s) %s',$ldapserver->getLoggedInDN(),$log_string); syslog ( $emergency, $log_string ); } diff --git a/lib/template_functions.php b/lib/template_functions.php index cd23d44..ef6d1c7 100644 --- a/lib/template_functions.php +++ b/lib/template_functions.php @@ -1,5 +1,5 @@ resParser = xml_parser_create(); xml_set_object($this->resParser,$this); - xml_set_element_handler($this->resParser,"tagOpen","tagClosed"); + xml_set_element_handler($this->resParser,'tagOpen','tagClosed'); - xml_set_character_data_handler($this->resParser,"tagData"); + xml_set_character_data_handler($this->resParser,'tagData'); $this->push_pos($this->arrOutput); $this->strXmlData = xml_parse($this->resParser,$strInputXML); if (! $this->strXmlData) - die(sprintf("XML error: %s at line %d", + die(sprintf('XML error: %s at line %d', xml_error_string(xml_get_error_code($this->resParser)), xml_get_current_line_number($this->resParser))); @@ -95,14 +95,15 @@ class xml2array { class Templates { var $_template = array(); + var $_js_hash = array(); function Templates($server_id) { if (DEBUG_ENABLED) - debug_log('%s::__construct(): Entered with ()',2,get_class($this)); + debug_log('%s::__construct(): Entered with ()',5,get_class($this)); if ($this->_template = get_cached_item($server_id,'template','all')) { if (DEBUG_ENABLED) - debug_log('%s::init(): Using CACHED [%s]',3,get_class($this),'templates'); + debug_log('%s::init(): Using CACHED [%s]',5,get_class($this),'templates'); } else { $dir = opendir(TMPLDIR); @@ -125,33 +126,50 @@ class Templates { function storeTemplate($template,$xmldata) { if (DEBUG_ENABLED) - debug_log('%s::storeTemplate(): Entered with (%s,%s)',2, - get_class($this),$template,serialize($xmldata)); + debug_log('%s::storeTemplate(): Entered with (%s,%s)',5, + get_class($this),$template,$xmldata); - global $ldapserver, $lang; + global $ldapserver; + $this->_template[$template]['objectclass'] = array(); foreach ($xmldata['template'] as $xml_key => $xml_value) { if (DEBUG_ENABLED) - debug_log('%s::storeTemplate(): Foreach loop Key [%s] Value [%s]',9, + debug_log('%s::storeTemplate(): Foreach loop Key [%s] Value [%s]',4, get_class($this),$xml_key,is_array($xml_value)); switch ($xml_key) { + # Build our object Classes from the DN and Template. case ('objectclasses') : if (isset($xmldata['template']['objectclasses']) && is_array($xmldata['template']['objectclasses'])) { foreach ($xmldata['template']['objectclasses']['objectclass'] as $index => $details) { + # XML files with only 1 objectClass dont have a numeric index. if (is_numeric($index)) { - if (! isset($this->_template[$template]['objectclass']) || - ! in_array($details['ID'],$this->_template[$template]['objectclass'])) + if ($schema = $ldapserver->getSchemaObjectClass($details['ID'])) { - $this->_template[$template]['objectclass'][] = $details['ID']; + # If we havent recorded this objectclass already, do so now. + if (! isset($this->_template[$template]['objectclass']) || + ! in_array($schema->getName(),$this->_template[$template]['objectclass'])) { + + $this->_template[$template]['objectclass'][] = $schema->getName(); + } + + # This objectClass doesnt exist. + } else { + } } else { - if (! isset($this->_template[$template]['objectclass']) || - ! in_array($xmldata['template']['objectclasses']['objectclass']['ID'],$this->_template[$template]['objectclass'])) + if ($schema = $ldapserver->getSchemaObjectClass($details)) { + if (! isset($this->_template[$template]['objectclass']) || + ! in_array($details,$this->_template[$template]['objectclass'])) { + + $this->_template[$template]['objectclass'][] = $schema->getName(); + } - $this->_template[$template]['objectclass'][] = $xmldata['template']['objectclasses']['objectclass']['ID']; + # This objectClass doesnt exist. + } else { + } } } } @@ -161,7 +179,7 @@ class Templates { # Build our attribute list from the DN and Template. case ('attributes') : if (DEBUG_ENABLED) - debug_log('%s::storeTemplate(): Case [%s]',8,get_class($this),'attributes'); + debug_log('%s::storeTemplate(): Case [%s]',4,get_class($this),'attributes'); if (isset($xmldata['template']['attributes']) && is_array($xmldata['template']['attributes'])) { $this->_template[$template]['attribute'] = array(); @@ -170,27 +188,28 @@ class Templates { foreach ($tattrs as $index => $attr_details) { if (DEBUG_ENABLED) - debug_log('%s::storeTemplate(): Foreach tattrs Key [%s] Value [%s]',9, - get_class($this),$index,is_array($attr_details)); + debug_log('%s::storeTemplate(): Foreach tattrs Key [%s] Value [%s]',4, + get_class($this),$index,serialize($attr_details)); # Single attribute XML files are not indexed. if (is_numeric($index)) { - $this->_template[$template]['attribute'][$attr_details['ID']] = $this->_parseXML($index,$attr_details); + if ($attr = $ldapserver->getSchemaAttribute($attr_details['ID'])) + $this->_template[$template]['attribute'][$attr->getName()] = $this->_parseXML($index,$attr_details); } else { - if (! strcmp($index,'ID')) continue; - foreach ($attr_details as $key => $values) { - - if (is_array($values) && isset($values['ID'])) { - $this->_template[$template]['attribute'][$tattrs['ID']][$index]['_KEY:'.$values['ID']] = $this->_parseXML($key,$values); - } elseif (is_array($values) && isset($values['#text'])) { - $this->_template[$template]['attribute'][$tattrs['ID']][$index][] = $values['#text']; - - } else { - $this->_template[$template]['attribute'][$tattrs['ID']][$index] = $this->_parseXML($key,$values); + if ($attr = $ldapserver->getSchemaAttribute($tattrs['ID'])) { + foreach ($attr_details as $key => $values) { + if (is_array($values) && isset($values['ID'])) { + $this->_template[$template]['attribute'][$attr->getName()][$index]['_KEY:'.$values['ID']] = $this->_parseXML($key,$values); + } elseif (is_array($values) && isset($values['#text'])) { + $this->_template[$template]['attribute'][$attr->getName()][$index][] = $values['#text']; + + } else { + $this->_template[$template]['attribute'][$attr->getName()][$index] = $this->_parseXML($key,$values); + } } } } @@ -214,6 +233,12 @@ class Templates { } } + if (! count($this->_template[$template]['objectclass'])) { + $this->_template[$template]['invalid'] = 1; + $this->_template[$template]['invalid_reason'] = _('ObjectClasses in XML dont exist in LDAP server.'); + return; + } + # Collect our structural, must & may attributes. $this->_template[$template]['must'] = array(); $this->_template[$template]['may'] = array(); @@ -228,24 +253,29 @@ class Templates { while ($supclass == true) { $schema_object = $ldapserver->getSchemaObjectClass($oclass); + /* + * Shouldnt be required now... # Test that this is a valid objectclass - disable if an invalid one found. if (! $schema_object) { $this->_template[$template]['invalid'] = 1; $supclass = false; continue; } + */ if ($schema_object->getType() == 'structural' && (! $enherited)) $this->_template[$template]['structural'][] = $oclass; if ($schema_object->getMustAttrs() ) foreach ($schema_object->getMustAttrs() as $index => $detail) { + $objectclassattr = $detail->getName(); - if (! in_array($detail->getName(),$this->_template[$template]['must']) && $detail->getName() != 'objectClass') { + if (! in_array($objectclassattr,$this->_template[$template]['must']) && + strcasecmp('objectClass',$objectclassattr) != 0) { # Go through the aliases, and ignore any that are already defined. $ignore = false; - $attr = $ldapserver->getSchemaAttribute($detail->GetName()); + $attr = $ldapserver->getSchemaAttribute($objectclassattr); foreach ($attr->aliases as $alias) { if (in_array($alias,$this->_template[$template]['must'])) { $ignore = true; @@ -256,27 +286,30 @@ class Templates { if ($ignore) continue; - if (isset($this->_template[$template]['attribute'][$detail->getName()]) && - ! is_array($this->_template[$template]['attribute'][$detail->getName()])) + if (isset($this->_template[$template]['attribute'][$objectclassattr]) && + ! is_array($this->_template[$template]['attribute'][$objectclassattr])) - $this->_template[$template]['must'][] = - $this->_template[$template]['attribute'][$detail->getName()]; + $this->_template[$template]['must'][] = + $this->_template[$template]['attribute'][$objectclassattr]; else - $this->_template[$template]['must'][] = $detail->getName(); + $this->_template[$template]['must'][] = $objectclassattr; } } - if ($schema_object->getMayAttrs() ) - foreach ($schema_object->getMayAttrs() as $index => $detail) - if (! in_array($detail->getName(),$this->_template[$template]['may'])) - $this->_template[$template]['may'][] = $detail->getName(); + if ($schema_object->getMayAttrs()) + foreach ($schema_object->getMayAttrs() as $index => $detail) { + $objectclassattr = $detail->getName(); + + if (! in_array($objectclassattr,$this->_template[$template]['may'])) + $this->_template[$template]['may'][] = $objectclassattr; + } # Keep a list to objectclasses we have processed, so we dont get into a loop. $oclass_processed[] = $oclass; if ((count($schema_object->getSupClasses())) || count($superclasslist)) { - foreach ($schema_object->getSupClasses() as $supoclass) { + foreach ($schema_object->getSupClasses() as $supoclass) { if (! in_array($supoclass,$oclass_processed)) $supoclasslist[] = $supoclass; } @@ -293,20 +326,6 @@ class Templates { } } - # Translate anything. - foreach (array('title','description','display','hint') as $transkey) { - if (isset($this->_template[$template][$transkey]) && isset($lang[$this->_template[$template][$transkey]])) - $this->_template[$template][$transkey] = $lang[$this->_template[$template][$transkey]]; - - foreach ($this->_template[$template]['attribute'] as $key => $value) { - if (isset($value[$transkey]) && isset($lang[$value[$transkey]])) - $this->_template[$template]['attribute'][$key][$transkey] = $lang[$value[$transkey]]; - - if (isset($value['helper'][$transkey]) && isset($lang[$value['helper'][$transkey]])) - $this->_template[$template]['attribute'][$key]['helper'][$transkey] = $lang[$value['helper'][$transkey]]; - } - } - # Remove any must attributes in the may list. foreach ($this->_template[$template]['may'] as $index => $detail) { if (in_array($detail,$this->_template[$template]['must'])) { @@ -363,6 +382,7 @@ class Templates { //unset($this->_template[$template]); $this->_template[$template]['invalid'] = 1; + $this->_template[$template]['invalid_reason'] = sprintf(_('Missing %s in the XML file.'),$key); break; } } @@ -370,8 +390,8 @@ class Templates { function _parseXML($index,$attr_details) { if (DEBUG_ENABLED) - debug_log('%s::_parseXML(): Entered with (%s,%s)',2, - get_class($this),$index,serialize($attr_details)); + debug_log('%s::_parseXML(): Entered with (%s,%s)',5, + get_class($this),$index,$attr_details); if (! $attr_details) { return ''; @@ -408,16 +428,17 @@ class Templates { } function getTemplates() { - return $this->_template; + return $this->_template; } - function OnChangeAdd($function) { + function OnChangeAdd($ldapserver,$origin,$value) { if (DEBUG_ENABLED) - debug_log('%s::OnChangeAdd(): Entered with (%s)',2,get_class($this),$function); + debug_log('%s::OnChangeAdd(): Entered with (%s,%s,%s)',5, + get_class($this),$ldapserver->server_id,$origin,$value); - global $js; + global $_js_hash; - list($command,$arg) = split(':',$function); + list($command,$arg) = split(':',$value); switch ($command) { #autoFill:attr,string (with %attr%) @@ -427,90 +448,112 @@ class Templates { preg_match_all('/%(\w+)(\|[0-9]*-[0-9]*)?(\/[lTU])?%/U',$string,$matchall); //print"
    ";print_r($matchall); //0 = highlevel match, 1 = attr, 2 = subst, 3 = mod
     
    -				$html = sprintf('autoFill%s(this.form)',$attr);
    +				if (! isset($_js_hash['autoFill'.$origin]))
    +					$_js_hash['autoFill'.$origin] = '';
     
    -				if (! isset($js["autoFill".$attr]) ) {
    +				$formula = $string;
    +				$formula = preg_replace('/^([^%])/','\'$1',$formula);
    +				$formula = preg_replace('/([^%])$/','$1\'',$formula);
     
    -					$js["autoFill".$attr] = sprintf("\nfunction autoFill%s( form ) {\n",$attr);
    -					$formula = $string;
    -					$formula = preg_replace('/^([^%])/','\'$1',$formula);
    -					$formula = preg_replace('/([^%])$/','$1\'',$formula);
    +				# Check that our attributes match our schema attributes.
    +				foreach ($matchall[1] as $index => $checkattr) {
    +					$matchattr = $ldapserver->getSchemaAttribute($checkattr);
     
    -					foreach ($matchall[0] as $index => $null) {
    -						$substrarray = array();
    +					# If the attribute is the same as in the XML file, then dont need to do anything.
    +					if ($matchattr->getName() == $checkattr)
    +						continue;
     
    -						$js["autoFill".$attr] .= sprintf("	var %s;\n",$matchall[1][$index]);
    -
    -						if (trim($matchall[2][$index])) {
    -							preg_match_all('/([0-9]*)-([0-9]*)/',$matchall[2][$index],$substrarray);
    -						}
    -
    -						if ($matchall[3][$index] == "/T") {
    -							$js["autoFill".$attr] .= sprintf("	%s = form.%s.options[form.%s.selectedIndex].text;\n",
    -								$matchall[1][$index],$matchall[1][$index],$matchall[1][$index]);
    -
    -						} else {
    -
    -							if ((isset($substrarray[1][0]) && $substrarray[1][0]) || (isset($substrarray[2][0]) && $substrarray[2][0])) {
    -								$js["autoFill".$attr] .= sprintf('	%s = form.%s.value.substr(%s,%s)',
    -									$matchall[1][$index],$matchall[1][$index],
    -									$substrarray[1][0] ? $substrarray[1][0] : '0',
    -									$substrarray[2][0] ? $substrarray[2][0] : sprintf('form.%s.value.length',$matchall[1][$index]));
    -
    -							} else {
    -								$js["autoFill".$attr] .= sprintf('	%s = form.%s.value',$matchall[1][$index],$matchall[1][$index]);
    -							}
    -
    -							switch ($matchall[3][$index]) {
    -								case '/l':
    -									$js["autoFill".$attr] .= ".toLowerCase()";
    -									break;
    -							}
    -							$js["autoFill".$attr] .= ";\n";
    -						}
    -
    -						$formula = preg_replace('/^%('.$matchall[1][$index].')%$/U','$1 + \'\'',$formula);
    -						$formula = preg_replace('/^%('.$matchall[1][$index].')(\|[0-9]*-[0-9]*)?(\/[lTU])?%/U','$1 + \'',$formula);
    -						$formula = preg_replace('/%('.$matchall[1][$index].')(\|[0-9]*-[0-9]*)?(\/[lTU])?%$/U','\' + $1 ',$formula);
    -						$formula = preg_replace('/%('.$matchall[1][$index].')(\|[0-9]*-[0-9]*)?(\/[lTU])?%/U','\' + $1 + \'',$formula);
    -					}
    -
    -					$js["autoFill".$attr] .= sprintf("	form.%s.value = %s;\n",$attr,$formula);
    -					$js["autoFill".$attr] .= "}\n";
    +					$formula = preg_replace("/$checkattr/",$matchattr->getName(),$formula);
    +					$matchall[1][$index] = $matchattr->getName();
     				}
     
    +				foreach ($matchall[0] as $index => $null) {
    +					$match_attr = $matchall[1][$index];
    +					$match_subst = $matchall[2][$index];
    +					$match_mod = $matchall[3][$index];
    +
    +					$substrarray = array();
    +
    +					$_js_hash['autoFill'.$origin] .= sprintf("  var %s;\n",$match_attr);
    +
    +					if (trim($match_subst)) {
    +						preg_match_all('/([0-9]*)-([0-9]*)/',$match_subst,$substrarray);
    +					}
    +
    +					if ($match_mod == '/T') {
    +						$_js_hash['autoFill'.$origin] .= sprintf(
    +							"   %s = document.getElementById('%s').options[document.getElementById('%s').selectedIndex].text;\n",
    +							$match_attr,$match_attr,$match_attr);
    +
    +					} else {
    +						if ((isset($substrarray[1][0]) && $substrarray[1][0]) || (isset($substrarray[2][0]) && $substrarray[2][0])) {
    +							$_js_hash['autoFill'.$origin] .= sprintf('   %s = document.getElementById("%s").value.substr(%s,%s)',
    +								$match_attr,$match_attr,
    +								$substrarray[1][0] ? $substrarray[1][0] : '0',
    +								$substrarray[2][0] ? $substrarray[2][0] : sprintf('document.getElementById("%s").value.length',$match_attr));
    +						} else {
    +							$_js_hash['autoFill'.$origin] .= sprintf(' %s = document.getElementById(\'%s\').value',
    +								$match_attr,$match_attr);
    +						}
    +
    +						switch ($match_mod) {
    +							case '/l':
    +								$_js_hash['autoFill'.$origin] .= '.toLowerCase()';
    +								break;
    +						}
    +						$_js_hash['autoFill'.$origin] .= ";\n";
    +					}
    +
    +					# Matchfor only entry without modifiers.
    +					$formula = preg_replace('/^%('.$match_attr.')%$/U','$1 + \'\'',$formula);
    +					# Matchfor only entry with modifiers.
    +					$formula = preg_replace('/^%('.$match_attr.')(\|[0-9]*-[0-9]*)?(\/[lTU])?%$/U','$1 + \'\'',$formula);
    +					# Matchfor begining entry.
    +					$formula = preg_replace('/^%('.$match_attr.')(\|[0-9]*-[0-9]*)?(\/[lTU])?%/U','$1 + \'',$formula);
    +					# Matchfor ending entry.
    +					$formula = preg_replace('/%('.$match_attr.')(\|[0-9]*-[0-9]*)?(\/[lTU])?%$/U','\' + $1 ',$formula);
    +					# Match for entries not at begin/end.
    +					$formula = preg_replace('/%('.$match_attr.')(\|[0-9]*-[0-9]*)?(\/[lTU])?%/U','\' + $1 + \'',$formula);
    +				}
    +
    +				$_js_hash['autoFill'.$origin] .= sprintf(" fillRec('%s', %s);\n",$attr,$formula);
    +				$_js_hash['autoFill'.$origin] .= "\n";
     				break;
     
    -			default: $html = '';
    +			default: $return = '';
     		}
    -		return $html;
    +		return '1';
     	}
     
    -	function OnChangeDisplay() {
    -		global $js;
    -
    -		return (isset($js) ? implode("\n",$js) : '');
    +	function getJsHash() {
    +		global $_js_hash;
    +		return $_js_hash;
     	}
     
    -	function EvaluateDefault($ldapserver,$value,$container,$counter='',$default=null) {
    +	// @todo: The XML files need to change the field seperater to something else (ie: not comma)
    +	// as it is clashing when a DN is used as an argument.
    +	function EvaluateDefault(&$ldapserver,$value,$container,$counter='',$default=null) {
     		if (DEBUG_ENABLED)
    -			debug_log('%s::EvaluateDefault(): Entered with (%s,%s,%s,%s)',2,
    +			debug_log('%s::EvaluateDefault(): Entered with (%s,%s,%s,%s)',5,
     				get_class($this),$ldapserver->server_id,$value,$container,$counter);
     
    -		global $lang;
    +		global $ldapservers;
     
     		if (preg_match('/^=php\.(\w+)\((.*)\)$/',$value,$matches)) {
     			$args = preg_split('/,/',$matches[2]);
     
     			switch($matches[1]) {
     				case 'GetNextNumber' :
    -					$container = get_container_parent($ldapserver,$container,$args[0]);
    +					if ($args[0] == '$')
    +						$args[0] = $ldapservers->GetValue($ldapserver->server_id,'auto_number','search_base');
     
    -					$detail['value'] = get_next_uid_number($ldapserver,$container,$args[1]);
    +					$container = $ldapserver->getContainerParent($container,$args[0]);
    +
    +					$detail['value'] = get_next_number($ldapserver,$container,$args[1]);
     					break;
     
     				case 'PickList' :
    -					$container = get_container_parent($ldapserver,$container,$args[0]);
    +					$container = $ldapserver->getContainerParent($container,$args[0]);
     					preg_match_all('/%(\w+)(\|.+)?(\/[lU])?%/U',$args[3],$matchall);
     					//print_r($matchall); // -1 = highlevel match, 1 = attr, 2 = subst, 3 = mod
     
    @@ -518,7 +561,7 @@ class Templates {
     					array_push($ldap_attrs,$args[2]);
     					$picklistvalues = return_ldap_hash($ldapserver,$container,$args[1],$args[2],$ldap_attrs);
     
    -					$detail['value'] = sprintf('',(isset($args[4]) ? $args[4] : $args[2]));
     					foreach ($picklistvalues as $key => $values) {
     						$display = $args[3];
     
    @@ -527,7 +570,7 @@ class Templates {
     						}
     
     						if (! isset($picklist[$display])) {
    -							$detail['value'] .= sprintf('',
    +							$detail['value'] .= sprintf('',
     								$display,$values[$args[2]],
     								($default == $display ? 'selected' : ''),
     								$display);
    @@ -540,12 +583,12 @@ class Templates {
     
     				case 'RandomPassword' :
     					$detail['value'] = password_generate();
    -					printf('',
    -						$lang['random_password'],$detail['value']);
    +					printf('',
    +						_('A random password was generated for you'),$detail['value']);
     					break;
     
     				case 'DrawChooserLink' :
    -					$detail['value'] = draw_chooser_link(sprintf("template_form.%s%s",$args[0],$counter),$args[1]);
    +					$detail['value'] = draw_chooser_link(sprintf('template_form.%s%s',$args[0],$counter),$args[1]);
     
     					break;
     
    @@ -553,6 +596,22 @@ class Templates {
     					# Capture the function name and remove function name from $args
     					$function_name = array_shift($args);
     
    +					$function_args = array();
    +					foreach ($args as $arg) {
    +						if (preg_match('/^%(\w+)(\|.+)?(\/[lU])?%/U',$arg,$matches)) {
    +
    +							$varname = $matches[1];
    +
    +							if (isset($_POST['form']['post'][$varname]))
    +								$function_args[] = $_POST['form']['post'][$varname];
    +							else
    +								pla_error(sprintf(_('Your template calls php.Function for a default value, however (%s) is NOT available in the POST FORM variables. The following variables are available [%s].'),$varname,
    +									(isset($_POST['form']) ? implode('|',array_keys($_POST['form'])) : 'NONE')));
    +						} else {
    +							$function_args[] = $arg;
    +						}
    +					}
    +
     					# Call the PHP function if exists (PHP 4 >= 4.0.4, PHP 5)
     					if (function_exists($function_name))
     						$detail['value'] = call_user_func_array($function_name,$args);
    @@ -569,14 +628,14 @@ class Templates {
     		}
     
     		if (DEBUG_ENABLED)
    -			debug_log('%s::EvaluateDefault(): Returning (%s)',1,get_class($this),serialize($return));
    +			debug_log('%s::EvaluateDefault(): Returning (%s)',5,get_class($this),$return);
     		return $return;
     	}
     
     	function HelperValue($helper,$id='',$container='',$ldapserver='',$counter='',$default='') {
     		if (DEBUG_ENABLED)
    -			debug_log('%s::HelperValue(): Entered with (%s,%s,%s,%s,%s,%s)',2,
    -				get_class($this),serialize($helper),$id,$container,$ldapserver->server_id,$counter,$default);
    +			debug_log('%s::HelperValue(): Entered with (%s,%s,%s,%s,%s,%s)',5,
    +				get_class($this),$helper,$id,$container,$ldapserver->server_id,$counter,$default);
     
     		if ($container && $ldapserver && ! is_array($helper)) {
     			if (preg_match('/^=php./',$helper))
    @@ -589,9 +648,9 @@ class Templates {
     		} else {
     			if (is_array($helper)) {
     
    -				$html = sprintf('',$id,$id);
     				foreach ($helper as $value) {
    -					$html .= sprintf('',
    +					$html .= sprintf('',
     						$value,$value,($default == $value ? 'selected' : ''),$value);
     				}
     				$html .= '';
    diff --git a/lib/timeout_functions.php b/lib/timeout_functions.php
    index 33efad0..fb01e3a 100644
    --- a/lib/timeout_functions.php
    +++ b/lib/timeout_functions.php
    @@ -1,4 +1,5 @@
     server_id);
    +		debug_log('set_lastactivity(): Entered with (%s)',1,$ldapserver->server_id);
     
     	$_SESSION['activity']['server'][$ldapserver->server_id] = time();
     	$_SESSION['activity']['rightframe_server_id'] = $ldapserver->server_id;
    @@ -31,63 +32,49 @@ function set_lastactivity( $ldapserver ) {
      *
      * @param object $ldapserver The LDAPServer object of the server which the user has logged in.
      */
    -function unset_lastactivity( $ldapserver ) {
    +function unset_lastactivity($ldapserver) {
     	if (DEBUG_ENABLED)
    -		debug_log('unset_lastactivity(): Entered with (%s)',2,$ldapserver->server_id);
    +		debug_log('unset_lastactivity(): Entered with (%s)',1,$ldapserver->server_id);
     
    -	if (isset($_SESSION['activity']['server'][$ldapserver->server_id])) {
    +	if (isset($_SESSION['activity']['server'][$ldapserver->server_id]))
            		unset($_SESSION['activity']['server'][$ldapserver->server_id]);
    -		session_write_close();
    -	}
     }
     
    -
     /**
      * Check if custom session timeout has been reached for server $ldapserver.
      * If it has:
    - * 	- automatically log out user by calling unset_login_dn( $server_id )
    + * 	- automatically log out user by calling $ldapserver->unsetLoginDN()
      *	- if $server_id is equal to right frame $server_id, load timeout.php page in the right frame
      *	- return true
      *
      * @param object $ldapserver The LDAPServer object of the server which the user has logged in.
      * @return bool true on success, false on failure.
      */
    -function session_timed_out( $ldapserver ) {
    +function session_timed_out($ldapserver) {
     	if (DEBUG_ENABLED)
    -		debug_log('session_timed_out(): Entered with (%s)',2,$ldapserver->server_id);
    -
    -	global $lang;
    +		debug_log('session_timed_out(): Entered with (%s)',1,$ldapserver->server_id);
     
     	# If session hasn't expired yet
    -	if( isset( $_SESSION[ 'activity' ]['server'][$ldapserver->server_id] ) ) {
    +	if (isset($_SESSION['activity']['server'][$ldapserver->server_id])) {
     
    -		// If $session_timeout not defined, use ( session_cache_expire() - 1 )
    +		# If $session_timeout not defined, use (session_cache_expire() - 1)
     		if (! isset($ldapserver->session_timeout))
     			$session_timeout = session_cache_expire()-1;
     		else
     			$session_timeout = $ldapserver->session_timeout;
     
    -		// Get the $last_activity and $rightframe_server_id value
    +		# Get the $last_activity and $rightframe_server_id value
     		$last_activity = $_SESSION['activity']['server'][$ldapserver->server_id];
    -		$rightframe_server_id = $_SESSION['activity']['rightframe_server_id'];
     
    -		// If diff between current time and last activity greater than $session_timeout, log out user
    -		if ( ( time()-$last_activity ) > ( $session_timeout*60 ) ) {
    +		# If diff between current time and last activity greater than $session_timeout, log out user
    +		if ((time()-$last_activity) > ($session_timeout*60)) {
     
    -			if( in_array($ldapserver->auth_type, array('cookie','session')) ) {
    -				syslog_notice ( "Logout for " . get_logged_in_dn( $ldapserver ) );
    -				unset_login_dn( $ldapserver ) or pla_error( $lang['could_not_logout'] );
    +			if (in_array($ldapserver->auth_type, array('cookie','session'))) {
    +				syslog_notice('Logout for '.$ldapserver->getLoggedInDN());
    +				$ldapserver->unsetLoginDN() or pla_error(_('Could not logout.'));
     			}
     
    -			// If $ldapserver->server_id equal $rightframe_server_id load timeout page on right frame
    -			if ( $ldapserver->server_id == $rightframe_server_id ) { ?>
    -				
    -
    -			server_id;
    +	static $tm = null;
     
    -	// Does this server want mass deletion availble?
    +	$server_id = $ldapserver->server_id;
    +	$tree = get_cached_item($ldapserver->server_id,'tree');
    +
    +	# Does this server want mass deletion available?
     	if ($ldapserver->isMassDeleteEnabled()) {
    -		print '
    '; + echo ''; printf('',$ldapserver->server_id); + echo "\n\n"; } - print ''; - printf('%s',$lang['server']); + echo ''; + echo ''; + printf('',_('Server')); printf(''; + echo ''; - // do we have what it takes to authenticate here, or do we need to - // present the user with a login link (for 'cookie' and 'session' auth_types)? + /* do we have what it takes to authenticate here, or do we need to + present the user with a login link (for 'cookie' and 'session' auth_types)? */ if ($ldapserver->haveAuthInfo()) { + if ($ldapserver->connect(false)) { $schema_href = sprintf('schema.php?server_id=%s" target="right_frame',$ldapserver->server_id); $search_href = sprintf('search.php?server_id=%s" target="right_frame',$ldapserver->server_id); @@ -57,52 +60,43 @@ function draw_server_tree() { $import_href = sprintf('ldif_import_form.php?server_id=%s',$ldapserver->server_id); $export_href = sprintf('export_form.php?server_id=%s',$ldapserver->server_id); - // Draw the quick-links below the server name: - // ( schema | search | refresh | create ) + # Draw the quick-links below the server name: echo ''; if ($ldapserver->auth_type != 'config') { - $logged_in_dn = get_logged_in_dn( $ldapserver ); - echo ""; + echo ''; } - if( $ldapserver->isReadOnly() ) - echo ""; + if ($ldapserver->isReadOnly()) + printf('',_('read only')); $javascript_forms = ''; $javascript_id = 0; - foreach ($ldapserver->getBaseDN() as $base_dn) { - // Did we get a base_dn for this server somehow? - if ($base_dn) { - echo "\n\n\n\n"; + $tree_plm = ''; - // is the root of the tree expanded already? - if( isset( $tree[$ldapserver->server_id][$base_dn] ) ) { + if ($config->GetValue('appearance','tree_plm') && ! isset($tm)) { + $tm = new TreeMenu(); + $tm->setDirroot(JSDIR.'phplayersmenu/'); + $tm->setIcondir(HTDOCDIR.'/images/'); + $tm->setIconwww('images/'); + $tm->setImgwww(JSDIR.'phplayersmenu/menuimages/'); + } + + foreach ($ldapserver->getBaseDN() as $base_dn) { + + # Did we get a base_dn for this server somehow? + if ($base_dn) { + # is the root of the tree expanded already? + if (isset($tree['browser'][$base_dn]['open']) && $tree['browser'][$base_dn]['open']) { $expand_href = sprintf('collapse.php?server_id=%s&dn=%s', $ldapserver->server_id,rawurlencode( $base_dn )); - $expand_img = "images/minus.png"; - $expand_alt = "-"; - $child_count = number_format( count( $tree[$ldapserver->server_id][$base_dn] ) ); + $expand_img = 'images/minus.png'; + $expand_alt = '-'; + $child_count = number_format(count($tree['browser'][$base_dn]['children'])); } else { - // Check if the LDAP server is not yet initialized - // (ie, the base DN configured in config.php does not exist) - if( ! dn_exists( $ldapserver, $base_dn ) ) { + /* Check if the LDAP server is not yet initialized + (ie, the base DN configured in config.php does not exist) */ + if (! $ldapserver->dnExists($base_dn)) { $javascript_id++; - ?> - - - - - + printf('', + pretty_print_dn($base_dn)); - ',$javascript_id); - $javascript_forms .= sprintf(''); - $javascript_forms .= sprintf('',$ldapserver->server_id); - $javascript_forms .= sprintf(''); - $javascript_forms .= sprintf('',htmlspecialchars($base_dn)); - $javascript_forms .= sprintf(''); ?> + /* Move this form and add it to the end of the html - otherwise the javascript + doesnt work when isMassDeleteEnabled returning true. */ + $javascript_forms .= sprintf('', + $javascript_id); + $javascript_forms .= sprintf(''); + $javascript_forms .= sprintf('',$ldapserver->server_id); + $javascript_forms .= sprintf('',htmlspecialchars($rdn)); + $javascript_forms .= sprintf('',get_rdn($base_dn)); + $javascript_forms .= sprintf(''); - - - - - - ', + _('This base entry does not exist.'),$javascript_id,_('Create it?')); continue; + } else { $expand_href = sprintf('expand.php?server_id=%s&dn=%s', $ldapserver->server_id,rawurlencode( $base_dn )); - $expand_img = "images/plus.png"; - $expand_alt = "+"; - $size_limit = $config->GetValue('search','size_limit'); + $expand_img = 'images/plus.png'; + $expand_alt = '+'; + # $size_limit = $config->GetValue('search','size_limit'); + $size_limit = -1; - if( $ldapserver->isLowBandwidth() ) { + if ($ldapserver->isLowBandwidth()) { $child_count = null; } else { - $child_count = count( get_container_contents( - $ldapserver, $base_dn, $size_limit+1, - '(objectClass=*)', $config->GetValue('deref','tree') ) ); + $children = $ldapserver->getContainerContents($base_dn,$size_limit+1,'(objectClass=*)', + $config->GetValue('deref','tree')); - if( $child_count > $size_limit ) - $child_count = $size_limit . '+'; - } + $child_count = count($children); + +# if ($child_count > $size_limit) +# $child_count = $size_limit.'+'; + } } } - $create_href = sprintf('create_form.php?server_id=%s&container=%s',$ldapserver->server_id, - rawurlencode( $base_dn )); + $create_href = sprintf('create_form.php?server_id=%s&container=%s',$ldapserver->server_id,rawurlencode($base_dn)); + $edit_href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,rawurlencode($base_dn)); - $edit_href = sprintf("edit.php?server_id=%s&dn=%s",$ldapserver->server_id,rawurlencode( $base_dn )); + $icon = isset($tree['browser'][$base_dn]['icon']) ? $tree['browser'][$base_dn]['icon'] : get_icon($ldapserver,$base_dn); - $icon = isset( $tree_icons[ $ldapserver->server_id ][ $base_dn ] ) - ? $tree_icons[ $ldapserver->server_id ][ $base_dn ] - : get_icon( $ldapserver, $base_dn ); + # Shall we draw the "mass-delete" checkbox? + if ($ldapserver->isMassDeleteEnabled()) + printf('',htmlspecialchars($base_dn)); - // Shall we draw the "mass-delete" checkbox? - if( $ldapserver->isMassDeleteEnabled() ) { - echo "\n"; + if ($config->GetValue('appearance','tree_plm')) { + $tree_plm .= sprintf(".|%s|%s|%s|%s|%s|%s\n", + pretty_print_dn($base_dn).($child_count ? ' ('.$child_count.')' : ''),$edit_href,$base_dn,$icon,'right_frame',0); + + } else { + echo ''; + printf('',$expand_href,$expand_img,$expand_alt); + printf('',$edit_href,$icon); + printf(''; + echo ''; } - echo ""; - echo "\n"; - echo "\n"; - echo "\n"; - - if( $ldapserver->isShowCreateEnabled() && isset( $tree[ $ldapserver->server_id ][ $base_dn ]) - && count( $tree[ $ldapserver->server_id ][ $base_dn ] ) > 10 ) - draw_create_link( $ldapserver->server_id, $base_dn, -1, urlencode( $base_dn )); - } else { // end if( $base_dn ) # The server refuses to give out the base dn printf('', - $lang['could_not_determine_root'],$lang['ldap_refuses_to_give_root'],$lang['please_specify_in_config']); + _('Could not determine the root of your LDAP tree.'),_('It appears that the LDAP server has been configured to not reveal its root.'),_('Please specify it in config.php')); # Proceed to the next server. We cannot draw anything else for this server. continue; @@ -231,70 +223,254 @@ function draw_server_tree() { flush(); - // Is the root of the tree expanded already? - if( isset( $tree[$ldapserver->server_id][$base_dn] ) && is_array( $tree[$ldapserver->server_id][$base_dn] ) ) { - foreach( $tree[ $ldapserver->server_id ][ $base_dn ] as $child_dn ) - draw_tree_html( $child_dn, $ldapserver, 0 ); + if ($config->GetValue('appearance','tree_plm')) { + foreach ($children as $child_dn) + $tree_plm .= draw_tree_plm($child_dn,$ldapserver); - if( ! $ldapserver->isReadOnly() ) { - echo ''; - if( $ldapserver->isShowCreateEnabled() ) { - echo ''; - echo ''; + } else { + # Is the root of the tree expanded already? + if (isset($tree['browser'][$base_dn]['open'] ) && $tree['browser'][$base_dn]['open']) { + + if ($ldapserver->isShowCreateEnabled() && count($tree['browser'][$base_dn]['children']) > 10 ) + draw_create_link($ldapserver->server_id,$base_dn,-1,urlencode($base_dn)); + + foreach ($tree['browser'][$base_dn]['children'] as $child_dn) + draw_tree_html($child_dn,$ldapserver,0); + + if (! $ldapserver->isReadOnly()) { + echo ''; + + if ($ldapserver->isShowCreateEnabled()) + draw_create_link($ldapserver->server_id,$base_dn,-1,urlencode($base_dn)); } } } + } // foreeach + + if ($config->GetValue('appearance','tree_plm')) { + $tm->setMenuStructureString($tree_plm); + $tm->parseStructureForMenu('pla_tree_'.$ldapserver->server_id); + $tm->setTreeMenuTheme(''); + $tm->newTreeMenu('pla_tree_'.$ldapserver->server_id); + echo ''; } } else { // end if( $ldapserver->connect(false) ) - // could not connect to LDAP server - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - if( $ldapserver->auth_type != 'config' ) { - $logout_href = get_custom_file( $ldapserver->server_id, 'logout.php','') . '?server_id=' . $ldapserver->server_id; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; - echo "\n"; + # could not connect to LDAP server + printf('',_('warning'),_('Could not connect to LDAP server.')); + + if ($ldapserver->auth_type != 'config') { + $logout_href = sprintf('%s?server_id=%s',get_custom_file($ldapserver->server_id,'logout.php',''),$ldapserver->server_id); + + printf('', + $logout_href,_('logout')); } - // Proceed to the next server in the list. We cannot do anything mroe here. + + # Proceed to the next server in the list. We cannot do anything mroe here. return; } } else { // end if $ldapserver->haveAuthInfo() - // We don't have enough information to login to this server - // Draw the "login..." link - $login_href = get_custom_file( $ldapserver->server_id, 'login_form.php','' ) . "?server_id=$server_id"; - echo ''; - echo ''; - echo ''; - echo ''; - // If the server recently timed out display the message - if ( in_array($ldapserver->server_id,$recently_timed_out_servers) ) - echo ''; + + /* We don't have enough information to login to this server + Draw the "login..." link */ + $login_href = sprintf('%s?server_id=%s',get_custom_file($ldapserver->server_id,'login_form.php',''),$ldapserver->server_id); + printf('',$login_href,_('login'),$login_href,_('Login...')); + + # If the server recently timed out display the message + if (in_array($ldapserver->server_id,$recently_timed_out_servers)) + printf('',_('(Session timed out. Automatically logged out.)')); } - if( $ldapserver->isMassDeleteEnabled() ) { - echo "\n"; - echo "\n"; - echo "\n"; + if ($ldapserver->isMassDeleteEnabled() && ! $config->GetValue('appearance','tree_plm')) { + printf('',_('Delete Checked Entries')); + echo ''; + echo '
    %s',$ldapserver->server_id); printf('%s ',htmlspecialchars($ldapserver->name)); - if ($ldapserver->haveAuthInfo() && $ldapserver->session_timeout) - printf('timeout', - sprintf($lang['timeout_at'],strftime('%H:%M',time()+($ldapserver->session_timeout*60)))); + if ($ldapserver->haveAuthInfo() && $ldapserver->auth_type != 'config') + printf('timeout', + sprintf(_('Inactivity will log you off at %s'),strftime('%H:%M',time()+($ldapserver->session_timeout*60)))); - print '
    " . $lang['logged_in_as']; + $logged_in_dn = $ldapserver->getLoggedInDN(); + echo '
    " . - "(" . $lang['read_only'] . ")
    %s
    - - -
    %s%s
    %simg%s',$edit_href,pretty_print_dn($base_dn)); + + if ($child_count) + printf(' (%s)',$child_count); + + echo '
    "; - echo "\"$expand_alt\""; - echo "\"img\"" . pretty_print_dn( $base_dn ) . ''; - if( $child_count ) - echo " ($child_count)"; - echo "
    %s
    %s
    %s
    ' .
-								$lang['new'] . '' . $lang['create_new'] . '
    '.$tm->getTreeMenu('pla_tree_'.$ldapserver->server_id).'
    \""" . $lang['could_not_connect'] . "
    "; - echo "" . $lang['logout'] . "
    %s%s
    %s
    '; + echo ''; + } else { + echo ''; } + echo "\n\n"; + if (isset($javascript_forms) && $javascript_forms) { echo "\n"; echo $javascript_forms; echo "\n"; } } + +/** + * Recursively descend on the given dn and draw the tree in html + * + * @param dn $dn Current dn. + * @param object $LDAPServer LDAPServer object + * @param int $level Level to start drawing (defaults to 0) + */ +function draw_tree_html($dn,$ldapserver,$level=0) { + global $config; + + $tree = get_cached_item($ldapserver->server_id,'tree'); + $encoded_dn = rawurlencode($dn); + $expand_href = sprintf('expand.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); + $collapse_href = sprintf('collapse.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); + $edit_href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); + $img_src = sprintf('images/%s',$tree['browser'][$dn]['icon']); + $rdn = get_rdn($dn); + + echo ''; + + for ($i=0;$i<=$level;$i++) + echo ''; + + # Shall we draw the "mass-delete" checkbox? + if ($ldapserver->isMassDeleteEnabled()) + printf('',htmlspecialchars($dn)); + + # Is this node expanded? (deciding whether to draw "+" or "-") + if (isset($tree['browser'][$dn]['open']) && $tree['browser'][$dn]['open']) { + $child_count = number_format(count($tree['browser'][$dn]['children'])); + + if ((! $child_count) && (! $ldapserver->isShowCreateEnabled())) + echo '-'; + else + printf('-',$collapse_href); + + } else { + $size_limit = $config->GetValue('search','size_limit'); + + if ($ldapserver->isLowBandwidth()) { + $child_count = null; + + } else { + $child_count = count($ldapserver->getContainerContents($dn,$size_limit+1,'(objectClass=*)',$config->GetValue('deref','tree'))); + + if ($child_count > $size_limit) + $child_count = $size_limit.'+'; + } + + if ((! $child_count) && (! $ldapserver->isShowCreateEnabled())) + echo '-'; + else + printf('+',$expand_href); + } + + printf('img', + $edit_href,$ldapserver->server_id,$encoded_dn,$img_src); + + printf('',97-$level); + printf('%s',$edit_href,draw_formatted_dn($ldapserver,$dn)); + + if ($child_count) + printf(' (%s)',$child_count); + + echo ''; + + if (isset($tree['browser'][$dn]['open']) && $tree['browser'][$dn]['open']) { + /* Draw the "create new" link at the top of the tree list if there are more than 10 + entries in the listing for this node. */ + + if ((count($tree['browser'][$dn]['children']) > 10) && ($ldapserver->isShowCreateEnabled())) + draw_create_link($ldapserver->server_id,$rdn,$level,$encoded_dn); + + foreach ($tree['browser'][$dn]['children'] as $dn) + draw_tree_html($dn,$ldapserver,$level+1); + + # Always draw the "create new" link at the bottom of the listing + if ($ldapserver->isShowCreateEnabled()) + draw_create_link($ldapserver->server_id,$rdn,$level,$encoded_dn); + } +} + +/** + * Recursively descend on the given dn and draw the tree in plm + * + * @param dn $dn Current dn. + * @param object $LDAPServer LDAPServer object + * @param int $level Level to start drawing (defaults to 2) + * @todo: Currently draw PLM only shows the first 50 entries of the base children - possibly the childrens children too. Have disabed the size_limit on the base - need to check that it doesnt affect non PLM tree viewer and children where size > size_limit. + */ +function draw_tree_plm($dn,$ldapserver,$level=2) { + if (DEBUG_ENABLED) + debug_log('draw_tree_plm(): Entered with (%s,%s,%s)',33, + $dn,$ldapserver,$level); + + global $config; + + $tree = get_cached_item($ldapserver->server_id,'tree'); + $encoded_dn = rawurlencode($dn); + #$expand_href = sprintf('expand.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); + $edit_href = sprintf('template_engine.php?server_id=%s&dn=%s',$ldapserver->server_id,$encoded_dn); + #$img_src = sprintf('images/%s',$tree['browser'][$dn]['icon']); + $rdn = get_rdn($dn); + + $dots = ''; + for ($i=1;$i<=$level;$i++) + $dots .= '.'; + + # Have we tranversed this part of the tree yet? + if (isset($tree['browser'][$dn]['open'])) { + $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s\n", + $dots, + $rdn.' ('.number_format(count($tree['browser'][$dn]['children'])).')', + $edit_href,$dn,$tree['browser'][$dn]['icon'],'right_frame', + (isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0)); + + foreach ($tree['browser'][$dn]['children'] as $dn) + $tree_plm .= draw_tree_plm($dn,$ldapserver,$level+1); + + } else { + $size_limit = $config->GetValue('search','size_limit'); + $child_count = count($ldapserver->getContainerContents($dn,$size_limit+1,'(objectClass=*)',$config->GetValue('deref','tree'))); + if ($child_count > $size_limit) + $child_count = $size_limit.'+'; + + if ($child_count) { + $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s|%s\n", + $dots, + $rdn.' ('.$child_count.')', + $edit_href,$dn,$tree['browser'][$dn]['icon'], + 'right_frame', + (isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0), + $child_count); + } else { + $tree_plm = sprintf("%s|%s|%s|%s|%s|%s|%s|%s\n", + $dots, + $rdn.' (0)', + $edit_href,$dn,$tree['browser'][$dn]['icon'], + 'right_frame', + (isset($tree['browser'][$dn]['open']) ? $tree['browser'][$dn]['open'] : 0), + $child_count); + } + } + + if (DEBUG_ENABLED) + debug_log('draw_tree_plm(): Returning (%s)',33,$tree_plm); + + return $tree_plm; +} + +/** + * Print the HTML to show the "create new entry here". + * + * @param int $server_id + * @param dn $rdn + * @param int $level + * @param dn $encoded_dn + */ +function draw_create_link($server_id,$rdn,$level,$encoded_dn) { + # print the "Create New object" link. + $create_href = sprintf('create_form.php?server_id=%s&container=%s',$server_id,$encoded_dn); + + echo ''; + for ($i=0;$i<=$level;$i++) + echo ''; + + echo ''; + printf('%s', + $create_href,_('new')); + printf('%s', + 97-$level,$create_href,_('Create a new entry in'),$rdn,_('Create new entry here')); + echo ''; +} ?> diff --git a/locale/ca_ES/LC_MESSAGES/messages.mo b/locale/ca_ES/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..f6e6657798af9dedee40fc3bd40c6a2f59c21b79 GIT binary patch literal 22224 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 literal 0 HcmV?d00001 diff --git a/locale/ca_ES/LC_MESSAGES/messages.po b/locale/ca_ES/LC_MESSAGES/messages.po new file mode 100644 index 0000000..6c49bc8 --- /dev/null +++ b/locale/ca_ES/LC_MESSAGES/messages.po @@ -0,0 +1,917 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Unknown \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Formulari de recerca sencilla" + + +msgid "Advanced Search Form" +msgstr "Formulari de recerca avançada" + + +msgid "Server" +msgstr "Servidor" + + +msgid "Search for entries whose" +msgstr "Buscar entrades les quals:" + + +msgid "Base DN" +msgstr "Base DN" + + +msgid "Search Scope" +msgstr "Abast de la recerca" + + +msgid "Show Attributtes" +msgstr "Mostrar atributs" + + +msgid "Search" +msgstr "Buscar" + + +msgid "equals" +msgstr "sigui igual" + + +msgid "contains" +msgstr "contingui" + + +msgid "Request feature" +msgstr "Demanar funcionalitat" + + +msgid "Report a bug" +msgstr "Reportar una errada" + + +msgid "schema" +msgstr "esquema" + + +msgid "search" +msgstr "buscar" + + +msgid "create" +msgstr "crear" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importar" + + +msgid "refresh" +msgstr "refrescar" + + +msgid "logout" +msgstr "sortir" + + +msgid "Create new entry here" +msgstr "Crear Nou Objecte" + + +msgid "View schema for" +msgstr "Veure esquema per a" + + +msgid "Refresh all expanded containers for" +msgstr "Refrescar tots els contenidors extés per a" + + +msgid "Create a new entry on" +msgstr "Crear nou objecte a" + + +msgid "View server-supplied information" +msgstr "Veure informació del servidor" + + +msgid "Import entries from an LDIF file" +msgstr "Importar objectes d'arxiu LDIF" + + +msgid "Logout of this server" +msgstr "Sortiu d'aquest servidor" + + +msgid "Logged in as: " +msgstr "Conectat com: " + + +msgid "read only" +msgstr "inalterable" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "No s'ha pogut determinar l'arrel del servidor LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Sembla que el servidor LDAP s'ha configurat per no revelar la seva arrel." + + +msgid "Please specify it in config.php" +msgstr "Si us plau especifícala a l'arxiu config.php" + + +msgid "Create a new entry in" +msgstr "Crear un nou objecte a" + + +msgid "Login..." +msgstr "Autenticació..." + + +msgid "Delete this entry" +msgstr "Esborrar aquest objecte" + + +msgid "You will be prompted to confirm this decision" +msgstr "Es tindrá que confirmar aquesta decisió" + + +msgid "Copy or move this entry" +msgstr "Copiar aquest objecte" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Copiar aquest objecte per una altra localització, DN nou, o per un altre servidor." + + +msgid "Create a child entry" +msgstr "Crear objecte com a fill" + + +msgid "Rename Entry" +msgstr "Renombrar objecte" + + +msgid "Rename" +msgstr "Renombrar" + + +msgid "Add" +msgstr "Afegir" + + +msgid "View" +msgstr "Veure" + + +msgid "Add new attribute" +msgstr "Afegir nou atribut" + + +msgid "Hide internal attributes" +msgstr "ocultar els atributs interns" + + +msgid "Show internal attributes" +msgstr "mostrar els atributs interns" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Fes click per veure la definició de l'esquema per tipus d'atribut '%s'" + + +msgid "none" +msgstr "cap" + + +msgid "Save Changes" +msgstr "Desar els canvis" + + +msgid "add value" +msgstr "afegir valor" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Afegir valor adicional a aquest atribut" + + +msgid "Refresh" +msgstr "Refrescar" + + +msgid "Refresh this entry" +msgstr "Refrescar aquest objecte" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Pista: Per a borrar un atribut, buida el formulari de texte i fes click a Desar." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Pista: Per veure l'esquema d'un atribut, fes click al nom de l'atribut." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Alguns atributs (%s) foren modificats i estan remarcats més abaix." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Un atribut (%s) fore modificat i està remarcat més abaix." + + +msgid "Viewing entry in read-only mode." +msgstr "Mostrant l'objecte en el mode de no alterar." + + +msgid "no new attributes available for this entry" +msgstr "No hi han atributs nous disponibles per aquest objecte" + + +msgid "Binary value" +msgstr "Valor binari" + + +msgid "Add new binary attribute" +msgstr "Afegir valor binari" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Sinònim per a" + + +msgid "download value" +msgstr "Descarregar valor" + + +msgid "delete attribute" +msgstr "Esborrar atribut" + + +msgid "true" +msgstr "veritat" + + +msgid "false" +msgstr "fals" + + +msgid "none, remove value" +msgstr "cap, esborrar valor" + + +msgid "Really delete attribute" +msgstr "Esborrar realment l'atribut?" + + +msgid "Jump to an objectClass" +msgstr "Saltar a una ObjectClass" + + +msgid "Jump to an attribute type" +msgstr "Saltar a un atribut" + + +msgid "Schema for server" +msgstr "Esquema del servidor " + + +msgid "Required Attributes" +msgstr "Atributs Requerits (MUST)" + + +msgid "Optional Attributes" +msgstr "Atributs Opcionals (MAY)" + + +msgid "OID" +msgstr "OID" + + +msgid "Description" +msgstr "Descripció" + + +msgid "Name" +msgstr "Nom" + + +msgid "This objectClass is obsolete." +msgstr "Aquesta ObjectClass és obsoleta" + + +msgid "Inherits from" +msgstr "Hereda" + + +msgid "Jump to this objectClass definition" +msgstr "Saltar a aquesta ObjectClass" + + +msgid "Matching Rule OID" +msgstr "OID de Matching Rule" + + +msgid "Syntax OID" +msgstr "OID de Sintaxi" + + +msgid "not applicable" +msgstr "no es aplicable" + + +msgid "not specified" +msgstr "no especificada" + + +msgid "Entry %s deleted successfully." +msgstr "Entrada '%s' esborrada correctament." + + +msgid "You must specify a DN" +msgstr "Has d'especificar un DN" + + +msgid "Could not delete the entry: %s" +msgstr "No he pogut esborrar l'entrada: %s" + + +msgid "New Required Attributes" +msgstr "Nous atributs requerits" + + +msgid "This action requires you to add" +msgstr "Aquesta acció exigeix que s'afegeixin" + + +msgid "new attributes" +msgstr "nous atributs" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instruccions: Per afegir aquesta ObjectClass a aquest objecte, s'ha d'especificar" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "que aquest ObjectClass requereix. Es pot fer amb aquest formulari." + + +msgid "Add ObjectClass and Attributes" +msgstr "Afegir ObjectClass i Atributs" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Fer click per seleccionar un objecte gràficament" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "No es pot modificar l'objecte si el servidor està operant en mode inalterable." + + +msgid "Bad server id" +msgstr "L'identificador de servidor està malament" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "No tinc suficient informació per conectar al servidor. Si us plau configurar correctament l'arxiu config.php" + + +msgid "Could not connect to LDAP server." +msgstr "No s'ha pogut conectar al servidor LDAP" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "No s'ha pogut fer l'operació del ldap_mod_add." + + +msgid "Success" +msgstr "Exit" + + +msgid "Server: " +msgstr "Servidor: " + + +msgid "Looking in: " +msgstr "Buscant a: " + + +msgid "No DN specified in query string!" +msgstr "No està present el DN a la URL" + + +msgid "Back Up..." +msgstr "Tornar a..." + + +msgid "no entries" +msgstr "no hi han entrades" + + +msgid "Could not determine base DN" +msgstr "No he pogut determinar la base DN" + + +msgid "value to" +msgstr "valor a" + + +msgid "Distinguished Name" +msgstr "Nom distinguit" + + +msgid "Current list of" +msgstr "La llista actual de" + + +msgid "values for attribute" +msgstr "valors per a l'atribut" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Nota: Sino has configurat una regla 'EQUALITY' al servidor LDAP, rebràs un error 'inappropriate matching'" + + +msgid "Enter the value you would like to add:" +msgstr "Proveïr el valor per afegir: " + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Nota: Es posible que es requereixi afegir nous atributs per satisfer els requisits d'aquesta ObjectClass" + + +msgid "Syntax" +msgstr "Sintaxi" + + +msgid "You left the destination DN blank." +msgstr "No se emplenat el formulari de DN." + + +msgid "The destination entry (%s) already exists." +msgstr "L'entrada de destí (%s) encara existeix." + + +msgid "The destination container (%s) does not exist." +msgstr "El contenidor de destí (%s) no existeix." + + +msgid "The source and destination DN are the same." +msgstr "El DN de la font i el DN de destí son els mateixos." + + +msgid "Copying " +msgstr "Copiant " + + +msgid "Recursive copy progress" +msgstr "El progrés de la còpia recurrent" + + +msgid "Building snapshot of tree to copy... " +msgstr "Construïnt la 'foto' de l'arbre per a copiar... " + + +msgid "Copy successful! Would you like to " +msgstr "Exit! Desitges " + + +msgid "view the new entry" +msgstr "Veure el nou objecte?" + + +msgid "Failed to copy DN: " +msgstr "Fallida al copiar DN: " + + +msgid "Copy " +msgstr "Copiar " + + +msgid "to a new object" +msgstr "a un objecte nou" + + +msgid "Destination DN" +msgstr "DN de destí" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "El DN sencer de la nova entrada a ser creada quan es copii l'entrada font" + + +msgid "Destination Server" +msgstr "Servidor de destí" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Nota: Copiar entre dos servidor funciona solsament si no hi han violacions de l'esquema." + + +msgid "Recursively copy all children of this object as well." +msgstr "Esborrar tots els fills recurrentment també?" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "T'has deixar el valor en blanc de l'atribut requerit %s." + + +msgid "Could not add the object to the LDAP server." +msgstr "No he pogut afegir l'objecte al servidor LDAP." + + +msgid "Create Object" +msgstr "Crear Objecte" + + +msgid "Choose a template" +msgstr "Escull una plantilla" + + +msgid "Select a template for the creation process" +msgstr "Selecciona una plantilla per al procès de creació" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Encara no t'has autenticat al servidor selectionat, no pots fer cap recerca." + + +msgid "Click here to go to the login form" +msgstr "Clica aquí per anar al formulari d'autenticació" + + +msgid "Unrecognized criteria option: " +msgstr "Opció de criteri desconeguda: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Si vols afegir el teu propi criteri a la llista. Estigues segur d'editar search.php per manejar-lo. Sortint." + + +msgid "Entries found: " +msgstr "Entrades trobades: " + + +msgid "Filter performed: " +msgstr "Filtre realitzat: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Recerca realitzada per phpLDAPadmin a" + + +msgid "seconds" +msgstr "segons" + + +msgid "The scope in which to search" +msgstr "L'abast en el que buscar" + + +msgid "Sub (entire subtree)" +msgstr "Sub (tot el sub-arbre)" + + +msgid "One (one level beneath base)" +msgstr "Un (un nivell per d'avall de la base)" + + +msgid "Base (base dn only)" +msgstr "Base (sols base dn)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Filtre de recerca estàndar de LDAP. Exemple: (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "Filtre de recerca" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Una llista d'atributs per mostrar als resultats (separats per comes)" + + +msgid "starts with" +msgstr "comenci amb" + + +msgid "ends with" +msgstr "acabi amb" + + +msgid "sounds like" +msgstr "soni com" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "No s'ha pogut treure informació LDAP del servidor" + + +msgid "Server info for: " +msgstr "Informació del servidor per a: " + + +msgid "Server reports the following information about itself" +msgstr "El servidor mostra la següent informació sobre ell mateix" + + +msgid "This server has nothing to report." +msgstr "Aquest servidor no té res a mostrar." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "l'update_array està malformat. Aixó podria ser una errada del phpLDAPadmin. Si us plau reportala." + + +msgid "Could not perform ldap_modify operation." +msgstr "No he pogut executar l'operació ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Vols fer aquests canvis?" + + +msgid "Attribute" +msgstr "Atribut" + + +msgid "Old Value" +msgstr "Valor vell" + + +msgid "New Value" +msgstr "Valor nou" + + +msgid "[attribute deleted]" +msgstr "[atribut esborrat]" + + +msgid "Commit" +msgstr "Cometre" + + +msgid "Cancel" +msgstr "Cancel.lar" + + +msgid "You made no changes" +msgstr "No has fet cap canvi" + + +msgid "Go back" +msgstr "Tornar enrera" + + +msgid "Use the menu to the left to navigate" +msgstr "Fes anar el menú de l'esquerra per a navegar" + + +msgid "Credits" +msgstr "Crèdits" + + +msgid "ChangeLog" +msgstr "Històric de canvis" + + +msgid "Documentation" +msgstr "Documentació" + + +msgid "Unsafe file name: " +msgstr "Nom d'arxiu insegur: " + + +msgid "No such file: " +msgstr "Arxiu no existent: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Has activat els auto_uid_numbers per %s a la teva configuració," +" pero no has especificat l'auto_uid_number_mechanism. Si us plau soluciona" +" aquest problema." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Has especificat l'auto_uid_number_mechanism com uidpool" +" a la teva configuració per al servidor %s, pero no has especificat el" +" audo_uid_number_uid_pool_dn. Si us plau especifica'l avans de procedir." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Sembla ser que el uidPool que has especificat a la teva configuració (%s)" +" no existeix." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Has especificat l'auto_uid_number_mechanism com search a la teva" +" configuració per al servidor %s, pero no has especificat el" +" auto_uid_number_search_base. Si us plau especifica'l avans de procedir." + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Has especificat un valor no vàlid per a l'auto_uid_number_mechanism (%s)" +" a la teva configuració. Sols uidpool i search son vàlids." +" Si us plau soluciona aquest problema." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Error: Tens un error al teu arxiu de configuració. Els dos únics valors acceptats per" +" 'auth_type' a la secció $servers son 'config' i 'form'. Tu has ficat '%s'," +" el qual no està acceptat. " + + +msgid "Your PHP install does not support TLS." +msgstr "La teva instalació de PHP no soporta TLS" + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "No he pogut iniciar el TLS.
    Revisa la teva configuració del servidor LDAP." + + +msgid "LDAP said: %s" +msgstr "LDAP diguè: %s

    " + + +msgid "Error" +msgstr "Error" + + +msgid "browse" +msgstr "mostrar" + + +msgid "Delete Photo" +msgstr "Esborrar foto" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "La teva instalació de PHP no soporta el tipus d'encriptació blowfish." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "La teva instalació de PHP no té la funció mhash(). No puc fer hash SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto conté errors
    " + + +msgid "Error number: %s (%s)" +msgstr "Error número: %s (%s)

    " + + +msgid "Description: %s

    " +msgstr "Descripció: %s

    " + + +msgid "Error number: %s

    " +msgstr "Error número: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Descripció: (no hi ha descripció)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Es una errada del phpLDAPadmin? Si ho és, si us plau diguen's-ho." + + +msgid "Unrecognized error number: " +msgstr "Número d'error desconegut: " + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" Has trobat un error fatal del phpLDAPadmin!
    Error:%s (%s)
    Arxiu:%s línia %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Servidor Web:%s
    " +" Envía aquesta errada fent click aquí.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Felicitats! Has trobat una errada al phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Nivell:%s
    Arxiu:%s
    Línia:%s
    Caller:%s
    Versió PLA:%s
    Versió PHP:%s
    PHP SAPI:%s
    Servidor Web:%s
    " +"
    " +" Si us plau envía aquesta errada fent click abaix!" + + +msgid "Import LDIF File" +msgstr "Importar arxiu LDIF" + + +msgid "Select an LDIF file:" +msgstr "Selecciona un arxiu LDIF:" + + +msgid "Adding..." +msgstr "Afegint..." + + +msgid "Deleting..." +msgstr "Esborrant..." + + +msgid "Renaming..." +msgstr "Renombrant..." + + +msgid "Modifying..." +msgstr "Modificant..." + + +msgid "Failed" +msgstr "fallat" + + +msgid "LDIF Parse Error" +msgstr "Error de parsejat LDIF" + + +msgid "Could not add object:" +msgstr "No he pogut afegir l'objecte:" + + +msgid "Could not rename object:" +msgstr "No he pogut renombrar l'objecte:" + + +msgid "Could not delete object:" +msgstr "No he pogut esborrar l'objecte:" + + +msgid "Could not modify object:" +msgstr "No he pogut modificar l'objecte:" + + +msgid "Line Number:" +msgstr "Línia Número:" + + +msgid "Line:" +msgstr "Línia:" + + diff --git a/locale/cs_CZ/LC_MESSAGES/messages.mo b/locale/cs_CZ/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..97a4ff420ea9ca0e596f9ce0b7172bf057c7363d GIT binary patch literal 36372 zcmd6v33we>dH06|vXX=>B#@9~Y~n~xEIBq965%D@LY&yLupEatq|QipBwgKQZtmPG zM`~#yVF?5iS|}wAeBiPK)A|cgpk*-)NTLh0^kXS4ZP^MGN=w%zyFqaEr9p5Ccnx?t zxCwkRSO!lxF$nGkujTqBOWpf_3UWL6DtHF?4e%21N8obsiBAoJlfez(x!|+Gv%y=z zCxJEaRPZI>dEl!+m47R^1Uw904So_l6FlWIcYOh<_lCg7gL^@>a~ymu_(JeB@Fk$y z^_$?8;2S};ha|1-D@`~i3pcp(?6e+j7eUJ25rU>*1@@OE$jd_Ab|d=Aum zUjh5UZ-VOtA8Aw&ZE>PdU z6V$jo0E#{z1x3fNf};D+z>C1AToD8-!K*>Fe*#pw8IU5ut3f^)9P#(R4qnLhFTj)G zhYKN=>RU=9)Siu?+Icf5dfpFeydLz=KjiUKpy>Jy@GS5; z@bO?TcpA6{)c39h)$To@`a1!_s=<989{@wHAN1FM28y3Q1M)BUF8_&NE@d#z0sB2} z1VzW)pxVD5RC`_l>b+Nk`rb!Cwf`HS#_cDd_~+-K=yCPp<&Q*XzN@g3kq2?lw^UDuLI7 z`$5t9VNmUv1vTEE0C$6512=&KtAk(*_{3tjEp8d2ScmjAQ7=kYY)xURu!{8r- zXM>M_y6e{^;8w1m4&DgPfGPMfQ2afx#brjqiVr>y ziZA{d6g|HSirzm4MW^$h;l^nhsD2K6d>;5ju47R3{3HP%0`Oi??R+yRx*rD50^bRS;KQK4|7DLq2UYJy zS35ea2E|W%K(*&CQ2l!icro~9P;~tWh{_GlxWvUm z{(c7(eSQwAohPHT)Sk0J(Y+tM5ZnZ++-;!Bjrr>axQy#*P~U$esQ3N^)OdXw)c3v$ zUI2arRQrRq?)ofHeA@#ubiqbY&-a7U4=(}L?pK21<9CA>f%BmF`^%u{{tfVS@Q42T zG3y+i&ji(;OF)%d4XQsIKv+813yQ7>K-Kp~P;_}4sPgXtp9FpcR69QJ@BbWxw881? zU42_YRAO*Dcpi8!sQTUns{RK-_3!dq6%J zya$wAeh(DgpLwnO?rosHdk-l3y#W;c{s3GKz6X@v`~s-&f79dlz#Uxw6qMX=+vx1l zD?s(XLCQ=t0$L-4WSi71aT@DxyTmw=amF9yX2ZvjQGhe6f*Y4CC2cfiZQAAx#) z5g*t4{h-EU3n)I`1L`}sgBp(*)VNQ9lGD4v5PY@A_kb(7{wyduobYVN-@8G*_gwHM zFb3Cx9|TkIC!qMQ3elurUJ7blJ_mjge9Sg%1Ndc7^tk2*Z%0AV<$h58`w+MW{5w#5 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 literal 0 HcmV?d00001 diff --git a/locale/cs_CZ/LC_MESSAGES/messages.po b/locale/cs_CZ/LC_MESSAGES/messages.po new file mode 100644 index 0000000..18d80cb --- /dev/null +++ b/locale/cs_CZ/LC_MESSAGES/messages.po @@ -0,0 +1,1554 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Radek Senfeld \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Rychlé vyhledávání" + + +msgid "Advanced Search Form" +msgstr "Rozšířené vyhledávání" + + +msgid "Server" +msgstr "Server" + + +msgid "Search for entries whose" +msgstr "Vyhledat objekty kde" + + +msgid "Base DN" +msgstr "Výchozí DN" + + +msgid "Search Scope" +msgstr "Oblast prohledávání" + + +msgid "Show Attributtes" +msgstr "Zobrazit atributy" + + +msgid "Search" +msgstr "Vyhledat" + + +msgid "Select a predefined search" +msgstr "Zvolte předdefinované vyhledávání" + + +msgid "Predefined Searches" +msgstr "Předdefinovaná vyhledávání" + + +msgid "No queries have been defined in config.php." +msgstr "V config.php nejsou definovány žádné dotazy." + + +msgid "Request feature" +msgstr "Napište si o novou funkci" + + +msgid "Report a bug" +msgstr "Nahlásit chybu" + + +msgid "schema" +msgstr "schéma" + + +msgid "search" +msgstr "vyhledat" + + +msgid "create" +msgstr "vytvořit" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "import" + + +msgid "refresh" +msgstr "obnovit" + + +msgid "logout" +msgstr "odhlásit se" + + +msgid "Create new entry here" +msgstr "Vytvořit nový" + + +msgid "View schema for" +msgstr "Zobrazit schéma pro" + + +msgid "Refresh all expanded containers for" +msgstr "Obnovit všechny otevřené složky" + + +msgid "Create a new entry on" +msgstr "Vytvořit nový objekt v" + + +msgid "new" +msgstr "nový" + + +msgid "View server-supplied information" +msgstr "Zobrazit serverem poskytované informace" + + +msgid "Import entries from an LDIF file" +msgstr "Importovat data ze souboru LDIF" + + +msgid "Logout of this server" +msgstr "Odhlásit se od tohoto serveru" + + +msgid "Logged in as: " +msgstr "Přihlášen jako: " + + +msgid "read only" +msgstr "jen pro čtení" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Tento atribut byl administrátorem phpLDAPadminu označen jako \"jen pro čtení\"." + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Nepodařilo se zjistit kořen Vašeho LDAP stromu." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Zdá se, že LDAP server je nastavený tak, že nezobrazuje svůj kořen." + + +msgid "Please specify it in config.php" +msgstr "Nastavte ho prosím v souboru config.php" + + +msgid "Login..." +msgstr "Přihlásit se..." + + +msgid "login" +msgstr "přihlásit" + + +msgid "Delete this entry" +msgstr "Smazat tento objekt" + + +msgid "You will be prompted to confirm this decision" +msgstr "Budete požádáni o potvrzení tohoto rozhodnutí" + + +msgid "Copy or move this entry" +msgstr "Kopírovat tento objekt" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Okopíruje tento objekt do jiného umístění, nového DN, nebo na jiný server" + + +msgid "Export" +msgstr "Export" + + +msgid "Save a dump of this object" +msgstr "Uložit přepis objektu" + + +msgid "Save a dump of this object and all of its children" +msgstr "Uloží přepis tohoto objektu a všech jeho potomků" + + +msgid "Export subtree" +msgstr "Exportovat podstrom" + + +msgid "Create a child entry" +msgstr "Vytvořit nového potomka" + + +msgid "Rename Entry" +msgstr "Přejmenovat objekt" + + +msgid "Rename" +msgstr "Přejmenovat" + + +msgid "Add" +msgstr "Přidat" + + +msgid "View" +msgstr "Zobrazit" + + +msgid "View 1 child" +msgstr "Zobrazit potomka" + + +msgid "View %s children" +msgstr "Zobrazit potomky (%s)" + + +msgid "Add new attribute" +msgstr "Přidat nový atribut" + + +msgid "Add new ObjectClass" +msgstr "Přidat objectClass" + + +msgid "Hide internal attributes" +msgstr "Schovat interní atributy" + + +msgid "Show internal attributes" +msgstr "Zobrazit interní atributy" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Klepnutím zobrazíte definiční schéma pro atribut typu '%s'" + + +msgid "none" +msgstr "žádný" + + +msgid "No internal attributes" +msgstr "Žádné interní atributy" + + +msgid "This entry has no attributes" +msgstr "Tento objekt nemá atributy" + + +msgid "Save Changes" +msgstr "Uložit změny" + + +msgid "add value" +msgstr "přidat hodnotu" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Přidá další hodnotu k atributu '%s'" + + +msgid "Refresh" +msgstr "Obnovit" + + +msgid "Refresh this entry" +msgstr "Obnovit tento objekt" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Rada: Pro smazání atributu vyprázděte textové políčko a klepněte na Uložit." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Rada: K zobrazení schémata pro atribut klepněte na název atributu." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Některé atributy (%s) byly modifikováný a jsou zvýrazněny dole." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Atribut (%s) byl změněn a je zvýrazněn dole." + + +msgid "Viewing entry in read-only mode." +msgstr "Prohlížení objekt v módu \"pouze pro čtení\"." + + +msgid "no new attributes available for this entry" +msgstr "nejsou dostupné žádné nové atributy pro tento objekt" + + +msgid "no new binary attributes available for this entry" +msgstr "nejsou dostupné žádné nové binární atributy pro tento objekt" + + +msgid "Binary value" +msgstr "Binarní hodnota" + + +msgid "Add new binary attribute" +msgstr "Přidat nový binarní atribut" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Alias k %s" + + +msgid "download value" +msgstr "stáhnout data" + + +msgid "delete attribute" +msgstr "smazat atribut" + + +msgid "true" +msgstr "true" + + +msgid "false" +msgstr "false" + + +msgid "none, remove value" +msgstr "žádný, odebrat hodnotu" + + +msgid "Really delete attribute" +msgstr "Skutečně smazat atribut" + + +msgid "Add New Value" +msgstr "Přidat novou hodnotu" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "Server plně nepodporuje LDAP protocol." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Vaše verze PHP korektně neprovede tento dotaz." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "Nebo možná phpLDAPadmin neví jak získat schéma pro Váš server." + + +msgid "Jump to an objectClass" +msgstr "Jdi na objectClass" + + +msgid "Jump to an attribute type" +msgstr "Jdi na typ atributu" + + +msgid "Jump to a matching rule" +msgstr "Jdi na Matching Rule" + + +msgid "Schema for server" +msgstr "Schéma serveru" + + +msgid "Required Attributes" +msgstr "Vyžadované atributy" + + +msgid "Optional Attributes" +msgstr "Volitelné atributy" + + +msgid "Optional Binary Attributes" +msgstr "Volitelné binární atributy" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Aliasy" + + +msgid "Description" +msgstr "Popis" + + +msgid "no description" +msgstr "žádný popis" + + +msgid "Name" +msgstr "Název" + + +msgid "Equality" +msgstr "Equality" + + +msgid "This objectClass is obsolete." +msgstr "Tato objectClass je zastaralá" + + +msgid "Inherits from" +msgstr "Odvozeno od objectClass" + + +msgid "Parent to" +msgstr "Rodičovská objectClass" + + +msgid "Jump to this objectClass definition" +msgstr "Jdi na definici této objectClass" + + +msgid "Matching Rule OID" +msgstr "Výběrové kritérium OID" + + +msgid "Syntax OID" +msgstr "Syntaxe OID" + + +msgid "not applicable" +msgstr "nepoužitelný" + + +msgid "not specified" +msgstr "nespecifikovaný" + + +msgid "character" +msgstr "znak" + + +msgid "characters" +msgstr "znaků" + + +msgid "Used by objectClasses" +msgstr "Používáno těmito objectClass" + + +msgid "Used by Attributes" +msgstr "Používají atributy" + + +msgid "Maximum Length" +msgstr "Maximální délka" + + +msgid "Syntaxes" +msgstr "Syntaxe" + + +msgid "Matching Rules" +msgstr "Matching Rules" + + +msgid "Obsolete" +msgstr "Zastaralé" + + +msgid "Ordering" +msgstr "Řazení" + + +msgid "Substring Rule" +msgstr "Substring Rule" + + +msgid "Single Valued" +msgstr "Single Valued" + + +msgid "Collective" +msgstr "Collective" + + +msgid "User Modification" +msgstr "User Modification" + + +msgid "Usage" +msgstr "Použití" + + +msgid "Could not retrieve schema from" +msgstr "Nelze získat schéma z" + + +msgid "Type" +msgstr "Typ" + + +msgid "Entry %s deleted successfully." +msgstr "Objekt '%s' byl úspěšně odstraněn." + + +msgid "You must specify a DN" +msgstr "Musíte zadat DN" + + +msgid "Could not delete the entry: %s" +msgstr "Nebylo možné odstranit objekt: %s" + + +msgid "No such entry: %s" +msgstr "Objekt neexistuje: %s" + + +msgid "Delete %s" +msgstr "Smazat %s" + + +msgid "Permanently delete all children also?" +msgstr "Odstranit také všechny potomky?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Tento objekt je kořenem podstromu, který obsahuje %s objektů." + + +msgid "view entries" +msgstr "zobrazit objekty" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin rekurzivně odstraní tento objekt a všech jeho %s potomků. Pozorně si prohlédněte seznam objektů, které tato operace odstraní. Přejete si pokračovat?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Poznámka: tato operace může mít fatální následky a nelze ji vrátit zpět. Speciální pozornost věnujte aliasům, odkazům a ostatním věcem, které můžou způsobit problémy." + + +msgid "Delete all %s objects" +msgstr "Smazat všech %s objektů" + + +msgid "Recursive delete progress" +msgstr "Průběh rekurzivního odstranění" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Objekt %s a jeho podstrom byly úspěšně odstraněny." + + +msgid "Failed to delete entry %s" +msgstr "Nepodařilo se odstranit objekt %s" + + +msgid "List of entries to be deleted:" +msgstr "Seznam objektů k odstranění:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Jste si skutečně jisti, že chcete odstranit tento objekt?" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "Atribut \"%s\" je v konfiguraci phpLDAPadminu označen jako \"jen pro čtení\"." + + +msgid "No attribute name specified." +msgstr "Nebylo zadáno jméno atributu." + + +msgid "No DN specified" +msgstr "Nebylo zadáno DN" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Nevyplnili jste hodnotu atributu. Vraťte se zpět a akci opakujte." + + +msgid "Failed to add the attribute." +msgstr "Přidání atributu selhalo." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "Soubor, který jste zvolili je buď prázdný nebo neexistuje. Vraťte se prosím zpět a akci opakujte." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Bezpečnostní chyba: Soubor, který uploadujete může být závadný." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "V konfiguraci PHP jsou zakázány uploady souborů. Pro pokračování upravte prosím php.ini." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "Soubor, který se pokoušeli uložit je příliš veliký. Upravte prosím hodnotu upload_max_size v php.ini." + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "Při uploadu souboru došlo zřejmě k selhání sítě, neboť se podařilo získat jen část souboru." + + +msgid "Maximum file size: %s" +msgstr "Maximální velikost souboru: %s" + + +msgid "Modification successful!" +msgstr "Úprava proběhla úspěšně!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Kvůli změně svého hesla se nyní musíte přihlásit znova - s novým heslem." + + +msgid "New Required Attributes" +msgstr "Nový vyžadovaný atribut" + + +msgid "This action requires you to add" +msgstr "K provedení této akce musíte přidat" + + +msgid "new attributes" +msgstr "nové atributy" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Návod: K přiřazení této objectClass k vybranému objektu musíte zadat" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "atributy, které jsou touto objectClass vyžadovány. Můžete tak učinit v tomto formuláři." + + +msgid "Add ObjectClass and Attributes" +msgstr "Přidat objectClass a atributy" + + +msgid "ObjectClasses" +msgstr "objectClassy" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Otevře popup okno, ve kterém zvolíte DN" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Nelze provádět úpravy dokud je server v módu \"pouze pro čtení\"" + + +msgid "Bad server id" +msgstr "Špatné ID serveru" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Nedostatek informací pro přihlášení k serveru. Ověřte prosím nastavení." + + +msgid "Could not connect to LDAP server." +msgstr "Nelze se připojit k LDAP serveru." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Nelze se připojit k \"%s\" na portu \"%s\"" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Nelze provést ldap_mod_add operaci." + + +msgid "Success" +msgstr "Hotovo" + + +msgid "Server: " +msgstr "Server: " + + +msgid "Looking in: " +msgstr "Prohlížení: " + + +msgid "No DN specified in query string!" +msgstr "V požadavku nebyl uveden žádný DN!" + + +msgid "Back Up..." +msgstr "O úroveň výš..." + + +msgid "no entries" +msgstr "žádné objekty" + + +msgid "Could not determine base DN" +msgstr "Nelze zjistit výchozí DN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Toto se může přihodit z několika příčin. Nejpravděpodobnější jsou:" + + +msgid "Yes" +msgstr "Ano" + + +msgid "No" +msgstr "Ne" + + +msgid "Go" +msgstr "Jdi" + + +msgid "Delete" +msgstr "Odstranit" + + +msgid "Back" +msgstr "Zpět" + + +msgid "object" +msgstr "objekt" + + +msgid "Delete all" +msgstr "Odstranit vše" + + +msgid "hint" +msgstr "rada" + + +msgid "bug" +msgstr "chyba" + + +msgid "warning" +msgstr "upozornění" + + +msgid "light" +msgstr "light" + + +msgid "Proceed >>" +msgstr "Proveď >>" + + +msgid "Add new" +msgstr "Přidat nový" + + +msgid "value to" +msgstr "hodnota pro" + + +msgid "Distinguished Name" +msgstr "Distinguished Name" + + +msgid "Current list of" +msgstr "Současný výpis" + + +msgid "values for attribute" +msgstr "hodnoty pro atribut" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Poznámka: Pokud nenastavíte na tomto LDAP serveru pravidlo
    EQUALITY pro tento atribut, dojde k chybě při výběru objektů." + + +msgid "Enter the value you would like to add:" +msgstr "Zadejte hodnotu, kterou chcete přidat:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Poznámka: Není vyloučené, že budete vyzváni k zadání nových atributů vyžadovaných touto objectClass" + + +msgid "You left the destination DN blank." +msgstr "Ponechali jste kolonku cílové DN prázdnou." + + +msgid "The destination entry (%s) already exists." +msgstr "Objekt (%s) již v cílovém DN existuje." + + +msgid "The destination container (%s) does not exist." +msgstr "Cílová složka (%s) neexistuje." + + +msgid "The source and destination DN are the same." +msgstr "Zdrojové a cílové DN se shodují." + + +msgid "Copying " +msgstr "Kopíruji " + + +msgid "Recursive copy progress" +msgstr "Průběh rekurzivního kopírování" + + +msgid "Building snapshot of tree to copy... " +msgstr "Sestavuji obraz stromu ke kopírování... " + + +msgid "Copy successful! Would you like to " +msgstr "Kopie úspěšně dokončena! Přejete si " + + +msgid "view the new entry" +msgstr "zobrazit nový objekt" + + +msgid "Failed to copy DN: " +msgstr "Nepodařilo se okopírovat DN: " + + +msgid "Template" +msgstr "Šablona" + + +msgid "using template" +msgstr "použítím šablony" + + +msgid "Go to %s" +msgstr "Jdi na %s" + + +msgid "Copy " +msgstr "Kopírovat " + + +msgid "to a new object" +msgstr "jako nový objekt" + + +msgid "Destination DN" +msgstr "Cílové DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Celé DN nového objektu bude vytvořeno kopií zdrojového objektu" + + +msgid "Destination Server" +msgstr "Cílový server" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Rada: Kopírování mezi servery funguje jedině za předpokladu, že nedojde k neshodě schémat" + + +msgid "Recursively copy all children of this object as well." +msgstr "Při kopírování zahrnout všechny potomky tohoto objektu." + + +msgid "Recursive copy" +msgstr "Rekurzivní kopie" + + +msgid "Filter" +msgstr "Filtr" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Při rekurzivní kopii pracovat pouze s objekty, které splňují zvolený filtr" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Nevyplnili jste pole pro vyžadovaný atribut %s." + + +msgid "Redirecting..." +msgstr "Přesměrovávám" + + +msgid "here" +msgstr "zde" + + +msgid "Could not add the object to the LDAP server." +msgstr "Nelze objekt do LDAP serveru přidat." + + +msgid "Create Object" +msgstr "Vytvořit objekt" + + +msgid "Choose a template" +msgstr "Vyberte šablonu" + + +msgid "Select a template for the creation process" +msgstr "Zvolte šablonu pro vytvoření objektu" + + +msgid "You left the RDN field blank." +msgstr "Ponechali jste pole RDN nevyplněné." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "Složka (%s) neexistuje. Opakujte prosím akci." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Nepřiřadili jste žádné objectClass k tomuto objektu. Vraťte se prosím zpět a akci opakujte." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Nápověda: Musíte zvolit alespoň jednu structural objectClass." + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Krok 1 ze 2: Jméno a objectClass(y)" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Krok 2 ze 2: Atributy a hodnoty" + + +msgid "Relative Distinguished Name" +msgstr "Relativní Distinguished Name" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(příklad: cn=MujNovyUzivatel)" + + +msgid "Container" +msgstr "Složka" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Nelze provádět vyhledávání na serveru bez předchozího přihlášení." + + +msgid "Click here to go to the login form" +msgstr "Klepnutím budete přesměrováni na formulář k přihlášení" + + +msgid "Unrecognized criteria option: " +msgstr "Neznámá vyhledávací kritéria: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Pokud si přejete přidat svoje vlastní vyhledávací kritéria, ujistěte se, že jste je přidali do search.php." + + +msgid "Entries found: " +msgstr "Nalezené objekty: " + + +msgid "Filter performed: " +msgstr "Uplatněný filtr: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Vyhledávání dokončeno za" + + +msgid "seconds" +msgstr "sekund" + + +msgid "The scope in which to search" +msgstr "Oblast vyhledávání" + + +msgid "Sub (entire subtree)" +msgstr "Celý podstrom" + + +msgid "One (one level beneath base)" +msgstr "O jednu úroveň níž" + + +msgid "Base (base dn only)" +msgstr "Pouze výchozí DN" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Standardní LDAP vyhledávací filtr. Přiklad: (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "Vyhledávací filtr" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Seznam atributů zobrazených ve výsledku hledání (oddělené čárkou)" + + +msgid "equals" +msgstr "je" + + +msgid "starts with" +msgstr "začíná na" + + +msgid "contains" +msgstr "obsahuje" + + +msgid "ends with" +msgstr "končí na" + + +msgid "sounds like" +msgstr "zní jako" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Nelze získat informace ze serveru LDAP" + + +msgid "Server info for: " +msgstr "Server info pro: " + + +msgid "Server reports the following information about itself" +msgstr "Server o sobě poskytuje následující informace" + + +msgid "This server has nothing to report." +msgstr "Server neposkytuje žádné informace." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "update_array je poškozené. Může se jednat o chybu v phpLDAPadmin. Prosíme Vás, abyste chybu nahlásili." + + +msgid "Could not perform ldap_modify operation." +msgstr "Nelze provést operaci ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Přejete si provést tyto změny?" + + +msgid "Attribute" +msgstr "Atribut" + + +msgid "Old Value" +msgstr "Původní hodnota" + + +msgid "New Value" +msgstr "Nová hodnota" + + +msgid "[attribute deleted]" +msgstr "[atribut odstraněn]" + + +msgid "Commit" +msgstr "Odeslat" + + +msgid "Cancel" +msgstr "Storno" + + +msgid "You made no changes" +msgstr "Neprovedli jste žádné změny" + + +msgid "Use the menu to the left to navigate" +msgstr "K navigaci použijte prosím menu v levé části obrazovky" + + +msgid "Credits" +msgstr "Autoři" + + +msgid "ChangeLog" +msgstr "ChangeLog" + + +msgid "Donate" +msgstr "Podpořit projekt" + + +msgid "Unsafe file name: " +msgstr "Nebezpečný název souboru: " + + +msgid "No such file: " +msgstr "Soubor nelze nalézt: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "V konfiguraci jste zapnuli podporu auto_uid_numbers pro %s, ale nespecifikovali jste auto_uid_number_mechanism. Napravte prosím nejprve tento problém." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako uidpool, ale neuvedli jste audo_uid_number_uid_pool_dn. Napravte prosím nejprve tento problém." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Zdá se, že uidPool uvedený v konfiguraci (%s) neexistuje." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "V konfiguraci serveru %s jste specifikovali auto_uid_number_mechanism jako search, ale neuvedli jste auto_uid_number_search_base. Napravte prosím nejprve tento problém." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Se zadanými přístupovými oprávněními se nelze připojit k %s a získat auto_uid. Zkontrolujte prosím konfiguraci." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "V konfiguraci phpLDAPadminu je uveden neplatný parametr auto_uid_search_base pro server %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "V konfiguraci je uvedena neplatná hodnota auto_uid_number_mechanism (%s). Platné hodnoty jsou pouze uidpool a search. Napravte prosím nejprve tento problém." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Chyba: Ve svém konfiguračním souboru jste u položky $servers['auth_type'] uvedli chybnou hodnotu '%s'. Platné hodnoty jsou pouze 'config' a 'form'." + + +msgid "Your PHP install does not support TLS." +msgstr "Tato instalace PHP neobsahuje podporu pro TLS" + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Nelze inicializovat TLS.
    Zkontolujte prosím konfiguraci svého LDAP serveru." + + +msgid "Could not bind anonymously to server." +msgstr "K serveru se nelze připojit anonymně." + + +msgid "Could not bind to the LDAP server." +msgstr "Nelze se připojit k serveru LDAP." + + +msgid "Anonymous Bind" +msgstr "Připojit anonymně" + + +msgid "Bad username or password. Please try again." +msgstr "Nesprávné jméno nebo heslo. Opakujte přihlášení." + + +msgid "Successfully logged into server %s" +msgstr "Úspěšně jste se přihlásili k serveru %s" + + +msgid "Could not set cookie." +msgstr "Cookie nemohla být uložena." + + +msgid "LDAP said: %s" +msgstr "Odpověď LDAP serveru: %s

    " + + +msgid "Error" +msgstr "Chyba" + + +msgid "browse" +msgstr "procházet" + + +msgid "Delete Photo" +msgstr "Odstranit fotografii" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Tato instalace PHP neobsahuje podporu pro šifru Blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Tato instalace PHP neobsahuje podporu pro šifru md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Tato instalace PHP nepodporuje funkci mhash(). Nelze aplikovat SHA hash." + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto obsahuje chyby
    " + + +msgid "Error number: %s (%s)" +msgstr "Číslo chyby: %s (%s)

    " + + +msgid "Description: %s

    " +msgstr "Popis: %s

    " + + +msgid "Error number: %s

    " +msgstr "Číslo chyby: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Popis: (popis není k dispozici)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Pokud je toto chyba v phpLDAPadmin, napište nám o tom." + + +msgid "Unrecognized error number: " +msgstr "Neznámé číslo chyby: " + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" Narazili jste na nezávažnou, droubnou až zanedbatelnou chybu v phpLDAPadmin!
    Chyba:%s (%s)
    Soubor:%s řádka %s, voláno z %s
    Verze:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    " +" Klepnutím prosím ohlášte chybu.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Blahopřejeme! Nalezli jste chybu v phpLDAPadmin. :-)

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Chyba:%s
    Vážnost:%s
    Soubor:%s
    Řádka:%s
    Voláno z:%s
    Verze PLA:%s
    Verze PHP:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Klepnutím dole prosím ohlašte chybu!" + + +msgid "Import LDIF File" +msgstr "Importovat soubor LDIF" + + +msgid "Select an LDIF file:" +msgstr "Zvolte soubor LDIF:" + + +msgid "Don't stop on errors" +msgstr "Ignorovat chyby" + + +msgid "Adding..." +msgstr "Přidávání..." + + +msgid "Deleting..." +msgstr "Odstraňování..." + + +msgid "Renaming..." +msgstr "Přejmenovávání..." + + +msgid "Modifying..." +msgstr "Upravování..." + + +msgid "No version found. Assuming 1." +msgstr "Nebyla nalezena verze. Předpokládám 1." + + +msgid "A valid dn line is required." +msgstr "Je vyžadován platný řádek s DN." + + +msgid "Missing uploaded file." +msgstr "Soubor LDIF nebyl nalezen." + + +msgid "Uploaded LDIF file is empty." +msgstr "Soubor LDIF je prázdný." + + +msgid "empty" +msgstr "prázdný" + + +msgid "File" +msgstr "Soubor" + + +msgid "%s bytes" +msgstr "%s bajtů" + + +msgid "Failed" +msgstr "selhal" + + +msgid "LDIF Parse Error" +msgstr "Chyba v souboru LDIF" + + +msgid "Could not add object:" +msgstr "Nelze přidat objekt:" + + +msgid "Could not rename object:" +msgstr "Nelze přejmenovat objekt:" + + +msgid "Could not delete object:" +msgstr "Nelze odstranit objekt:" + + +msgid "Could not modify object:" +msgstr "Nelze upravit objekt:" + + +msgid "Line Number:" +msgstr "Číslo řádku:" + + +msgid "Line:" +msgstr "Řádek:" + + +msgid "Export format" +msgstr "Formát exportu" + + +msgid "Line ends" +msgstr "Konce řádků" + + +msgid "You must choose an export format." +msgstr "Musíte zvolit exportní formát." + + +msgid "Invalid export format" +msgstr "Neplatný exportní formát" + + +msgid "No available exporter found." +msgstr "Nebyla nalezena žádná aplikace pro export." + + +msgid "Encountered an error while performing search." +msgstr "Během vyhledávání došlo k chybě." + + +msgid "Showing results %s through %s." +msgstr "Výsledky od %s do %s." + + +msgid "Searching..." +msgstr "Vyhledávám..." + + +msgid "Notice, search size limit exceeded." +msgstr "Byl překročen limitní parametr pro vyhledávání." + + +msgid "Entry" +msgstr "Objekt" + + +msgid "LDIF Export for: %s" +msgstr "LDIF Export objektu: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Generováno phpLDAPadminem dne %s" + + +msgid "Total Entries" +msgstr "Celkem objektů" + + +msgid "DSLM Export for: %s" +msgstr "DSLM Export objektu: %s" + + +msgid "You left the password blank." +msgstr "Nezadali jste uživatelské heslo." + + +msgid "No one is logged in to that server." +msgstr "Nikdo není přihlášen k tomuto serveru." + + +msgid "Could not logout." +msgstr "Nelze se odhlásit." + + +msgid "Unknown auth_type: %s" +msgstr "Neznámý auth_type: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Odhlášení od serveru %s proběhlo úspěšně." + + +msgid "Authenticate to server %s" +msgstr "Ověření vůči serveru %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Upozornění: Toto spojení není šifrováné." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Nepřipojujete se pomocí 'https'. Prohlížeč odešle Vaše přihlášení v nešifrované podobě." + + +msgid "Login DN" +msgstr "Přihlašovací DN" + + +msgid "User name" +msgstr "Uživatel" + + +msgid "Password" +msgstr "Heslo" + + +msgid "Authenticate" +msgstr "Přihlásit" + + +msgid "Entry Chooser" +msgstr "Zvolit objekt" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Nejprve je třeba phpLDAPadmin nakonfigurovat. Toho docílíte upravou souboru 'config.php'. Ukázková konfigurace je k nalezení v souboru 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "Mazání je v režimu \"jen pro čtení\" zakázáno." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Chyba při volání mass_delete.php. V POSTu chybí proměnná mass_delete." + + +msgid "mass_delete POST var is not an array." +msgstr "mass_delete v POSTu není pole." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "Hromadý výmaz není umožněn. Můžete ho povolit v souboru config.php." + + +msgid "Mass Deleting" +msgstr "Hromadný výmaz" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Průběh odstraňování na serveru \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Zdeformované pole mass_delete." + + +msgid "You did not select any entries to delete." +msgstr "Nevybrali jste žádné objekty k odstranění." + + +msgid "Deleting %s" +msgstr "Odstraňuji %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s z %s objektů se nepodařilo odstranit." + + +msgid "All entries deleted successfully." +msgstr "Všechny objekty byly úspěšně odstraněny." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Potvďte hromadný výmaz v počtu %s objektů na serveru %s" + + +msgid "Yes, delete!" +msgstr "Ano, odstranit!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Nelze přejmenovat objekt, který má potomky. Toto se například vztahuje na všechny objekty, které nejsou typu \"list\"." + + +msgid "You did not change the RDN" +msgstr "Nezměnili jste RDN" + + +msgid "Invalid RDN value" +msgstr "Neplatná hodnota RDN" + + +msgid "Could not rename the entry" +msgstr "Objekt nelze přejmenovat" + + diff --git a/locale/de_DE/LC_MESSAGES/messages.mo b/locale/de_DE/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..a1ceaf0cd4e4a5be23513ac52182bb63de1c9211 GIT binary patch literal 39147 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\n" +"Last-Translator: Marius Rieder \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Einfache Suche" + + +msgid "Advanced Search Form" +msgstr "Experten Suche" + + +msgid "Server" +msgstr "Server" + + +msgid "Search for entries whose" +msgstr "Suche nach Einträgen die" + + +msgid "Base DN" +msgstr "Base DN" + + +msgid "Search Scope" +msgstr "Suchbereich" + + +msgid "Show Attributtes" +msgstr "Zeige Attribute" + + +msgid "Search" +msgstr "Suchen" + + +msgid "equals" +msgstr "gleich" + + +msgid "contains" +msgstr "enthält" + + +msgid "Select a predefined search" +msgstr "oder ein von dieser Liste auswählen" + + +msgid "Predefined Searches" +msgstr "Vordefinierte Suche" + + +msgid "No queries have been defined in config.php." +msgstr "Keine Abfragen sind in der config.php definiert" + + +msgid "export results" +msgstr "Ergebnisse exportieren" + + +msgid "Unrecognized search result format: %s" +msgstr "Das Suchergebnisformat ist nicht erkennbar: %s" + + +msgid "Format" +msgstr "Format" + + +msgid "list" +msgstr "Liste" + + +msgid "table" +msgstr "Tabelle" + + +msgid "Your config.php specifies an invalid value for $default_search_display: %s. Please fix it" +msgstr "Die config.php gibt einen falsche Wert für $default_search_display: %s vor. Bitte in der Konfiguration korrigieren." + + +msgid "Request feature" +msgstr "Anfragen von neuen Möglichkeiten" + + +msgid "Report a bug" +msgstr "Einen Fehler berichten" + + +msgid "schema" +msgstr "Schema" + + +msgid "search" +msgstr "suche" + + +msgid "refresh" +msgstr "aktualisieren" + + +msgid "create" +msgstr "Erstellen" + + +msgid "info" +msgstr "Info" + + +msgid "import" +msgstr "Import" + + +msgid "logout" +msgstr "abmelden" + + +msgid "Create new entry here" +msgstr "Neuen Eintrag erzeugen" + + +msgid "new" +msgstr "Neu" + + +msgid "View schema for" +msgstr "Zeige Schema für" + + +msgid "Refresh all expanded containers for" +msgstr "Aktualisiere alle geöffneten Container von" + + +msgid "Create a new entry on" +msgstr "Erzeuge einen neuen Eintrag auf" + + +msgid "View server-supplied information" +msgstr "Zeige Server Informationen" + + +msgid "Import entries from an LDIF file" +msgstr "Importiere Einträge von einer LDIF-Datei" + + +msgid "Logout of this server" +msgstr "Von diesem Server abmelden" + + +msgid "Logged in as: " +msgstr "Angemeldet als: " + + +msgid "read only" +msgstr "nur lesen" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Diese Attribut wurde vom phpLDAPadmin-Adminstrator als nur lesend markiert." + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Konnte die Basis ihres LDAP Verzeichnises nicht ermitteln" + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Es scheint das ihr LDAP Server nicht dazu konfiguriert wurde seine Basis bekanntzugeben" + + +msgid "Please specify it in config.php" +msgstr "Bitte in config.php angeben" + + +msgid "Create a new entry in" +msgstr "Neuen Eintrag erzeugen auf" + + +msgid "Login..." +msgstr "Anmelden..." + + +msgid "login" +msgstr "Anmelden" + + +msgid "Delete this entry" +msgstr "Diesen Eintrag löschen" + + +msgid "You will be prompted to confirm this decision" +msgstr "Für diese Entscheidung wird nochmals nachgefragt." + + +msgid "Copy or move this entry" +msgstr "Diesen Eintrag kopieren" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Kopiere diese Object an eine anderen Ort: ein neuer DN oder einen anderen Server." + + +msgid "Export" +msgstr "Exportieren" + + +msgid "export" +msgstr "exportieren" + + +msgid "Save a dump of this object" +msgstr "Speichere einen Abzug diese Objektes" + + +msgid "Save a dump of this object and all of its children" +msgstr "Speicher eine Abzug ab diesem Objekt und alle seine Untereinträge" + + +msgid "Export subtree" +msgstr "Export Unterbaum nach LDIF" + + +msgid "Create a child entry" +msgstr "Erzeuge einen Untereintrag" + + +msgid "Rename Entry" +msgstr "Eintrag umbenennen" + + +msgid "Rename" +msgstr "Umbenennen" + + +msgid "Add" +msgstr "Hinzufügen" + + +msgid "View" +msgstr "Ansehen" + + +msgid "View 1 child" +msgstr "Zeige einen Untereintrag" + + +msgid "View %s children" +msgstr "Zeige %s Untereinträge" + + +msgid "Add new attribute" +msgstr "Neues Attribut hinzufügen" + + +msgid "Add new ObjectClass" +msgstr "Neue ObjectClass hinzufügen" + + +msgid "Hide internal attributes" +msgstr "Verdecke interne Attribute" + + +msgid "Show internal attributes" +msgstr "Zeige interne Attribute" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Klicken sie um die Schemadefinition für den Attributtyp \"%s\" anzuzeigen." + + +msgid "none" +msgstr "Keine" + + +msgid "No internal attributes" +msgstr "Keine internen Attribute." + + +msgid "This entry has no attributes" +msgstr "Dieser Eintrag hat keine Attribute." + + +msgid "Save Changes" +msgstr "Änderungen speichern" + + +msgid "add value" +msgstr "Wert hinzufügen" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Füge einen weiteren Wert dem Attribut hinzu" + + +msgid "Refresh" +msgstr "Auffrischen" + + +msgid "Refresh this entry" +msgstr "Aktualisiere den Entrag" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Hinweis: Um ein Attribut zu löschen, leeren Sie den Inhalt des Wertes." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Tipp:Um das Schema für ein Attribut anzusehen, genügt ein klick auf den Attributnamen" + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Einige Attribute (%s) wurden verändert und sind hervorgehoben." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Ein Attribut (%s) wurde verändert und ist hervorgehoben." + + +msgid "Viewing entry in read-only mode." +msgstr "Zeige Eintrag im Nurlesemodus" + + +msgid "no new attributes available for this entry" +msgstr "Keine weiteren Attribute verfügbar für diesen Eintrag" + + +msgid "no new binary attributes available for this entry" +msgstr "Keine weiteren Binären Attribute verfügbar für diesen Eintrag." + + +msgid "Binary value" +msgstr "Binärwert" + + +msgid "Add new binary attribute" +msgstr "Neuen Binärwert hinzufügen" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Alias für" + + +msgid "Required attribute for objectClass(es) %s" +msgstr "Notwendige Attribute für die Objektklasse(n) %s" + + +msgid "download value" +msgstr "Wert herunterladen" + + +msgid "delete attribute" +msgstr "Lösche Attribut" + + +msgid "true" +msgstr "Wahr" + + +msgid "false" +msgstr "Falsch" + + +msgid "none, remove value" +msgstr "nichts, entferne den Wert" + + +msgid "Really delete attribute" +msgstr "Lösche das Attribut wirklich" + + +msgid "Add New Value" +msgstr "Neuen Wert hinzufügen" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "Der Server unterstützt nicht vollständig das LDAP-Protokoll." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Die verwendete PHP-Version setzte keine korrekte LDAP-Abfrage ab." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "Oder phpLDAPadmin konnte nicht das Schema für den Server abfragen." + + +msgid "Jump to an objectClass" +msgstr "Gehe zur objectClass" + + +msgid "View the schema description for this objectClass" +msgstr "Zeige die Schemabeschreibung für diese Objektklasse" + + +msgid "Jump to an attribute type" +msgstr "Gehe zum Attribut" + + +msgid "Jump to a matching rule" +msgstr "Gehe zur Treffer Regel" + + +msgid "Schema for server" +msgstr "Schema für Server" + + +msgid "Required Attributes" +msgstr "Notwendige Attribute" + + +msgid "required" +msgstr "notwendig" + + +msgid "Optional Attributes" +msgstr "Optionale Attribute" + + +msgid "Optional Binary Attributes" +msgstr "Optinales Binärattribut" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Pseudonym(e)" + + +msgid "Description" +msgstr "Beschreibung" + + +msgid "no description" +msgstr "Keine Beschreibung" + + +msgid "Name" +msgstr "Name" + + +msgid "Equality" +msgstr "Gleichheit" + + +msgid "This objectClass is obsolete." +msgstr "Diese objectClass ist veraltet" + + +msgid "Inherits from" +msgstr "Abgeleitet von" + + +msgid "Inherited from" +msgstr "abgeleitet von" + + +msgid "Parent to" +msgstr "Knoten von" + + +msgid "Jump to this objectClass definition" +msgstr "Gehe zur objectClass Definition" + + +msgid "Matching Rule OID" +msgstr "Treffer-Regel OID" + + +msgid "Syntax OID" +msgstr "Syntax OID" + + +msgid "not applicable" +msgstr "nicht anwendbar" + + +msgid "not specified" +msgstr "nicht spezifiziert" + + +msgid "character" +msgstr "Zeichen" + + +msgid "Used by objectClasses" +msgstr "Verwendet von den Objektklassen" + + +msgid "Used by Attributes" +msgstr "Verwendet in den Attributen" + + +msgid "Obsolete" +msgstr "Veraltet" + + +msgid "Ordering" +msgstr "Ordnung" + + +msgid "Substring Rule" +msgstr "Teilstring Regel" + + +msgid "Single Valued" +msgstr "Einzelner Wert" + + +msgid "Collective" +msgstr "Sammlung" + + +msgid "User Modification" +msgstr "Benutzer Änderung" + + +msgid "Usage" +msgstr "Verwendung" + + +msgid "Maximum Length" +msgstr "Maximale Grösse" + + +msgid "Attribute Types" +msgstr "Attribut Typen" + + +msgid "Syntaxes" +msgstr "Syntaxe" + + +msgid "ObjectClasses" +msgstr "Objekt Klassen" + + +msgid "Matching Rules" +msgstr "Treffer Regeln" + + +msgid "Could not retrieve schema from" +msgstr "Das Schema konnte nicht abgefragt werden. Betrifft die Einstellung des Servers:" + + +msgid "Type" +msgstr "Typ" + + +msgid "No such schema item: \"%s\"" +msgstr "Kein Schema Eintrag für Element: %s" + + +msgid "Entry %s deleted successfully." +msgstr "Der Eintrag '%s' wurde erfolgreich gelöscht." + + +msgid "You must specify a DN" +msgstr "Ein DN muss angegeben werden." + + +msgid "Could not delete the entry: %s" +msgstr "Konnte den Eintrag nicht löschen: %s" + + +msgid "No such entry: %s" +msgstr "Keinen solchen Eintrag: %s" + + +msgid "Delete %s" +msgstr "Löschen von %s" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Dies ist ein Root-Eintrag und beinhaltet einen Unterbaum mit %s Einträgen." + + +msgid "view entries" +msgstr "Zeige Einträge" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin kann diesen Eintrag und die %s Untereinträge rekursiv löschen. Unten ist eine Liste der Einträge angegeben die von diesem Löschen betroffen wären. Sollen alle Einträge gelöscht werden?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Hinweis: Dies ist sehr gefährlich und erfolgt auf eines Risiko. Die Ausführung kann nicht rückgängig gemacht werden. Dies betrifft ebenso Aliase, Referenzen und andere Dinge die zu Problemen führen können." + + +msgid "Delete all %s objects" +msgstr "Löschen aller \"%s\" Objekte" + + +msgid "Recursive delete progress" +msgstr "Rekursives Löschen in Arbeit" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Erfolgreiches Löschen des Eintrages \"%s\" und dessen Unterbaums." + + +msgid "Failed to delete entry %s" +msgstr "Fehler beim Löschen des Eintrages %s." + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "Das Attribut \"%s\" ist in der phpLDAPadmin Konfiguration als nur lesend deklariert." + + +msgid "No attribute name specified." +msgstr "Kein Attributname angegeben." + + +msgid "No DN specified" +msgstr "Kein DN angegeben." + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Der Wert des Attributes wurde leergelassen. Bitte zurück gehen und erneut versuchen." + + +msgid "Failed to add the attribute." +msgstr "Fehler beim Hinzufügen des Attributes" + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "Die ausgewählte Datei ist entweder nicht vorhanden oder leer. Bitte zurückgehen und nochmals versuchen." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Sicherheitsfehler: Die hochgeladene Datei kann bösartig sein." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Die PHP-Konfiguration (php.ini) gestattet es nicht Dateien hochzuladen. Bitte die php.ini hierzu überprüfen." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "Die hochgeladene Datei ist größer als die maximal erlaubte Datei aus der \"php.ini\". Bitte in der php.ini den Eintrag \"upload_max_size\" überprüfen." + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "Die auswählte Datei wurde nur unvollständig hochgeladen." + + +msgid "Maximum file size: %s" +msgstr "Maximal Dateigröße ist: %s" + + +msgid "Modification successful!" +msgstr "Änderung war erfolgreich!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Da das Passwort geändert wurde müssen Sie sich erneut einloggen." + + +msgid "New Required Attributes" +msgstr "Neue benötigte Attribute" + + +msgid "This action requires you to add" +msgstr "Diese Aktion zwingt sie folgendes hinzuzufügen" + + +msgid "new attributes" +msgstr "neue Attribute" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Anleitung: Um diese objectClass hinzuzufügen müssen sie " + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "die von dieser objectClass benötigt werden. Sie können dies in diesem Formular machen." + + +msgid "Add ObjectClass and Attributes" +msgstr "ObjectClass und Attribute hinzufügen" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Klicken um einen Eintrag (DN) grafisch auszuwählen." + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Sie können keine Aktualisierungen durchführen während der Server sich im 'nur lese'-modus befindet" + + +msgid "Bad server id" +msgstr "Ungültige Server ID" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Nicht genügend Angaben zur Anmeldung am Server. Bitte überprüfen sie ihre Konfiguration" + + +msgid "Could not connect to LDAP server." +msgstr "Konnte keine Verbindung zum LDAP Server herstellen." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Konnte keine Verbindung zum Server \"%s\" am Port \"%s\" erstellen." + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Kann keine 'ldap_mod_add' Operationen durchführen." + + +msgid "Success" +msgstr "Erfolgreich" + + +msgid "Looking in: " +msgstr "Sehe nach in:" + + +msgid "No DN specified in query string!" +msgstr "Kein DN in der Anfrage angegeben" + + +msgid "Back Up..." +msgstr "Eine Ebene höher..." + + +msgid "no entries" +msgstr "Keine Einträge" + + +msgid "Could not determine base DN" +msgstr "Konnten Basis-DN nicht ermitteln." + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Dies kann mehrere Gründe haben. Die häufigsten sind:" + + +msgid "Yes" +msgstr "Ja" + + +msgid "No" +msgstr "Nein" + + +msgid "Go" +msgstr "Weiter" + + +msgid "Delete" +msgstr "Löschen" + + +msgid "Back" +msgstr "Zurück" + + +msgid "object" +msgstr "Objekt" + + +msgid "Delete all" +msgstr "Lösche alle" + + +msgid "hint" +msgstr "Hinweis" + + +msgid "bug" +msgstr "Programmfehler" + + +msgid "warning" +msgstr "Warnung" + + +msgid "light" +msgstr "light" + + +msgid "Add new" +msgstr "Neu hinzufügen" + + +msgid "value to" +msgstr "Wert auf" + + +msgid "Distinguished Name" +msgstr "Distinguished Name (eindeutiger Name)" + + +msgid "Current list of" +msgstr "Aktuelle Liste von" + + +msgid "values for attribute" +msgstr "Werte des Attributes" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Info: Sie werden einen \"inappropriate matching\" Fehler erhalten, falls sie nicht" + + +msgid "Enter the value you would like to add:" +msgstr "Geben sie den Wert ein den sie hinzufügen möchten:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Info: Sie werden gegebenenfalles gezwungen sein neue Attribute hinzuzufügen." + + +msgid "Syntax" +msgstr "Syntax" + + +msgid "You left the destination DN blank." +msgstr "Sie haben kein Ziel DN angegeben" + + +msgid "The destination entry (%s) already exists." +msgstr "Der Zieleintrag (%s) existiert bereits." + + +msgid "The destination container (%s) does not exist." +msgstr "Der Zielcontainer (%s) existiert nicht." + + +msgid "The source and destination DN are the same." +msgstr "Ursprung DN und Ziel DN sind identisch" + + +msgid "Copying " +msgstr "Kopieren" + + +msgid "Recursive copy progress" +msgstr "Rekursives Kopieren im Gange" + + +msgid "Building snapshot of tree to copy... " +msgstr "Erzeuge Speicherauszug des zu kopierenden Verzeichnisses" + + +msgid "Copy successful! Would you like to " +msgstr "Kopieren erfolgreich! Wollen sie den" + + +msgid "view the new entry" +msgstr "neuen Eintrag ansehen" + + +msgid "Failed to copy DN: " +msgstr "Kopieren des DN fehlgeschlagen: " + + +msgid "Template" +msgstr "Vorlage" + + +msgid "using template" +msgstr "Verwende Vorlage" + + +msgid "Go to %s" +msgstr "Gehe zu %s" + + +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "Dies ist eine strukturelle Objektklasse und kann nicht entfernt werden." + + +msgid "structural" +msgstr "Strukturell" + + +msgid "Copy " +msgstr "Kopiere" + + +msgid "to a new object" +msgstr "in ein neues Objekt" + + +msgid "Destination DN" +msgstr "Ziel DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Der komplette DN des Eintrages der beim Kopieren erzeugt wird." + + +msgid "Destination Server" +msgstr "Zielserver" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Info: Kopieren zwischen unterschiedlichen Servern funktioniert nur wenn keine Unvereinbarkeiten im Schema auftreten" + + +msgid "Recursively copy all children of this object as well." +msgstr "Rekursiv kopiert auch alle Unterobjekte" + + +msgid "Recursive copy" +msgstr "Rekursives kopieren" + + +msgid "Filter" +msgstr "Filter" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Bei der Ausfürung des rekursiven Kopierens werden nur die Einträge verwendet, die mit dem Filter übereinstimmen" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Fehler, sie haben einen Wert für ein benötigtes Attribut frei gelassen." + + +msgid "Redirecting..." +msgstr "Weiterleitung" + + +msgid "here" +msgstr "hier" + + +msgid "Could not add the object to the LDAP server." +msgstr "Konnte das Objekt dem LDAP-Server nicht hinzufügen." + + +msgid "Create Object" +msgstr "Erzeuge einen neuen Eintag" + + +msgid "Choose a template" +msgstr "Vorlage wählen" + + +msgid "Select a template for the creation process" +msgstr "Wählen sie eine Vorlage für das Objekt" + + +msgid "You left the RDN field blank." +msgstr "Das RDN Feld wurde leer gelassen." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "Der angegenben Eintrag (%s) ist nicht vorhanden. Bitte erneut versuchen." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Es wurde kein ObjectClasses für diesen Eintrag ausgewählt. Bitte zurückgehen und korrigieren" + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Hinweis: Es muss mindestens ein Strukturelle ObjectClass ausgewählt sein." + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Schritt 1 von 2: Name und Objektklasse(n)" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Schritt 2 von 2: Bestimmen der Attribute und Werte" + + +msgid "Relative Distinguished Name" +msgstr "Relativer Distingushed Name" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(Beispiel: cn=MeineNeuePerson)" + + +msgid "Container" +msgstr "Behälter" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Sie haben sich am ausgewählten Server nicht angemeldet. Sie können keine Suche durchführen." + + +msgid "Click here to go to the login form" +msgstr "Klicken sie hier um zur Anmeldeseite zu gelangen" + + +msgid "Unrecognized criteria option: " +msgstr "Unbekannte Option" + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Falls eigene Auswahlkriterien hinzugefügt werden sollen, muss 'search.php' editiert werden" + + +msgid "Entries found: " +msgstr "Gefundene Einträge: " + + +msgid "Filter performed: " +msgstr "Angewanter Filter: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Suche durch phpLDAPadmin ausgeführt in" + + +msgid "seconds" +msgstr "Sekunden" + + +msgid "The scope in which to search" +msgstr "Bereich der durchsucht wird." + + +msgid "Sub (entire subtree)" +msgstr "Sub (Suchbasis und alle Unterverzeichnisebenen)" + + +msgid "One (one level beneath base)" +msgstr "One (Suchbasis und eine Unterverzeichnisebene)" + + +msgid "Base (base dn only)" +msgstr "Base (Nur Suchbasis)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Standard LDAP Suchfilter. Bsp.: (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "Suchfilter" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Kommaseparierte Liste der anzuzeigenden Attribute." + + +msgid "starts with" +msgstr "beginnt mit" + + +msgid "ends with" +msgstr "endet auf" + + +msgid "sounds like" +msgstr "klingt wie" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Konnte keine LDAP Informationen vom Server empfangen" + + +msgid "Server info for: " +msgstr "Serverinformationen für: " + + +msgid "Server reports the following information about itself" +msgstr "Der Server meldete die folgenden Informationen über sich" + + +msgid "This server has nothing to report." +msgstr "Der Server hat keine Informationen gemeldet" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "Das \"update_array\" wird falsch dargestellt. Dies könnte ein phpLDAPadmin Fehler sein. Bitte Berichten sie uns davon." + + +msgid "Could not perform ldap_modify operation." +msgstr "Konnte die 'ldap_modify' Operation nicht ausführen." + + +msgid "Do you want to make these changes?" +msgstr "Wollen sie diese Änderungen übernehmen?" + + +msgid "Attribute" +msgstr "Attribute" + + +msgid "Old Value" +msgstr "Alter Wert" + + +msgid "New Value" +msgstr "Neuer Wert" + + +msgid "[attribute deleted]" +msgstr "[Wert gelöscht]" + + +msgid "Commit" +msgstr "Anwenden" + + +msgid "Cancel" +msgstr "Abbruch" + + +msgid "You made no changes" +msgstr "Sie haben keine Änderungen vorgenommen." + + +msgid "Use the menu to the left to navigate" +msgstr "Benutzen sie das Menu auf der linken Seite zur Navigation." + + +msgid "Credits" +msgstr "Vorspann" + + +msgid "ChangeLog" +msgstr "Änderungsdatei" + + +msgid "Donate" +msgstr "Spende" + + +msgid "Purge caches" +msgstr "Cache bereinigen" + + +msgid "No cache to purge." +msgstr "Kein Cache zu bereinigen" + + +msgid "Purged %s bytes of cache." +msgstr "Es wurden %s Bytes aus dem Cache bereinigt." + + +msgid "Unsafe file name: " +msgstr "Unsicherer Dateiname:" + + +msgid "No such file: " +msgstr "Keine Datei unter diesem Namen" + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "\"auto_uid_numbers\" wurde in der Konfiguration (%s) aktiviert, aber der Mechanismus (auto_uid_number_mechanism) nicht. Bitte diese Problem korrigieren." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Der Mechanismus \"auto_uid_number_mechanism\" ist als \"uidpool\" für den Server (%s) festgelegt, jedoch wurde nicht der \"auto_uid_number_uid_pool_dn\" festgelegt. Bitte korrigieren und dann weiter verfahren." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Es scheint so, dass der \"uidPool\" - der in der Konfiguration festgelegt ist - nicht vorhanden ist." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Der \"auto_uid_number_mechanism\" wurde auf \"search\" in der Konfiguration des Servers (%s) festgelegt, aber es wurde der Wert fü \"auto_uid_number_search_base\" nicht gesetzt. Bitte korrigieren und dann weiter verfahren." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "Die phpLDAPadmin Konfiguration für den Server \"%s\" gibt eine ungültige Suchbasis für \"auto_uid_search_base\" an." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Konnte nicht mit \"%s\" verbinden" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Es wurde ein ungültiger Wert für \"auto_uid_number_mechanism\" (%s) festgelegt. Gültig sind nur die Werte \"uidpool\" und \"search\". Bitte den Fehler korrigieren. " + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Fehler: Ein Fehler ist in der Konfiguration (config.php) aufgetreten. Die einzigen beiden erlaubten Werte im Konfigurationsteil \"auth_type\" zu einem LDAP-Server ist \"config\" oder \"form\". Eingetragen ist aber \"%s\", was nicht erlaubt ist." + + +msgid "Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file." +msgstr "Es konnten nicht an \"%s\" mit dem Berechtigungsnachweis von \"unique_attrs\" verbunden werden. Bitte die Konfigurationdatei (config.php) überprüfen." + + +msgid "Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry." +msgstr "Der Versuch von \"%s\" (%s) an \"%s%\" ist nicht erlaubt. Das Attibut/Wert gehört zu einem anderen Eintrag. Vielleicht möchten Sie nach dem Wert suchen?" + + +msgid "Your PHP install does not support TLS." +msgstr "Die verwendete PHP-Version unterstützt kein TLS (verschlüsselte Verbindung)." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "TLS konnte nicht gestartet werden. Bitte die LDAP-Server-Konfiguration überprüfen." + + +msgid "Could not bind anonymously to server." +msgstr "Konnte keine Anonymous Anmeldung zum Server herstellen." + + +msgid "Could not bind to the LDAP server." +msgstr "Konnte keine Verbindung zum LDAP-Server herstellen" + + +msgid "Anonymous Bind" +msgstr "Anonymous anmelden" + + +msgid "Bad username or password. Please try again." +msgstr "Falscher Benutzername oder Passwort. Bitte erneut versuchen." + + +msgid "Successfully logged into server %s" +msgstr "Erfolgreich am Server %s angemeldet" + + +msgid "Could not set cookie." +msgstr "Konnte kein 'Cookie' setzten." + + +msgid "LDAP said: %s" +msgstr "LDAP meldet: %s" + + +msgid "Error" +msgstr "Fehler" + + +msgid "browse" +msgstr "Überfliegen" + + +msgid "Delete Photo" +msgstr "Lösche Foto" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Die verwendete PHP-Version unterstützt keine Blowfish Verschlüsselung." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Die eingesetzte PHP-Version unterstützt keine MD5-Verschlüsselung." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Die verwendete PHP-Version unterstützt nicht die Funktion mhash(), daher kann kein SHA Hash verwendet werden." + + +msgid "jpegPhoto contains errors
    " +msgstr "Die Bilddatei enthält Fehler" + + +msgid "Error number: %s (%s)" +msgstr "Fehlernummer: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Beschreibung: %s" + + +msgid "Error number: %s

    " +msgstr "Fehlernummer: %s" + + +msgid "Description: (no description available)
    " +msgstr "Beschreibung: (keine Beschreibung verfügbar)" + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Ist das ein phpLDAPadmin Fehler? Wenn dies so ist, dann bitte darüber berichten" + + +msgid "Unrecognized error number: " +msgstr "Unbekannte Fehlernummer:" + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    Ein nicht fataler Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "
    Gratulation, einen Fehler in phpLDAPadmin gefunden!
    Fehler:%s (%s)
    Datei:%sZeile:%s, aufgerufen von %s
    Version:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Bitte diesen Fehler melden (durch anklicken)..

    " + + +msgid "Import LDIF File" +msgstr "Importiere LDIF Datei" + + +msgid "Select an LDIF file:" +msgstr "LDIF Datei auswählen" + + +msgid "Don't stop on errors" +msgstr "Bei einem Fehler nicht unterbrechen sondern weitermachen." + + +msgid "Adding..." +msgstr "Hinzufügen..." + + +msgid "Deleting..." +msgstr "Entfernen..." + + +msgid "Renaming..." +msgstr "Umbenennen..." + + +msgid "Modifying..." +msgstr "Abändern..." + + +msgid "No version found. Assuming 1." +msgstr "Keine Version gefunden. Gehe von der Version 1 aus." + + +msgid "A valid dn line is required." +msgstr "Eine gültige DN Zeile wird benötigt." + + +msgid "Missing uploaded file." +msgstr "Hochgeladene Datei fehlt." + + +msgid "Uploaded LDIF file is empty." +msgstr "Die hochgeladene LDIF-Datei ist leer." + + +msgid "empty" +msgstr "leer" + + +msgid "File" +msgstr "Datei" + + +msgid "%s bytes" +msgstr "%s Bytes" + + +msgid "Failed" +msgstr "fehlgeschlagen" + + +msgid "LDIF Parse Error" +msgstr "LDIF Pars Fehler" + + +msgid "Could not add object:" +msgstr "Konnte das Objekt nicht hinzufügen:" + + +msgid "Could not rename object:" +msgstr "Konnte das Objekt nicht umbenennen:" + + +msgid "Could not delete object:" +msgstr "Konnte das Objekt nicht entfernen:" + + +msgid "Could not modify object:" +msgstr "Konnte das Objekt nicht abändern:" + + +msgid "Line Number:" +msgstr "Anzahl Zeilen:" + + +msgid "Line:" +msgstr "Zeile:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Sind Sie sicher das Sie dauerhaft den Eintrag löschen wollen?" + + +msgid "Permanently delete all children also?" +msgstr "Lösche alles und auch die Untereinträge?" + + +msgid "List of entries to be deleted:" +msgstr "List der Einträge die gelöscht werden:" + + +msgid "DN" +msgstr "DN" + + +msgid "Export format" +msgstr "Export Format" + + +msgid "Line ends" +msgstr "Zeilenende" + + +msgid "You must choose an export format." +msgstr "Bitte ein Exportformat auswählen" + + +msgid "Invalid export format" +msgstr "Unglültiges Export-Format" + + +msgid "No available exporter found." +msgstr "Keinen gültigen Exporter gefunden." + + +msgid "Encountered an error while performing search." +msgstr "Ein Fehler trat während des Suchvorgangs auf" + + +msgid "Showing results %s through %s." +msgstr "Zeige die Ergebnisse von %s bis %s." + + +msgid "Searching..." +msgstr "Suche..." + + +msgid "Notice, search size limit exceeded." +msgstr "Hinweis, das Limit der Suchtreffer wurde überschritten." + + +msgid "Entry" +msgstr "Eintrag" + + +msgid "LDIF Export for: %s" +msgstr "LDIF Export von: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Erstellt von phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) am %s" + + +msgid "Total Entries" +msgstr "Anzahl der Eintraege" + + +msgid "DSLM Export for: %s" +msgstr "DSLM Export von:" + + +msgid "Include system attributes" +msgstr "Einbinden von System-Attributen" + + +msgid "You left the password blank." +msgstr "Das Passwort wurde leer gelassen" + + +msgid "No one is logged in to that server." +msgstr "Niemand ist an diesem Server angemeldet" + + +msgid "Could not logout." +msgstr "Konnte nicht abgemeldet werden" + + +msgid "Unknown auth_type: %s" +msgstr "Unbekannter Authentifizierungsart: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Erfolgreich vom Server %s abgemeldet." + + +msgid "Authenticate to server %s" +msgstr "Authentifizierung mit Server %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Achtung: Diese Webverbindung ist unverschlüsselt." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Es wird keine verschlüsselte Verbindung ('https') verwendet. Der Webbrowser übermittelt die Anmeldeinformationen im Klartext." + + +msgid "Login DN" +msgstr "Anmelde DN" + + +msgid "User name" +msgstr "Benutzername" + + +msgid "Password" +msgstr "Passwort" + + +msgid "Authenticate" +msgstr "Authentifizierung" + + +msgid "Entry Chooser" +msgstr "Einträge auswählen" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "phpLDAPadmin muss konfiguriert werden. Bitte die Datei \"config.php\" erstellen. Ein Beispiel einer \"config.php\" liegt als Datei \"config.php.example\" bei." + + +msgid "Deletes not allowed in read only mode." +msgstr "Löschen ist im Nur-Lese-Modus nicht erlaubt." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Fehler im Aufruf von \"mass_delete.php\". \"mass_delete\" ist in den POST-Variablen nicht vorhanden." + + +msgid "mass_delete POST var is not an array." +msgstr "Die POST-Variable \"mass_delete\" ist kein Array." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "\"Viel-Löschen\" ist nicht aktiviert. Bitte in der der \"config.php\" aktivieren vor dem Weitermachen." + + +msgid "Mass Deleting" +msgstr "Viel-Löschen" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Löschprozess auf Server \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Das Array \"mass_delete\" ist falsch dargestellt." + + +msgid "You did not select any entries to delete." +msgstr "Es wurde kein zu löschender Eintrag ausgewählt." + + +msgid "Deleting %s" +msgstr "Lösche \"%s\"" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s von %s Einträgen konnten nicht gelöscht werden." + + +msgid "All entries deleted successfully." +msgstr "Alle Einträge wurden erfolgreich gelöscht." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Bitte das Löschen von %s Einträgen auf dem Server %s bestätigen" + + +msgid "Yes, delete!" +msgstr "Ja, Löschen!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Das Umbenennen von einem Eintrag mit Untereinträgen ist nicht Möglich. Es ist nur auf den Untersten Einträgen gestattet." + + +msgid "You did not change the RDN" +msgstr "Der RDN wurde nicht verändert" + + +msgid "Invalid RDN value" +msgstr "Ungültiger RDN Wert" + + +msgid "Could not rename the entry" +msgstr "Der Eintrag konnte nicht umbenannt werden" + + diff --git a/locale/es_ES/LC_MESSAGES/messages.mo b/locale/es_ES/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..d2a613a2182becc646bb4dbd0af72fac05db1ca1 GIT binary patch literal 46099 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 GqW=Ru<-pMZ literal 0 HcmV?d00001 diff --git a/locale/es_ES/LC_MESSAGES/messages.po b/locale/es_ES/LC_MESSAGES/messages.po new file mode 100644 index 0000000..2911e0f --- /dev/null +++ b/locale/es_ES/LC_MESSAGES/messages.po @@ -0,0 +1,2031 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Miguelanxo Otero Salgueiro \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Formulario de búsqueda sencilla" + + +msgid "Advanced Search Form" +msgstr "Formulario de búsqueda avanzada" + + +msgid "Server" +msgstr "Servidor" + + +msgid "Search for entries whose" +msgstr "Buscar entradas en las que" + + +msgid "Base DN" +msgstr "DN base" + + +msgid "Search Scope" +msgstr "Ámbito de búsqueda" + + +msgid "Show Attributtes" +msgstr "Mostrar atributos" + + +msgid "Search" +msgstr "Buscar" + + +msgid "Select a predefined search" +msgstr "Seleccionar una búsqueda predefinida" + + +msgid "Predefined Searches" +msgstr "Búsquedas predefinidas" + + +msgid "No queries have been defined in config.php." +msgstr "No hay ninguna búsqueda predefinida en config.php." + + +msgid "export results" +msgstr "exportar resultados" + + +msgid "Unrecognized search result format: %s" +msgstr "Formato de resultado de búsqueda no reconocido: %s" + + +msgid "Format" +msgstr "Formato" + + +msgid "list" +msgstr "lista" + + +msgid "table" +msgstr "tabla" + + +msgid "Your config.php specifies an invalid value for $default_search_display: %s. Please fix it" +msgstr "Su config.php especifica un valor no válido para $default_search_display: %s. Por favor, arréglelo" + + +msgid "Page %d" +msgstr "Página %d" + + +msgid "The search found no results." +msgstr "La búsqueda no ha encontrado resultados." + + +msgid "Request feature" +msgstr "Solicitar una nueva funcionalidad" + + +msgid "Report a bug" +msgstr "Informar de un error" + + +msgid "schema" +msgstr "esquema" + + +msgid "search" +msgstr "buscar" + + +msgid "create" +msgstr "crear" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importar" + + +msgid "refresh" +msgstr "refrescar" + + +msgid "logout" +msgstr "salir" + + +msgid "Create new entry here" +msgstr "Crear nuevo objeto" + + +msgid "View schema for" +msgstr "Ver el esquema del" + + +msgid "Refresh all expanded containers for" +msgstr "Refrescar todos los contenedores extendidos del" + + +msgid "Create a new entry on" +msgstr "Crear un nuevo objeto en el" + + +msgid "new" +msgstr "nuevo" + + +msgid "View server-supplied information" +msgstr "Ver la información enviada por el servidor" + + +msgid "Import entries from an LDIF file" +msgstr "Importar desde un fichero LDIF" + + +msgid "Logout of this server" +msgstr "Desconectar del servidor" + + +msgid "Logged in as: " +msgstr "Conectado como: " + + +msgid "This is not a valid DN." +msgstr "Esta DN base no es válida." + + +msgid "This entry does not exist." +msgstr "Este objeto no existe." + + +msgid "read only" +msgstr "sólo lectura" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Este atributo ha sido marcado como de sólo lectura por el administrador de phpLDAPadmin" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "No se ha podido determinar la raíz de su árbol LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Parece que el servidor LDAP ha sido configurado para no revelar su raíz." + + +msgid "Please specify it in config.php" +msgstr "Por favór, especifíquela en config.php" + + +msgid "Create a new entry in" +msgstr "Crear nuevo objeto en" + + +msgid "Login..." +msgstr "Autentificación" + + +msgid "login" +msgstr "conectar" + + +msgid "This base entry does not exist." +msgstr "Este objeto base no existe." + + +msgid "Create it?" +msgstr "¿Crearlo?" + + +msgid "Delete this entry" +msgstr "Borrar este objeto" + + +msgid "You will be prompted to confirm this decision" +msgstr "Se le pedirá confirmación" + + +msgid "Copy or move this entry" +msgstr "Copiar este objeto" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Copiar este objeto en otro sitio: un nuevo DN u otro servidor" + + +msgid "Export" +msgstr "Exportar" + + +msgid "export" +msgstr "exportar" + + +msgid "Save a dump of this object" +msgstr "Exportar este objeto" + + +msgid "Save a dump of this object and all of its children" +msgstr "Exportar este objeto y todos sus hijos" + + +msgid "Export subtree" +msgstr "Exportar subárbol" + + +msgid "Create a child entry" +msgstr "Crear un objeto hijo" + + +msgid "Rename Entry" +msgstr "Renombrar objeto" + + +msgid "Rename" +msgstr "Renombrar" + + +msgid "Add" +msgstr "Añadir" + + +msgid "View" +msgstr "Ver" + + +msgid "View 1 child" +msgstr "Ver 1 hijo" + + +msgid "View %s children" +msgstr "Ver %s hijos" + + +msgid "Add new attribute" +msgstr "Añadir atributo" + + +msgid "Add new ObjectClass" +msgstr "Añadir ObjectClass" + + +msgid "Hide internal attributes" +msgstr "Ocultar atributos internos" + + +msgid "Show internal attributes" +msgstr "Mostrar atributos internos" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Haga click para ver el esquema del atributo de tipo '%s'" + + +msgid "none" +msgstr "ninguno" + + +msgid "No internal attributes" +msgstr "No hay atributos internos" + + +msgid "This entry has no attributes" +msgstr "Este objeto no tiene atributos" + + +msgid "Save Changes" +msgstr "Guardar cambios" + + +msgid "add value" +msgstr "añadir valor" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Añadir un valor al atributo '%s'" + + +msgid "Refresh" +msgstr "Refrescar" + + +msgid "Refresh this entry" +msgstr "Refrescar este objeto" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Nota: para borrar un atributo, borre su atributo y haga click en guardar." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Nota: Para ver el esquema de un atributo, haga click en su nombre." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Se han modificado algunos atributos (%s) que se encuentran destacados mas abajo." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Se ha modificado algún atributo (%s) que se encuentra destacado más abajo." + + +msgid "Viewing entry in read-only mode." +msgstr "Nota: Modo de sólo lectura." + + +msgid "no new attributes available for this entry" +msgstr "no hay nuevos atributos en este objeto" + + +msgid "no new binary attributes available for this entry" +msgstr "no hay nuevos atributos binarios en este objeto" + + +msgid "Binary value" +msgstr "Valor binario" + + +msgid "Add new binary attribute" +msgstr "Añadir atributo binario" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Nota: '%s' es un alias de '%s'" + + +msgid "Required attribute for objectClass(es) %s" +msgstr "Atributo requerido para la(s) clase(s) de objeto %s" + + +msgid "download value" +msgstr "descargar valor" + + +msgid "delete attribute" +msgstr "borrar atributo" + + +msgid "true" +msgstr "verdadero" + + +msgid "false" +msgstr "falso" + + +msgid "none, remove value" +msgstr "ninguno, borrar valor" + + +msgid "Really delete attribute" +msgstr "¿Borrar realmente el atributo" + + +msgid "Add New Value" +msgstr "Añadir valor" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "El servidor LDAP no soporta el protocolo LDAP en su totalidad." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Su versión de PHP no realiza la petición correctamente." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "O el phpLDAPadmin no sabe como obtener el esquema del servidor." + + +msgid "Jump to an objectClass" +msgstr "Ir a la clase de objeto" + + +msgid "View the schema description for this objectClass" +msgstr "Ver la descripción del esquema para esta clase de objeto." + + +msgid "Jump to an attribute type" +msgstr "Ir al tipo de atributo" + + +msgid "Jump to a matching rule" +msgstr "Ir a la regla de coincidencia" + + +msgid "Schema for server" +msgstr "Esquema del servidor" + + +msgid "Required Attributes" +msgstr "Atributos requeridos" + + +msgid "required" +msgstr "requerido" + + +msgid "Optional Attributes" +msgstr "Atributos opcionales" + + +msgid "Optional Binary Attributes" +msgstr "Atributos binarios opcionales" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Alias" + + +msgid "Description" +msgstr "Descripción" + + +msgid "no description" +msgstr "sin descripción" + + +msgid "Name" +msgstr "Nombre" + + +msgid "Equality" +msgstr "Igualdad" + + +msgid "This objectClass is obsolete." +msgstr "Esta clase de objeto es obsoleta." + + +msgid "Inherits from" +msgstr "Hereda de" + + +msgid "Inherited from" +msgstr "Heredado de" + + +msgid "Parent to" +msgstr "Padre de" + + +msgid "Jump to this objectClass definition" +msgstr "Ir a la definición de esta clase de objeto" + + +msgid "Matching Rule OID" +msgstr "OID de la regla de coincidencia" + + +msgid "Syntax OID" +msgstr "OID de sintaxis" + + +msgid "not applicable" +msgstr "no aplicable" + + +msgid "not specified" +msgstr "no especificado" + + +msgid "character" +msgstr "carácter" + + +msgid "characters" +msgstr "caracteres" + + +msgid "Used by objectClasses" +msgstr "Usado por la clase de objeto" + + +msgid "Used by Attributes" +msgstr "Usado por los atributos" + + +msgid "Maximum Length" +msgstr "Longitud máxima" + + +msgid "Attribute Types" +msgstr "Tipos de atributo" + + +msgid "Syntaxes" +msgstr "Sintaxis" + + +msgid "Matching Rules" +msgstr "Reglas de coincidencia" + + +msgid "Obsolete" +msgstr "Obsoleto" + + +msgid "Ordering" +msgstr "Ordenación" + + +msgid "Substring Rule" +msgstr "Regla de subcadena" + + +msgid "Single Valued" +msgstr "Univaludado" + + +msgid "Collective" +msgstr "Colectivo" + + +msgid "User Modification" +msgstr "Modificado por el usuario" + + +msgid "Usage" +msgstr "Uso" + + +msgid "Could not retrieve schema from" +msgstr "No se ha podido obtener el esquema de" + + +msgid "Type" +msgstr "Tipo" + + +msgid "No such schema item: \"%s\"" +msgstr "No hay tal ítem en el esquema: \"%s\"" + + +msgid "Entry %s deleted successfully." +msgstr "Objeto %s borrado correctamente." + + +msgid "You must specify a DN" +msgstr "Debe especificar un DN" + + +msgid "Could not delete the entry: %s" +msgstr "No se ha podido borrar el objeto %s" + + +msgid "No such entry: %s" +msgstr "No hay tal objeto %s" + + +msgid "Delete %s" +msgstr "Borrar %s" + + +msgid "Permanently delete all children also?" +msgstr "¿Borrar también todos los hijos?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Este objeto es la raíz de un subárbol que contiene %s objetos." + + +msgid "view entries" +msgstr "ver objetos" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin puede borrar recursivamente este objeto y sus %s hijos. Vea más abajo la lista de objetos que se borrarán ahora. ¿Todavía quiere hacerlo?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Nota: es potencialmente peligroso y debe hacerlo a su cuenta y riesgo. Esta operación NO puede deshacerse. Tome en consideración alias, referencias y otras cosas que puedan causar problemas." + + +msgid "Delete all %s objects" +msgstr "Borrar los %s objetos" + + +msgid "Recursive delete progress" +msgstr "Progreso de la borración recursiva" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Objeto %s y su subárbol borrado correctamente." + + +msgid "Failed to delete entry %s" +msgstr "Error al borrar el objeto %s" + + +msgid "List of entries to be deleted:" +msgstr "Lista de objetos a borrar:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "¿Está seguro de querer borrar este objeto?" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "El atributo \"%s\" está marcado como de sólo lectura en la configuración de phpLDAPadmin." + + +msgid "No attribute name specified." +msgstr "No se ha especificado ningún nombre de atributo." + + +msgid "No DN specified" +msgstr "No se ha especificado ningún DN" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Ha dejado en blanco el valor del atributo. Por favor, vuelva atrás e inténtelo de nuevo." + + +msgid "Failed to add the attribute." +msgstr "Error al añadir atributo." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "El fichero que ha escogido no existe o está vacío. Por favor vuelva atrás e inténtelo de nuevo." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Error de seguridad: El fichero que está enviando puede ser malicioso." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Su configuración del PHP ha desactivado la recepción de ficheros. Por favor revise php.ini antes de continuar." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "El fichero que está enviando es demasiado grande. Por favor revise el ajuste \"upload_max_size\" en php.ini." + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "El fichero que ha seleccionado sólo se ha recibido parcialmente debido a un error de red." + + +msgid "Maximum file size: %s" +msgstr "Tamaño máximo de fichero: %s" + + +msgid "Modification successful!" +msgstr "¡Modificación realizada correctamente!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Como ha cambiado su contraseña, debe conectarse de nuevo empleando la nueva." + + +msgid "New Required Attributes" +msgstr "Nuevos atributos requeridos" + + +msgid "This action requires you to add" +msgstr "Esta acción requiere que añada" + + +msgid "new attributes" +msgstr "nuevos atributos" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instrucciones: Para poder añadir esta clase a este objeto, debe especificar" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "que esta clase requiere. Puede hacerlo en este formulario." + + +msgid "Add ObjectClass and Attributes" +msgstr "Añadir clase de objeto y atributos" + + +msgid "ObjectClasses" +msgstr "Clases de objeto" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Haga click en el diálogo emergente para seleccionar un DN de forma gráfica" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "No puede realizar cambios cuando el servidor está funcionando en modo de sólo lectura" + + +msgid "Bad server id" +msgstr "Identificador de servidor no válido" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "No hay información suficiente para conectar con el servidor. Por favor, revise su configuración." + + +msgid "Could not connect to LDAP server." +msgstr "No se ha podido conectar con el servidor LDAP." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "No se ha podido conectar con \"%s\" en el puerto \"%s\"" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "No se ha podido realizar la operación \"ldap_mod_add\"." + + +msgid "Success" +msgstr "Éxito" + + +msgid "Home" +msgstr "Inicio" + + +msgid "Help" +msgstr "Ayuda" + + +msgid "Server: " +msgstr "Servidor: " + + +msgid "Looking in: " +msgstr "Buscando en: " + + +msgid "No DN specified in query string!" +msgstr "¡No se ha especificado ningún DN en la petición!" + + +msgid "Back Up..." +msgstr "Volver" + + +msgid "no entries" +msgstr "no hay objetos" + + +msgid "Could not determine base DN" +msgstr "No se puede determinar el DN base" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Esto puede suceder por varias razones, las más probables son:" + + +msgid "Yes" +msgstr "Sí" + + +msgid "No" +msgstr "No" + + +msgid "Go" +msgstr "Ir" + + +msgid "Delete" +msgstr "Borrar" + + +msgid "Back" +msgstr "Atrás" + + +msgid "object" +msgstr "objeto" + + +msgid "Delete all" +msgstr "Borrar todo" + + +msgid "hint" +msgstr "nota" + + +msgid "bug" +msgstr "error" + + +msgid "warning" +msgstr "aviso" + + +msgid "light" +msgstr "bombilla" + + +msgid "Proceed >>" +msgstr "Proceder >>" + + +msgid "value to" +msgstr "valor de" + + +msgid "Distinguished Name" +msgstr "Nombre distinguido" + + +msgid "Current list of" +msgstr "Lista actual de" + + +msgid "values for attribute" +msgstr "valores del atributo" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Nota: Si no ha creado una regla de igualdad en el servidor LDAP para este atributo, obtendrá un error de coincidencia inapropiada (\"inappropriate matching\")." + + +msgid "Enter the value you would like to add:" +msgstr "Introduzca el valor a añadir:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Nota: puede que tenga que introducir nuevos atributos que esta clase de objeto requiera" + + +msgid "You left the destination DN blank." +msgstr "Ha dejado el campo DN en blanco." + + +msgid "The destination entry (%s) already exists." +msgstr "El objeto destino (%s) ya existe." + + +msgid "The destination container (%s) does not exist." +msgstr "El contenedor destino (%s) no existe." + + +msgid "The source and destination DN are the same." +msgstr "El DN origen y destino son iguales." + + +msgid "Copying " +msgstr "Copiando " + + +msgid "Recursive copy progress" +msgstr "Progreso de la copia recursiva" + + +msgid "Building snapshot of tree to copy... " +msgstr "Creando imagen del árbol a copiar... " + + +msgid "Copy successful! Would you like to " +msgstr "¡Copia correcta! ¿Le gustaría " + + +msgid "view the new entry" +msgstr "ver el nuevo objeto" + + +msgid "Failed to copy DN: " +msgstr "Error al copiar el DN: " + + +msgid "Template" +msgstr "plantilla" + + +msgid "using template" +msgstr "usando plantilla" + + +msgid "Go to %s" +msgstr "Ir a %s" + + +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "Esta es una clase de objeto estructural y no se puede eliminar." + + +msgid "structural" +msgstr "estructural" + + +msgid "Copy " +msgstr "Copiar " + + +msgid "to a new object" +msgstr "a un objeto nuevo" + + +msgid "Destination DN" +msgstr "DN destino" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "El DN completo del objeto a crear" + + +msgid "Destination Server" +msgstr "Servidor destino" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Nota: Sólo se puede copiar entre servidores diferentes cuando no hay violaciones de esquema" + + +msgid "Recursively copy all children of this object as well." +msgstr "También copiar recursivamente todos los hijos de este objeto." + + +msgid "Recursive copy" +msgstr "Copia recursiva" + + +msgid "Filter" +msgstr "Filtro" + + +msgid "Search Filter" +msgstr "Filtro de búsqueda" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Cuando se realice una copia recursiva, copiar sólo los objetos que superen el filtrado" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Ha dejado el valor del atributo requerido (%s) en blanco." + + +msgid "Redirecting..." +msgstr "Redirigiendo..." + + +msgid "here" +msgstr "aquí" + + +msgid "Could not add the object to the LDAP server." +msgstr "No se ha podido añadir el objeto al servidor LDAP." + + +msgid "Create Object" +msgstr "Crear objeto" + + +msgid "Choose a template" +msgstr "Escoja una plantilla" + + +msgid "Select a template for the creation process" +msgstr "Seleccione una plantilla para el proceso de creación" + + +msgid "Save as file" +msgstr "Guardar como fichero" + + +msgid "You left the RDN field blank." +msgstr "Ha dejado el campo RDN en blanco." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "El contenedor que ha especificado (%s) no existe. Por favor inténtelo de nuevo." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "No ha seleccionado ninguna clase para este objeto. Por favor, vuelva atrás y hágalo ahora." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Nota: Debe escoger al menos una clase de objeto estructural" + + +msgid "Your config specifies a handler of \"%s\" for this template but this file is not readable because the permissions are too strict." +msgstr "Su configuración especifica un fichero \"%s\" para esta plantilla pero dicho fichero no se puede leer debido a que sus permisos son demasiado restrictivos." + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Paso 1 de 2: Nombre y clase(s) de objeto" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Paso 2 de 2: Especifique attributos y valores" + + +msgid "Relative Distinguished Name" +msgstr "Nombre Distinguido Relativo (RDN)" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(ejemplo: cn=nuevaPersona)" + + +msgid "Container" +msgstr "Contenedor" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Todavía no ha conectado con el servidor, así que no puede realizar búsquedas." + + +msgid "Click here to go to the login form" +msgstr "Pulse aquí para ir al formulario de conexión" + + +msgid "Unrecognized criteria option: " +msgstr "Criterio no reconocido: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Si quiere puede añadir su propios criterios a la lista. Asegúrese de editar search.php para manejarlos. Saliendo..." + + +msgid "Entries found: " +msgstr "Objetos encontrados: " + + +msgid "Filter performed: " +msgstr "Filtrado realizado: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Búsqueda realizada por phpLDAPadmin en" + + +msgid "seconds" +msgstr "segundos" + + +msgid "Sub (entire subtree)" +msgstr "Sub (subárbol completo)" + + +msgid "One (one level beneath base)" +msgstr "One (un nivel bajo la base)" + + +msgid "Base (base dn only)" +msgstr "Base (sólo la base)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Filtro de búsqueda LDAP estándar. Ejemplo: (&(sn=Picapiedra)(givenname=Pedro))" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Lista de atributos para mostrar en los resultados (separados por comas)" + + +msgid "equals" +msgstr "sea igual a" + + +msgid "starts with" +msgstr "comience por" + + +msgid "contains" +msgstr "contenga" + + +msgid "ends with" +msgstr "acabe en" + + +msgid "sounds like" +msgstr "suene como" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "No se ha podido obtener ninguna información del servidor LDAP. Esto puede deberse a este error es su versión de PHP o quizás su servidor LDAP posee controles de acceso que privan a los clientes de acceso al RootDSE." + + +msgid "Server info for: " +msgstr "Información sobre el servidor: " + + +msgid "Server reports the following information about itself" +msgstr "El servidor LDAP envía la siguiente información:" + + +msgid "This server has nothing to report." +msgstr "Este servidor no tiene nada sobre lo que informar." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "El array update_array no está bien formado. Esto puede indicar un error de phpLDAPadmin. Por favor, informe de ello." + + +msgid "Could not perform ldap_modify operation." +msgstr "No se ha podido realizar la operación \"ldap_modify\"." + + +msgid "Do you want to make these changes?" +msgstr "¿Quiere realizar estos cambios?" + + +msgid "Attribute" +msgstr "Atributo" + + +msgid "Old Value" +msgstr "Valor anterior" + + +msgid "New Value" +msgstr "Nuevo valor" + + +msgid "[attribute deleted]" +msgstr "[atributo borrado]" + + +msgid "Commit" +msgstr "Cometer" + + +msgid "Cancel" +msgstr "Cancelar" + + +msgid "You made no changes" +msgstr "No ha realizado cambios" + + +msgid "Go back" +msgstr "Volver atrás" + + +msgid "Use the menu to the left to navigate" +msgstr "Use el menú de la izquierda para navegar" + + +msgid "Credits" +msgstr "Creditos" + + +msgid "ChangeLog" +msgstr "Lista de cambios" + + +msgid "Donate" +msgstr "Donar" + + +msgid "phpLDAPadmin logo" +msgstr "logotipo de phpLDAPadmin" + + +msgid "Purge caches" +msgstr "Borrar cachés" + + +msgid "No cache to purge." +msgstr "No hay que borrar ningún caché." + + +msgid "Purged %s bytes of cache." +msgstr "Se han borrado %s bytes de caché." + + +msgid "Purge all cached data in phpLDAPadmin, including server schemas." +msgstr "Se han borrado todos los datos en el caché de phpLDAPadmin, incluyendo los esquemas del servidor." + + +msgid "Unsafe file name: " +msgstr "Nombre de fichero no seguro: " + + +msgid "No such file: " +msgstr "No hay tal fichero: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Ha activado \"auto_uid_numbers\" para %s en su configuración," +" pero no ha especificado el mecanismo \"auto_uid_number_mechanism\". Por favor, corrija este problema" + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Ha especificado el mecanismo \"auto_uid_number_mechanism\" como \"uidpool\"" +" en su configuración para el servidor %s, pero no ha especificado" +" \"audo_uid_number_uid_pool_dn\". Por favor, verifiquelo antes de continuar." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Parece ser que el \"uidPool\" que ha especificado en su configuración (\"%s\")" +" no existe." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Ha especificado \"auto_uid_number_mechanism\" como \"search\" en la" +" configuración del servidor %s, pero no ha especificado" +" \"auto_uid_number_search_base\". Por favor, especifíquelo antes de continuar." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Imposible conectar con %s con sus credenciales \"auto_uid\". Por favor, verifique su fichero de configuración." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "Su configuración de phpLDAPadmin especifica \"auto_uid_search_base\" como no válida para el servidor %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Ha especificado un valor no válido para el mecanismo \"auto_uid_number_mechanism\" (\"%s\")" +" en su configuración. Sólo son válidos \"uidpool\" y \"search\". Por favor, corrija este problema." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Error: Tiene un error en su fichero de configurción. Los tres únicos valores para \"auth_type\"" +" en la sección $servers son 'session', 'cookie', y 'config'. Usted ha introducido '%s'," +" que no está permitido. " + + +msgid "Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file." +msgstr "Imposible conectarse a %s con sus credenciales unique_attr. Por favor, revise su fichero de configuración." + + +msgid "Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry." +msgstr "Su intento de añadir %s (%s) a
    %s
    NO se ha permitido. Tal atributo/valor pertenece a otro objeto.

    Probablemente desee buscar tal objeto." + + +msgid "Your PHP install does not support TLS." +msgstr "Su instalación de PHP no soporta TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "No se ha podido iniciar TLS. Por favor, revise su configuración LDAP." + + +msgid "Could not bind anonymously to server." +msgstr "No se ha podido conectar con el servidor de forma anónima." + + +msgid "Anonymous Bind" +msgstr "Conexión anónima" + + +msgid "Bad username or password. Please try again." +msgstr "Nombre de usuario o contraseña incorrectos. Por favor, inténtelo de nuevo." + + +msgid "Successfully logged into server %s" +msgstr "Ha conectado con el servidor %s." + + +msgid "Could not set cookie." +msgstr "No se ha podido guardar la cookie." + + +msgid "LDAP said: %s" +msgstr "LDAP ha dicho: %s" + + +msgid "Error" +msgstr "Error" + + +msgid "browse" +msgstr "seleccionar" + + +msgid "Delete Photo" +msgstr "Borrar foto" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Su instalación de PHP no soporta encriptación blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Su instalación de PHP no soporta encriptación md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Su instalación de PHP no posee la función mhash(). No se pueden realizar hashes SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "La foto jpegPhoto contiene errores
    " + + +msgid "Error number: %s (%s)" +msgstr "Error número: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Descripción: %s

    " + + +msgid "Error number: %s

    " +msgstr "Error número: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Descripción: (no existe descripción disponible)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "¿Es éste un error de phpLDAPadmin? Si es así, por favor informe sobre ello." + + +msgid "Unrecognized error number: " +msgstr "Número de error no reconocido: " + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" ¡Ha encontrado un error no fatal en phpLDAPadmin!
    Error:%s (%s)
    Fichero:%s línea %s, caller %s
    Versiones:PLA: %s, PHP: %s, SAPI: %s" +"
    Servidor web:%s
    " +" Por favor, informe de este error pulsando aquí.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "¡Felicidades! Ha encontrado un error en phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Nivel:%s
    Fichero:%s
    Línea:%s
    Caller:%s
    Verisón PLA:%s
    Versión PHP:%s
    PHP SAPI:%s
    Servidor web:%s
    " +"
    " +" Por favor, informe sobre este error haciendo click más abajo!" + + +msgid "Import LDIF File" +msgstr "Importar fichero LDIF" + + +msgid "Select an LDIF file:" +msgstr "Seleccione un fichero LDIF:" + + +msgid "Don't stop on errors" +msgstr "Ignorar errores" + + +msgid "Adding..." +msgstr "Añadiendo..." + + +msgid "Deleting..." +msgstr "Borrando..." + + +msgid "Renaming..." +msgstr "Renombrando..." + + +msgid "Modifying..." +msgstr "Modificando..." + + +msgid "No version found. Assuming 1." +msgstr "No se ha encontrado versión. Asumiendo 1." + + +msgid "A valid dn line is required." +msgstr "Se requiere una línea válida." + + +msgid "Missing uploaded file." +msgstr "Falta el fichero enviado." + + +msgid "Uploaded LDIF file is empty." +msgstr "El fichero LDIF enviado está vacío." + + +msgid "empty" +msgstr "vacío" + + +msgid "File" +msgstr "Fichero" + + +msgid "%s bytes" +msgstr "%s bytes" + + +msgid "LDIF Parse Error" +msgstr "Error al parsear LDIF" + + +msgid "Could not add object:" +msgstr "No se ha podido añadir objeto:" + + +msgid "Could not rename object:" +msgstr "No se ha podido renombrar el objeto:" + + +msgid "Could not delete object:" +msgstr "No se ha podido borrar el objeto:" + + +msgid "Could not modify object:" +msgstr "No se ha podido modificar el objeto:" + + +msgid "Line Number:" +msgstr "Número de línea:" + + +msgid "Line:" +msgstr "Línea:" + + +msgid "Export format" +msgstr "Formato de exportación" + + +msgid "Line ends" +msgstr "Fin de línea" + + +msgid "You must choose an export format." +msgstr "Debe escoger un formato de exportación." + + +msgid "Invalid export format" +msgstr "Formato de exportación no válido" + + +msgid "No available exporter found." +msgstr "No se ha encontrado ningún exportador válido." + + +msgid "Encountered an error while performing search." +msgstr "Se ha encontrado un error al realizar la búsqueda." + + +msgid "Showing results %s through %s." +msgstr "Mostrando los resultados de %s a %s." + + +msgid "Searching..." +msgstr "Buscando..." + + +msgid "Notice, search size limit exceeded." +msgstr "Nota: se ha excedido el tiempo de búsqueda." + + +msgid "Entry" +msgstr "Objeto" + + +msgid "LDIF Export for: %s" +msgstr "Exportación LDIF de: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Generado por phpLDAPadmin el %s" + + +msgid "Total Entries" +msgstr "Entradas totales" + + +msgid "DSLM Export for: %s" +msgstr "Exportación DSLM de: %s" + + +msgid "Include system attributes" +msgstr "Incluir atributos de sistema" + + +msgid "CSV (Spreadsheet)" +msgstr "CSV (Hoja de cálculo)" + + +msgid "You left the password blank." +msgstr "Ha dejado la contraseña en blanco." + + +msgid "No one is logged in to that server." +msgstr "No hay nadie conectado con el servidor." + + +msgid "Could not logout." +msgstr "No se ha podido desconectar." + + +msgid "Unknown auth_type: %s" +msgstr "Tipo de autentificación \"auth_type\" desconocido: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Se ha desconectado del servidor %s" + + +msgid "Authenticate to server %s" +msgstr "Autentificación del servidor %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Aviso: Esta conexión no está encriptada." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "No está usando 'https'. El navegador web enviará su información sin encriptar." + + +msgid "Login DN" +msgstr "Login" + + +msgid "User name" +msgstr "Nombre de usuario" + + +msgid "Password" +msgstr "Contraseña" + + +msgid "Authenticate" +msgstr "Entrar" + + +msgid "Entry Chooser" +msgstr "Selector de objetos" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Debe configurar phpLDAPadmin, editando el fichero 'config.php'. Se proporciona un fichero de configuración de ejemplo en 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "No se permiten borrados en modo de sólo lectura." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Error al llamar a \"mass_delete.php\". Falta la variable POST \"mass_delete\"." + + +msgid "mass_delete POST var is not an array." +msgstr "La variable POST \"mass_delete\" no es un array." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "No está activado el borrado masivo. Por favor, actívelo en config.php antes de continuar." + + +msgid "Mass Deleting" +msgstr "Efectuando borrado masivo" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Borrado en progreso en el servidor \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Array de borrado masivo mal formado." + + +msgid "You did not select any entries to delete." +msgstr "No ha seleccionado objetos para borrar." + + +msgid "Deleting %s" +msgstr "Borrando %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "No han podido borrarse %s de %s objetos." + + +msgid "All entries deleted successfully." +msgstr "Todos los objetos han sido borrados." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Confirmar borrado masivo de %s objetos en el servidor %s" + + +msgid "Yes, delete!" +msgstr "¡Sí, borrar!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "No puede renombrar un objeto que tenga hijos" + + +msgid "You did not change the RDN" +msgstr "No ha cambiado el RDN" + + +msgid "Invalid RDN value" +msgstr "Valor RDN no válido" + + +msgid "Could not rename the entry" +msgstr "No se ha podido renombrar el objeto" + + +msgid "Passwords match!" +msgstr "¡Las contraseñas coinciden!" + + +msgid "Passwords do not match!" +msgstr "¡Las contraseñas no coinciden!" + + +msgid "Password Checker Tool" +msgstr "Herramienta de comprobación de contraseñas" + + +msgid "Compare" +msgstr "Comparar" + + +msgid "To" +msgstr "con" + + +msgid "Using the" +msgstr "Usando la" + + +msgid "You may switch to the " +msgstr "Puede cambair a la " + + +msgid "default template" +msgstr "plantilla por defecto" + + +msgid "User Account (posixAccount)" +msgstr "Cuenta de Usuario (posixAccount)" + + +msgid "Address Book Entry (inetOrgPerson)" +msgstr "Entrada del libro de direcciones (inetOrgPerson)" + + +msgid "Address Book Entry (mozillaOrgPerson)" +msgstr "Entrada del libro de direcciones (mozillaOrgPerson)" + + +msgid "Kolab User Entry" +msgstr "Entrada de Usuario Kolab" + + +msgid "Organisational Unit" +msgstr "Unidad Organizativa" + + +msgid "Organisational Role" +msgstr "Rol Organizativo" + + +msgid "Posix Group" +msgstr "Grupo Posix" + + +msgid "Samba NT Machine" +msgstr "Ordenador con Samba NT" + + +msgid "Samba 3 NT Machine" +msgstr "Ordenador con Samba 3 NT" + + +msgid "Samba User" +msgstr "Usuario de Samba" + + +msgid "Samba 3 User" +msgstr "Usuario de Samba 3" + + +msgid "Samba 3 Group Mapping" +msgstr "Mapeo de Grupo de Samba 3" + + +msgid "DNS Entry" +msgstr "Entrada DNS" + + +msgid "Simple Security Object" +msgstr "Objeto de Seguridad Simple" + + +msgid "Courier Mail Account" +msgstr "Cuenta de Correo Courier" + + +msgid "Courier Mail Alias" +msgstr "Alias de Correo Courier" + + +msgid "LDAP Alias" +msgstr "Alias de LDAP" + + +msgid "Sendmail Cluster" +msgstr "Cluster de Sendmail" + + +msgid "Sendmail Domain" +msgstr "Dominio de Sendmail" + + +msgid "Sendmail Alias" +msgstr "Alias de Sendmail" + + +msgid "Sendmail Virtual Domain" +msgstr "Dominio Virtual de Sendmail" + + +msgid "Sendmail Virtual Users" +msgstr "Usuarios Virtuales de Sendmail" + + +msgid "Sendmail Relays" +msgstr "Relés de Sendmail" + + +msgid "Custom" +msgstr "A medida" + + +msgid "My Samba domain Name" +msgstr "Mi Nombre de Dominio de Samba" + + +msgid "Administrators" +msgstr "Administradores" + + +msgid "Users" +msgstr "Usuarios" + + +msgid "Guests" +msgstr "Invitados" + + +msgid "Power Users" +msgstr "Usuarios Privilegiados" + + +msgid "Account Operators" +msgstr "Administradores de Cuentas" + + +msgid "Server Operators" +msgstr "Administradores de Servidor" + + +msgid "Print Operators" +msgstr "Administradores de Impresión" + + +msgid "Backup Operators" +msgstr "Administradores de Copias de Seguridad" + + +msgid "Replicator" +msgstr "Replicador" + + +msgid " Unable to create the Samba passwords. Please, check the configuration in template_config.php" +msgstr " Imposible crear las contraseñas de Samba. Por favor, revise la configuración en template_config.php" + + +msgid "Error: You have an error in your samba confguration." +msgstr "Error: Tiene un error en su configuración de Samba." + + +msgid "Error: A name and a sid for your samba domain need to be provided." +msgstr "Error: Necesita indicar el nombre y el sid de su dominio Samba." + + +msgid "Error: No name provided for samba domain." +msgstr "Error: No se ha indicado el nombre del dominio Samba." + + +msgid "Error: No sid provided for samba domain." +msgstr "Error: No se ha indicado el sid del dominio Samba." + + +msgid "Samba Account" +msgstr "Cuenta Samba" + + +msgid "samba account" +msgstr "cuenta samba" + + +msgid "New User Account" +msgstr "Nueva cuenta de usuario" + + +msgid "Hint: To customize this template, edit the file templates/creation/new_user_template.php" +msgstr "Nota: Para modificar esta plantilla, edite el fichero templates/creation/new_user_template.php" + + +msgid "First name" +msgstr "Nombre propio" + + +msgid "Last name" +msgstr "Apellido" + + +msgid "first" +msgstr "nombre propio" + + +msgid "last" +msgstr "apellido" + + +msgid "Common name" +msgstr "Nombre común" + + +msgid "User Name" +msgstr "Nombre de Usuario" + + +msgid "Encryption" +msgstr "Encriptación" + + +msgid "Login Shell" +msgstr "Shell de entrada" + + +msgid "Home Directory" +msgstr "Directorio de usuario" + + +msgid "UID Number" +msgstr "Número UID" + + +msgid "(automatically determined)" +msgstr "(determinado automáticamente)" + + +msgid "Group" +msgstr "Grupo" + + +msgid "GID Number" +msgstr "Número GID" + + +msgid "Your passwords don't match. Please go back and try again." +msgstr "Sus contraseñas no coinciden. Por favor, vuelva atrás e inténtelo de nuevon." + + +msgid "You cannot leave the %s blank. Please go back and try again." +msgstr "No puede dejar en blanco el %s. Por favor, vuelva atrás e inténtelo de nuevo." + + +msgid "You can only enter numeric values for the %s field. Please go back and try again." +msgstr "Sólo puede introducir valores numéricos en el campo %s. Por favor, vuelva atrás e inténtelo de nuevo." + + +msgid "The container you specified (%s) does not exist. Please go back and try again." +msgstr "El contenedor que ha especificado (%s) no existe. Por favor, vuelva atrás e inténtelo de nuevo." + + +msgid "Confirm account creation" +msgstr "Confirmar creación de cuenta" + + +msgid "[secret]" +msgstr "[secreta]" + + +msgid "Create Account" +msgstr "Crear cuenta" + + +msgid "New Address Book Entry" +msgstr "Nueva entrada en el libro de direcciones" + + +msgid "Organisation" +msgstr "Organización" + + +msgid "Address" +msgstr "Dirección" + + +msgid "City" +msgstr "Ciudad" + + +msgid "Postal code" +msgstr "Código postal" + + +msgid "Street" +msgstr "Calle" + + +msgid "Work phone" +msgstr "Teléfono de trabajo" + + +msgid "Fax" +msgstr "Fax" + + +msgid "Mobile" +msgstr "Móvil" + + +msgid "Email" +msgstr "Email" + + +msgid "You cannot leave the Common Name blank. Please go back and try again." +msgstr "No puede dejar el campo \"Nombre Común\" en blanco. Por favor, vuelva atrás e inténtelo de nuevo." + + +msgid "Confirm entry creation:" +msgstr "Confirmar creación de entrada:" + + +msgid "Create Address" +msgstr "Crear dirección" + + +msgid "Check password..." +msgstr "Compruebe la contraseña..." + + diff --git a/locale/fr_FR/LC_MESSAGES/messages.mo b/locale/fr_FR/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..ec107996246c9d157f1115d4b9636e76677a3a88 GIT binary patch literal 51716 zcmd6w378#KnfFU}A|RWJpil{f?nt^r0throAfyurW;2}xP%+-VeYN8}$pu^=bb6BXffs>#PZK-}d>Kf#6y z!4HB9z`qBN0sk9R{=*k1$#LLG;Gy6-;KAU9;5_gWa6VWEj{t81j|JZjD&NP!x!_-e z=YZb_mGAf^e!T!xxuf7Cz#4cM_)Jjkx*j|LycL`S-VPoKegstgKL^rP$=5*D`%j?W zd-NGz&hen?*9RU2t^*GOw}E=^cu1cN_&iYWdo`%`y&gOdyb~M(e+#M}XPoKfEC(OX z^(s*BeG>R+@N!W7el@6ZdIfj_xCc~!ejZf5`#_E7{opp}VE$QNuNR)}_g@K~%>CQI z72uaZ(Z%6(<|DyJfed}J5L7!a2SqQ}g6j8ofyaUOfEwrTgQ`bzZjvkl9t$o7*MjPw z>p|szBPe>f1MCOy3+V^b32ILY9{e!+22{B#=_J)>6jVKTfpze&z+=IFUUD?J4Al5< z47d%{I5t4#dnTxIZVY%EsQ$hyT;Bt#pYH=jFFyt~p7(=vU-Cy#V3sgJ*6;yry2wn&te}Rwl6`;oXMWDv@gCHcCe1gGL{eBLr{Qm+q ze*5vT(vJdF-f`eD;8~#hcMT{$QwBAkCP3w{f$EnwsPOscJeEJ}!OKBCcRQ$dybl})?*zqH zPG05XdnP!S>n)(#vlCSQ8$tEME#L_Feo*wX-)isQV?mOV$AeDlc8cixc(eeJ?5-|mcipdwRbzH@~;VaJ*aYS z2Gy?jg9m}12gOgm466Jefuj5W05uK=U*h=>1Jyq#gPPaph3hAR>X$NjDA)=3Y;ZrW zUkob$OTiR;Be(#(6Fda`F{pO@GT>nhis)|vsCq61)&C>lY2Z#!?Yk9J`#uV4{67ai z4!jTKU-Ae3oCIFH*6D6L_ z;;+vFH4Zm}%Kvpx{dXUzd_N2LXYgRIk700B-U*=c&j&RggP{6#7*sz#6`T*&!HwWe zpxW_6@ZsPABnpoV_*hWy>jxhJE(MPS*Mb*-SAeS5TR`>Gd%*p{&x3mJ7r-OH?}zJO zfy#Htli(HLJW%&91J#ZRP~*`AHBL8yCxGt)MNfBwdfyj7)$<$R9PnR4`p-et^LL=? zJ!g~C!-=5!<6=tXU^=lav z{XPTK`(Fhr|Leh{z;}b{-#bCk!+(VPzXw&X!?rk|m=7M!^)RUNE(Phjqyefup8*kV z$=`wEYlm%hI@<)oGLxr*;yZ5xMOU|hYR^|d)$6z5vEZLUwd>eReVk7QHBV0i)n8jc zyqz7<>q{uvY>TXcof*Ah_uUIE1)+o1Ym7dQ?+AG{L$Dfmcm%hP-u zuL4it`X!*o;a#A{^~>O6!S8|^r$2zFfcsGi-R}cc&Jd{QH-egnHBfZa0mWCY1NHn3 z;rg|p#_JYP^}G!f{k<2|c-{qyZodeo;J3lk!QY4Lg->_Absea2x&~A`zYL0hd=peT z-vJ@L#v0CV@6%hZUi+hp9435-vvcyi^`mXmxGW_a_*Rq%Z=a) zu0H_I1Ah&wzmBc={8Y2@K6TxRB$t>_dWysBzQA;Ex73_&;K>>T&@?^y#C|h`CNY*TnYXu zTwhrCe9r?_?>j-wqkBP(T@Tk`S4lr2=E`k!@(bb zde5)H+ri(07lLn_^!f2aQ0>1T)VxWq_WXx{>c>ZbD(AS6ermu0Q2EaU9}X@Jcrj@8 z1l8_spxRXd9|67%RDC}Lt_ME`s=f!d{C&rQ;`|G9laLZK>BNTCCL-OAAu?O*xf!~ zmVtWjW>Ea)sbD|23p@*a8>n)>32NT{2Gl$}@)~c?8K9nD3aVbi;3Dv9(E0;Bn(GgN zYS-sL@!v0k%fbDg;p4OdynyQwP~-CIkp5=yNUlEso(g^j)cgJw)VTc;d<^(U@R8u7 zpXu{%06c-~I;i~DgBph$!DZkr;G@C&!u|U}(aE1c@sUHG<>j3Os@`XTi^22239t@s z1iudIxl^C*?>QY5eVhZT9V-;@;fa2%h0Qr{; zzR2nSqu}GX{vxRH{kMSs4T^5&yx7O*cu?(H5^xi!`Pd5A&jt_S`Yqs5;BBDj;*;Qh z;NODE|3&b4@Ef4|^Vgu}-|s>3n?tU5`ZxpBI9&*eZnuG=lNKntehH}e{1qsA`ZB0_ z@*Pm`IqD_euE&9AaD5)A{7q1F^;}TT-3%@OZv$1|uY#w5-vti=4|u8L;h@IzQJ~5n z4%Zt&(fhN(gTYsWtHC#cnuk9K_m6y8pil51(oYAU44w@h2fhka|Go!Y1AYkyB zju(MLjO%W2Dd~5-!t3>G@K~;Y2a1j#@k+19ASn8J0;qnx3{*S2;QruSLDlzGQ1y8a zsCIlfq~8aRX$Eb;I&+@1=T-a2K&Gtfv19p-{kE*6MQ(=Bj6lx8@L6$5>$IW z1FB!Y0X_x1AKVOXdNsToybaWR?|+S#w;mLI*1^-j7lYzocYrGYUhr`6JD~FY1bifT zz-yhJjt7tCdI6~CmV#>6WuV66>7d&4Ja7yo6z z^=Y8S`Q@O-{k;JOB%< zPv&|H_$Y99z#G7Ru5Sa+0Ph9WKL@NfzYej}jhtPAS7e+Hih9`q(;Cs+Z0 z0UrEj_ov?vs-BD9;`DO{cqrHBgKEzjP~~3^s-Ld~H6E`9mxCV$)sMdhHD133MF$7I z)%)=TP~(0ksB)Kr%C{O6{f>aD=QUso-U>b*{2W*Ze+eqz6}R|vF91d7H-e7=-wYlH zemvm4p!(-0;HBUnz@xy;H2wr|98`Os2Z|3|2Z}yE2+jjP3#vXp1c$)G-|qB$F{t-m z3J!o}Q18DH)OfuIJOsQO)cd~#s-5=*{28cz`7J0ubi}Rx-qS$UV=1We#z8&*98h#~ z6R2`-169vEK(*)dpvK{wU<&>QJP&--JG`BnK-H@OYQDY@RCzamj|SfXsvdWO>hEuX zHh%jxTZ-6TApTNc7pTYgX#e2N}&I0xRt>D369TeZ|f*Oyvh4ec>(ZQYIA>chB{i~qp z?OWhw;No{X|9uH4{`Ngknf;zc>$<#`XJa3ek|PoE+{(v9jN*}`Xf$%=YpcMi@~G75_lNc1|I=F2RszK0n|9X z0o44u6%-xb1?u^)gNwmmfMo(Y!0 zH-hJbe+Jiq=YPz{_2u9VTz?M~eP8`?*K2PC&*u7P;QipqpK!i+{3m@}Ukr+#-UkkV z2mO`T?@Vw7*G~mC{%-+~2d6;w=Y62Yf6k{|&o~uiXp%|rfQQkSck&!~>RmhsKJnA8 zN00wCwifwb4_*!){TZj<8aS8hH-cXR?*d;9UjJFA;}h?8zsB{T`r)hK6T!2loF1PG z>iS+#boAKId4E0`)c7>PqrqLE#_gpc{WahmuHOPa9NZJqKMEei^{2sOz|VskpKpPW z27dt_03P&tr23E_iqY#3#j|=168k2fEw3NgX+&YU+{i92`q7a3aIh8E~LK&d<@sOf{z660yV$? z7kD`MD^TVB349o+-%gI7bNqngS`vT4@$c~_X><1Dd9E+!JpR-c{eD6EJdUF{-pp|h z$KR9wZ=mMe=fH1rtmphi9Qu93!Tf)kBU?FsMcOMs*_69EUk+Zv@h6UxxqbuqIPiU- z=2w~H8C=KTN=}|Z8pD!wzyqoC+c@9G`Rl*T3Z0k8}PdU*P;@b~pdSw9kGTr@zrNA>~faFX8-M9HPzm zdk-g9b9|Nie+GAh`n{Or@jAGE4#$Zcui{$t8h>w&C*VeoFNSAD6Z1L$NVrbH^Ev9_ z`uE^Jl4lbLsU^$6L5|mOT*aZ^`5Z5`Gy0UYT^z96+tgKNzN{od)297EcZ zI6f5e-VxFlaeW@=&kpHI{vhWUf~RtPpL5NJCvzOj`ElU69QSfQ4}3dE@%LrYHNOuB zwQjE8YK{u$u*l7{^mM{*gn!DULUA3~{}I<7STcas4pxMsO8J zi$i>7m_xsR;~2Cv|8p5Im*Z<3|IYDMj*oMEk7JZ_ZsNFrL%&agzvXxo$8$N}$q|2t z(e6iby^sV%ll}fS+&_SOPYma6?%c@v=R%$l&i@$BcX0l{!nxo>;rt`uN!)9O>!UgU z3Fp5C_1glj0KWom3~7I7ck(}XlYV`;_c-t~-1;)dIOqQnvi)z)|Aq5I!9MUipng|y z{2-hUfKTPvMA|1f)`avAgJ*NRoa6bVF9cu2@hy(+9NS2C(9&!OK>IX)K7e;DvM z@JAdk<#-48C&4Fkyqcr<`xzIXBJCjXP2g9+dpRl`M{@lH@Pi!s9mKoO@zdnJp`2T} zz9pn>1;0f4!^!t0&i{+^pR0_Jca*d@a(*Dkk(@U}I;Y7s9M^LEfwVKhFLE5l`4u70 z?cnoBJ2hN$n*2TI!yLzRoXc@J#~*Zq-v>DV5%^(_w{U*968T-mc?bNwUHPBq0PHyq;}|HTo1Kjr=k4*fn2E&;c2ye_0Y9DEknH*x4!bx1A^_rqoKj&OZo zNcc9_t2n+NGk`m}K7=Fw1~@r@;{uK{$4j`^;uz!nQyfp^h`&QQ`A)caA-Fi4pBV7z zq1^9*htppDZsEKZ(m&uy$^Bgamh)vCCvbi|cw4yliIDd+@KVzL8tms-!1)lzw?e+R zg?!%te@EKCfLC&y#j%;=g&glC{W?&;H5?~%egww`&JW?ZPe?s~4Q}VSfqO5|!THxY ziodsVaUu8Ca=e@KM{>N2^M3~a8`N*oA!%^^-<*F9tb^YT_stAtwRyY^Dmg9M({VRAl$MZQq4AgIe<24+Q;&@CbXEAsK z*Uti9%kf#xe+*s@?g#2O0iMb6bk5(z@%E5@H0Kv_+|Kbv4*j~^yOrbHewp0E`JJ5q znB(s_{~5TBTDN8%+9FbV;e~DAl@@G?r3wyE|I1w%fd9a6!^P zQnAytQ?2WEw=~muj`$X{|Xi5$=$^)N^l)m$d5DMrDj!m0cz3TNz5rjb-b0 zudnRfSZTGJjRnclGIgx9mM`sC$CPXI!m_?blQ&fQNY$OOwA`$o~UCMxYkJ4>xbwJ|X`*_h}{w^ynY+dIqp7BA^bcUH$b+c`a>FI}`eE&i5{ zF2B6lO~;$v##mZP8_mYRc&SsWrF7@o;T0Q8V>BQg?M}>Hx@dIy(nXyy{ZXB)Udvat zTFuswr|aJ6^7(D$O#8Fb1v8&o&0zRL#k!<4v`|8go=dY*panX-(#lh27Q2-$W#HO* zeKxLLF_b^CFx`0Z#-8hu6&u$S5_)Shqp_D(M$>kswWBgyi}UIny3au?rJYi1qQb~D zDmxjbR%Luy-~4vpa;Nz~@+F3&U8$tiaj3rvS$8MW?Io~MX{4>nWV0oD-Ck)`mM$tS zA6&X9(nMD2zpxf-#?xv?uWEF9U$!va4WZOayTj}AdX4T*%e89xDoF1EYP85`914oH z9c@97$%?dAZFe+dOC6@`XqPFhsXA6|GsSn?Y==v4r%? z)oits6=P#MQf6zq6&_Kss|}-9R?3}~ny0CTX+>6NyIpFerLnQ9*c8)9ti`xp*0NNC zZ8;hLv`|=Tdh?oUtyb#E#f)b-vOd^RYLub1kxHpm-kz>*w(7}>S{3%pOKY`^!v>}b11*=S z$aoj_NcHHA*gt9i{PqGHnR;`qI$otv^&f+<9adEnyCP|{QfuzigU!b7db3N5sttyr zRWbT&cf-lf5<>-zFj)0c0~QK1_9{4GHf@y7PqNX;&(h7iCsp|_qNgE7-eF)17b@1L zIT9qfuvEUv{-j$b)#1ACP8O)-!jh({xI$VT3biQHQjJV$qEv0D zsCFgoAJtzdve~HZUf^lN>l0e7AvgL-F6>ro8t}B;C{4DvH*KzTTJQ&|T5eA6rebNb za%5}TKQf6}9cyo|R5}Zil^VKQvT}Q=F;Q9DoZw9IG^-QMS-HL0s2mzrf+$?v2QtEkZPeI&%d^^qf*P|Y$m4nmOq#HJwkqO+1J9l_Fej+XbWDIm8KW$ zJ9kgrQ3}$aDm;{@F5dVTK4nUVx3s9>?5*t&R?F}<1(6y?(+1wpgF4~5g44Tbr6{b8 z)y@@tb>K&p7H5;Y#kA_p9a7BU%tpGNo-_8j>7~tXZOj;Qt$LMlA%PtCq6|(K+b#XeI_$gL86HXQH)FBC%yqcM@ zkeWO|0?c+#?QAuj|D({fywQ>b#m04#3=5Z? zQ+T~eYv^J|laRfV1Zi!oG`Wpj+ibW@ePXbSMNH3G9jCn6GPWu%IA^>o+)xKZnvCSo zs>sHJVy%hQhU(;IqBUHPgaJ=Ci>9T+$_fmMS-Q03TKK%}ozCRYqD4%Tw#>;v)F)l& z{QT{J>7<+2j${go+uS*I1wllGa|68i+MTVc%y`!iP7&2@lP%v;)43S-UP>wab_e1Z>=4*!&cUgV;qlD~;nYFugDB7pq<{l-;S- z3a300W^MN9B+6qmW+`xZFS+eZSIP~VI0Q}$@swNwDn|wBWKS%I)*XQts9nGAo&@Mqejo%qArl zDsp+yq1bmA4y)=^DOuGh%XVbYC2KrOx)Zvp$UqT8Qm3`egc?-t)^6_$2A`o6i*iem z`H=23*%bvVJavdCf*VVInxWLLcl%%Upm__rqXT9VjJbDfnjvOXro8*Q?Z!YWS#@<6 zI~g;;+&li){4Z*SwAO82igC$wo&06JH$*!dH;iniRV}286_Yl)^-)|Ws)Q`T8L2&V z;Ettqg{k${z*5@Abf+(!ueQx+h|!Pgf>J@p!-8PzP~eX0m<;+*#QLU}5pP%##ixro z^@<11csZlAy@bTc#yScE=aQ+I*C5gc9YvF;gO`WQVP4rtw@rO}fIn(1KE>_Z%>3aU zB9v2{A-5qX%peF7dnfI~9G4X8TbTAaljlri!Ik)S-=J9ykhIaLd=LvC;N^B38b*~s zXqqRdFl(*86k45Ug0GGFOn8>v*T(7K6=DG=!bF%2qmQImhFq0U>)?qqUN7k<@FF0Rxj zlZ&BQW(_rz+bC--cS#&drI~AvjaE84ysVL1{Jug!z`&Fctxe=KTO+9slmK%(|rRr8+yv~$9l-ahA|c*`mEDJ z7`u5naKe}6C~D&S!^71rcUVxU1sUlcy?)#)J8gksw5iICO1>r+H<26qlMY9XCc#r` z+&Va-M5tW1Qaz5WV6^>G+4=+2Cb~_fPdrjz(XgejB45(mxER0x2939 zb)mQR?lvQykC5)5xlnf)t+dB*$@+<3d8aY_?V)rHDsOA7g7nH}DI(OZ1nbNG3hqAZ zfM`etAF@Wo_1@jQ0d@$}-Gnp7on0}dk|{&t6KkXkQVz>R(^e+VPZ^1Jb79Kzid<w9r z(dyORxn|!h9O4>QzZ9bd`)0yp&5E<$$}Uk*a!I#tv{FI}W8;YlJ^RR7@uNx!T}$>!d42A9PD%o@t);JD2d;)<*r3 z?~{q=h6NUoEo$;`O+pWnDyUHK=vE0w`8xRmho!plGQTnwDghtFFQzf7?^tF>`L&j7 zXp|GIcre|?YfKR;qZSzxSr@5g6V#G!SToEU0{tkZ&E>9Yy^EKi(wM+a8ZV9cw-FCE z%u&(nPS%l6B2dv7L41)OSZuVKCxyq37-2Az0bP9fca)uYeDYMlO=^KUTR9v z6{ixMg!)FuLBTT-`LmIPl|@y=@zroC9dZYlrfvnOC50MPh9rXTi`TwbOW-; z1}7H}vxv0ttQrssH8IPYuHHNkdvp>LViNI>UnKJBdBG@TL07`Tx?N%guZ$K?8tJMh zZCSB)&F0IEp-W{XTk!7%J|_LgWniSC*l^sVcX<@Ccc&nAN zzKg188cXjmNG79q2P@Hgvp~SqR$38_<|JoZJr~qt6V;!dW_(TjD4jo+AUYXK=#w*# zi^)#Xm0HGwW;dg2WT}|;Sh@_Ek=)!udQ6zPRGLXC-o-e!o98EC-9X;LY0f+bzGTih z3slKndz!0orXIa47e`rv=ICTGf10>TicFky1)r30Hj%!QCW>{plZ`l5v@!^L@^xrP zU?Y88T&>^OYKmUcQzts-=}0z;Pr4u$>txwq&Twj5tm#4$qzp4&f!zdi3DWcejPLR~ zl{SX9;~_>;6YS1lg6f)VLN{d6MXM(g8R_LN?qOU7vQ?*DiiXTvR!9#e%)CSCX72V3 zS=3crwL>LJccRizCFH(5ue3@+cT;5?r`-04)+b09CMhjqsC@ay_+^&IxP+82)mnBV zZJ5QGw#gj!WHE8JD&*%Pd-Wts$%>~Sk6AJ$1+#F01VYmrXOdzQ*|p*@iW4*w=NVr% zj$Y7X&BU1BPCS6@3|9rxbueJfznHpyGfC2xD_N4rDqKXpz;n;Y8*8&To#`h|?g3-~BCF!n2n4}1&N%gq zhD$ZZ)R4T1~^(FN1Ca9L59|0{N*ab zWsqWA>4l=RiQ2Y$<+q}5!CEJV5nTzI23ixzvKEZlArc#7^0B5X%)_5uuB>53T3>|w z!{!Ri^NVVCtI%+NYqizEt(i{G7t@{7jJVs_p%CQ}62$1$0Q8=a;ufX^Trn=7AQ0q3 zz^q`=kP*9L7A;{mjZQbz|4d!*b-t4_$iSvOT^Dev(<8W8~j#gMA=FNlBX-Bp=kMAkcKg-f&ovB%>5=CZ=?f% zE49YZ(rsbb)C!De$oBM~3+TuVZ(ks$60-65T5hYSzKTF%Z+GSVGQ`MQjs&dtyo@slaNEU*TjL`oRkaG*M_kcn;aZ+x=i}3A8J|)`J57u& zMWbd`tD9I%v_XOZ7Y3HUtzO!-%@lLALi0~pyNU3V$!sF9V)m2w6f}v|VBB35C&$O##Y{W@Liis6hHz|N7);cPCBJ(93M@ zBVRgABB;Yd{(jBI;waM+F(#`a96)*LA$d|Uae~QbOZqYyarTD$QPabs3(>jL=8caU zqE{vNa4=ghfQ~HEa(Z#RJG|7_y!14RW~i3Mh)!gtgZddATQfNmJ_>g?kUeoKvJP%`ELQ&F$^O%WJxiSa6|-^C@$ zFabpo2s7nIYY9zLrx%^`1uko>A-79g6)k>a9@;y3PR373EEa!q)>Q>{EyV-8h@*JXOhlIbnk2oslVo;Y02O;+7TrTF{Qvrh+TRq%x{_hU*{%4O@;!ZKL+ zhz-u}#1`bs?^MVmMM~(dE$Y+cpP0XMN|`e5^Y(=h2vr@PM<>>*jjI^SrfjNJ-pgz~ zhR(PpU*F0<$goH$TAxXhg4p+vNIq}ahKpNsdyG-T(U3=VIOi~@1;d+%iWq+!Odi5( zx{WHf!8Q>Ut^Z42brt#x_H0}^HLul{h8(dI4g3pgKv$#* zArUEKnp^b}>vQwl|;^bazb_P!!=8{QU@3gnGQC$$yhW72-8v$`voHw*mUnqkMHv({5oWjj+TfmbJ6 zab%3|PPP)IYkxFdGs{J(XhnAIcLUkeDdE~wlL0YgBAMh`^!|dSdIq&NJOnR}5hBL1 zjP?tyvjpdAk}l#@HS@_)GkUg$H)$TAZiHz1ztK`T`OQ&v-|M+wAOFl6PR zXNHc%pCtPdo|DP>y(n9%XJD|r2Qya##KWVtQsb(>=wZcZ!cy1~( zYq61|zRM8P9l2&I8i+ljZpOCOJLw)L7?*A0;gNu&;6VkSaDf<}$(^9Q#Dq#<$uvY? zNYORf`qTn@=NL>;8Qre3UPD;-+=}Z$jornMK4_K1bAi}r?PWZB?WPZSd{v>mNSUw? zcOQ99^D+A(5ewOYcW?739Di-j>FLUutouPki14kBsrb1+yAaPv@AtlSTfL$lsds1-rhfV)>wQTywP&q?8Iyj;s3=ny^Qy^e z@!qPlVh4=|5`{l8)$91<+iooe(c{U5kO|G7;zE2VtgwWS$`wf6qOjzF4<JhzqGsb&QY)Xi5TI9L40@^1*>Qg3Nq57MxFKK{UV)}?Q zL1@VW#l%KtmN6Kf>a!Z<7A*Zy4IvBO{hGdeCG+&bEb<%e_f9}xSs6?>NCwSA<(kCP zKhN~vc}}uiAWux!9em))6K(7`+h$ItyoH)U^Y+>z-rG*II>cJ5(>k!&nGkp^V4KVyt2CkgMkr&1s4KWoQ=w%+?!9f2P>nW` zPcL^eOg9dKTVb{Ug{R(#5&z!5vExw7k)%>$%U5LA^->_NB zEOK9JX_e*HjL$6!e47s)ZDkbu87XESBYBzzmrmL@*>!yoDc6oI`u9XNIgQ&_2(CR) zylFY1Sw1`&P0OP8=rW?y#@)e}X&ssQsVQi~ZO*5l`AEMq@4#rq7j88Y2v0L>aU{6U z1UHggmSq>93QZTMwP2JuugEzY=RAdFy%L7hwlHlWBYpBKgDRuoabi3O_^@$}@=%MN z3d%M$Jj=Ovt(Ffli_YU-`kl3o83!yd6qB-ndCfNw3NP~*I*aILv_@O{Y%_DpM3NhY z62^%^XP9E_cNnV&_dNPO>ln<<;Z-AlX&Lpgv%How>JXzeAP#-PlGQ$l3uI8#mo)qq z1~ZsEB_rsdb&g$;JcXEKK0~=8k#sjQPu#XiwC0EI*TSJzY2|0_grU&#BPY-rwr(JZ zEaa2~E%fKpCmF-IR{&CYftk~ZBFM~N!QSw!^0X7zS^@-fy`7A6tCH}!X1kNvHyXHn zIteQ%eC(CT)JpUL%SL@AAu6_-xf`_|J~>caKw=*&^H-+|R?%M;d6GIyDIqpKi+>k4 zFe3twgvWZZHae(@h(8)mra(=P&NfzOu{a_=NPFfc6A9}tI`ZylCn$9V<5`!%Akb-V z-a>>?#sG|Q#H{#$dcHJg+Qx4#aziCPfu)N%MC^up;=*`XTV?Q<#W=_jgFW#8ByP|r zy^|5nkQv|drTKsxFS1ve-XozfA3eQy`E-zVFAPh4Gj8=OF$Fz-Q29lzp)WXxNm`k~ zr)y#_*h?%5ni&(n2|=VN>-oJE)w~eXk$WlC@*PCt-`eR#x%0zKDd!V|y+w#l5;0XX z+Bx%uc{e<{^vwto51%jj2gQk(oH!!_AWXs~@uQ38B_I-HW{X8-dFeQhfz63+w~*v5 zFSt|aaeEhR7RD;0pJ^{63AM$g0G_SEgcka@P+{OGyOOv)zRjpv)XhRL)I?yTB%Q8J za-mVo4A#w9brzUAn7BhE%Av%iBXKWw;)ZI*Y7z?y4`b>V>U&YSQ)So#B{7F3F(OTE z)-bSUYyel5beN&E&Qdd;xAq*5M;KVwo~VuuT*ya%1Dl&ek`q}l|G=0+i7pUHwWkO6 z&sj@sRhNPWHdjhSy!DXu(g$10a*Anp1~$v*Ly(0QmbWzAeYv#J9Bq#6zM#?cP{~0) zDOf&d2p@X_vp+4d5VY3)wBqiTy2~u+mU$Q&ay3=R}Y+%=Tqg0 z{2Ji9CSpJv6GQ1aqt(uwjWtEr53GhX2-Qs+lXl%+w&XnA*1ENFhmZ@0f!{R``bG~kQ?mD zgr;9f_r9}Gg`t_{3;hS$TL}LiQ+xPTi71oQx=Yct}-(mQ!MX{)hJ-8mXotX{MlU1~%iB3#lZbtdk=B zR;&tV)2fVPpY<@bK!$RkmE6mAL|YU?3d@HP^+mzcPU(Wu_&8s~@j~M)RFpZbRUj0L z{`S-!R_5s;{=y5|>5gh^LZS66yfnnaau!yqP3?izE9j#X+Bh+_hgolr%fwbQc}&$1 zjj}lmj7J}cDPqn9cbf(34U;?qYa_r=g|jOX);s&!T!|)HX+^Y2NSL*83zb9u?4BxG zR0^O2C1tJ7GHNFKvs(MM??V~{+0rSstdG*W-y=?X_ooU^rT*rk%X^l)@qPQal}avG z0H@J!JG;r}Cta)#7I+k*5ev#v5h&EE+o>{1jr`e|uV;o8)B{Of)V>|>%0nZ{jHQD%0qD|c&bSJr6oVzyhc&&}61Cz7qX787Y#J;e9eC~&Af*D#A| z;@H&fSX5i3`DhCzbdPJq;lvSfLX#?2wCtcdn+1u#=%tZDvL{Lmz3#9lqFB%*9II57 zuA@ml+MIg7I3NFPJ15i|xqA=_Vy7z4>eRB#fzrd)PE<#onZ3tr6?rDgQATy@Of#6K z_7LrA`QWDZk#kONIXj74K8RonW@ExDDd5vxTq?$>6qCG6%XtL#Z z%KG@rCt%E!-?VwDF7Ss#+roWy5qcKY<}0oB(i*GGf9>rcm6QH){S$I?^$_}Ze!SNV zqMg`(*_KdVjByLd)`(7@kVx^R!{!%wi_}*7%#2K*WUHt4C?41MENG{5)2;i~$4rP7 zt(L!V-zcdn`&Ls---+7IdUy^*`VgL2jnK_Cx*jF2pbPc9WUa}~eZM2$L25-*{Pz7o z&l`dwn40$I)p#(QJ7tgIW_t*4GYwL%xrg%1gH|KGVSC+4D$^H(@&}RbL*vS&Q|enw z@f{8t$4X<1;?!^fEV6P|NhMrB^l{MC78D>X9~( z+VFaUIl6hiFlW5D)IP9|hG$>Nl_zDEUerm4X1`zS^V<|3r=UU&{d4VDnx?1oUpYNx z39+T23*7v~pt1hCPNw#+0KlR}uz{SMplzZI=tJo2R?2}07kO7aThEx5G(QgcCI`Q z>U~U*P&j=jn-}p50aP?>vN>dEYU&18D$%=c1u4zdo@sYiN)I>9ENVrbfchM)xIBk3 zR`$*cPr!%JV+JBwTe{I-X46LAq}mmqn~?#XiCqYyZ&AB;W$&1g7fs6U+Xh~1%^SeF zLD&2f5CL5+w;SpxhJS+Luqs%g?C2Htv~fky_VqFi*MdYxB2VRe4l@bqmHB)Rl3kSC zenML|Ljrpxh)c6m5JxgJbJkpVvLkg*#EzP1eON4(@_g&B{7o*yW54FUP zn&$cOyV3H;eD3u#vtH(Y2pNg&1;h#*BZ+|>?M3=K_-lNcQvYz=pmSW>mH0&$Lfvolc|Y$EJ)hL>@nE?wl>6&-E~ z7UXyLrx1BI?X(`jMm2c0Ba?X$VXdY?%)$s+!O4fmr?twTz3bFpard*-zAlb?pjFt0 z3?~hKW2oGsE8U&8%Ff{tDsaYRV;CwQBiS~7(SBEiP~eGAR^S_A&vS7`6NJ&Rsz`A-Z=*t%cBhM< zZpc>)WpJwHOelD$YzrxgLDgg_P~Xycuo}6DyvzTkRdC zKq7M~^Eu1}60TLb23LAdZL?(#DwXNI@_pu|+WLwn7Oaw7;&(m7SSZqFiPq7tDYy=e zarCS_#HaC@aV+)SPkuvBg^5ND)T2H5*7juqLA2fbtzefjFK=OfLhkHW0m-VgI3f@&VQ5pg zYnM8zrRl(cgmY;;Je4`JCFR`*oVh!s%1CF7|F4Do*tQNBsvB0`d>Gr74NSi;( zD(vvamdcen0^R28thS>s$wX;JPuY-C8R@(*G7K|$(%aEV!O->;O4$V3+CFcYZiVxh z*$_HLoiD4*-yUD&_CSA>LJzR>8^TB57+a;#wo%2YQt)@l*t=cd-CKN~lw4k?&(wQz zP4}lyzg-ybo?AZf!LBtSJZ6rMKpRm%6ag2OU~IFvUx99?IzMc>|7k1nZ#!$ZOBy%uu1U$ zg0_rXoOh6R&MM9Eu1~}mGHe`Mj1ppT2UP=i+l%ktfk#*&cW-y|V&n8}i2?FfNdn zR-g}D1X{4w!{(MLbx|kWybtyB+E@qYj@`hqLf$YVU@HX$I|e4jJhp+8#Hwwn2eEm< zQL09@G1=(e9z~{ztZkMX&yfCuBn#6vtESp4W8WfKT-=1((IuMCIn8I!1Y$6jxDi1_ z>pLhzvAf^^UO6LDOe*0c++;l!+^WH}=l`wK)_awdjrWjduECm*$5xleP(8G4 zYz*2WY^3wVhB6j~^@@BV=N`;iB%SX~#|(=C&wLruB5i9vDj#n^V06`xG;4D{n&#ui z@))}zHRw8PtBg2T>;qZMByx+snWoId;;q=`Xa`R)KF1!TjhYmh2qRj>w+9m&s zH7TeFniWKt*?;mxnfmYWj62(&e}Q8J-s=voqi(Tf~^g-*E!&h3!w`1%m|_yxWYRK3k)oEO z=U(2?Oos_mr!{?xLCBavgUB%JLWG>{ek3QZ6g0#$#*M5WW22@5XP+9;#G;!ae;eZ+ z1hPA3m%eoAvNa(=4;%86Ic&0c{{0U6N=v;C->{%u0xyx*~eH4qs`G6Tr@EC2#^b2gp zC;>yW@M@brydmgNad$-%!LW{*##V50s;9CA7WN_acxMt}Bzbxk3hHePbi!POwix$%bL)`yk=yKPRc-7RNuF0WU6Sin5U*K&U`Matft`)1)snOldO)UCpysfZA`O- z;kcF&b7v9D?)cKS)ou18O3wm&l`A9jH&e8z)?NH3OEc$O0hAUW&TKUXr85ffizqX|76p zqO(2F+*WsasiIhN8fznIFbG{WQcVgp6Ygy!JjR^`jGw8nm}m_dx@0d(^d48AX>rht zTnHY+Br)ikPf)^p9v+My!SL26F^w@hy&8KwsA;Bp+JCTz9Z8=utAelLf1=>o+!j66WjqR@2eVYNuvR`x z-rx^L+2nH^t8iqr)91B<#yxVNiT_nAK-&I>Qw)O#?v=f?WA>N9Xrhl%qiTU8>`$3n zu0@|3wLo=u-$fQi7M7gF;c!0gqg^xQ9lni8#hy2qoZ0y1PKl^JYb#3$PF^v=o~C&3 zZCkc%S4$BUoIrjtzBCsIDCu$i$H=pqaR~zKQY*rA=zIR-B9nTJ2>DTlZ3L#FA}#>3d-6 zSw*gg`nd*`g~5;-ED94}$d;A<6__u=6KARYnQ=4}rknz0tCeeF&N$n(dTe|h368-g z;*hy!QA4HxVNHzjjiZ(x{o@U~ugI!ZU?wMxqFmq2)DSEdT9b8n2qf*HYs%195mJW; zyD?X@b!fiIE18OtVOwFUvrtOZW4;rn$hfUh^N>dt35siBy;Eq$y|6HxHDOu?l`SdCq1tFrHH|#&MLNlW0G{tF8t_cP^P9FS~(Sa$U zNhy#6Vg>eK`X#ja zf5=PDllUm9mj`5COspUOYL94bN|)k;?5guWsm41DiOr_`Wo)O}^K$pl_G$(848lK? z9H=R{N73wY-%eL?3QLW?${i!NSZt!zLG>dLZrU}~MIc4VCj+zXjv>DrFb5^G2`6Dx?d>U1V%9$3O`jB5<+7KYip?)deP)JT;!NI+zbdWkqj|I~$H=g)< ztQgvvmn@Qk?-jc*e~J<_yPV0}BaQGwvj*AGs@fkR)g}-0rH9zmffh1is6A}gDaov^$Vt^?+jJ6} z-ig^~8j|{fGAO5t$W*8HOfQ!5OJgjM^c7ZasE8LKEjA}kcy6$NwH~RGGO81!BXR_V zOCoAPB%V_2uV{X&B`8)i?)U2VJ%J$3>*Czwzqia(@T`C3rS{KEBR%=*S#POu&O(1! zFK6@~p0oM}T_O{Z*;b~;baT0C;y%dLqHuf=ai4go6t-g%EbF6!VJS*ry4x0}_MvFc z_IrihO|!nxl&`XE_rQ^`@B(R|wn&zBSMKEC`(pjCel}HY?KxkPEk=6e4w9aE(L>C+ zw1igL`i$I2-x_Qa2(gsSW2nOC&up2pAagnLJaZOqZY+!2>#|9%`c{IMjIoPPaoVG$8n28C zr8Zl8${mawwz88%PMC#RSQtm~H@9KDD&G8{LC0+|vw8X8w`1KK57B;O-I{z_VGB^j z2GGkSc#NpU3doxFS|J1<_&1YT%)$$7dK5Z=PUod!{kH8Vf|&nYJ>Oti^^o+lTzSI(ddI5}{+6-Xg&1Y~W|q`&pTAkE?-jMpTTPY8dWN!M+o99h;>2=F3Cpn$zIzHo zxsM7Lx~{i(;v9$;^8Z*DO&{Ez?Oh*2*Q}|zOrwHQG{PcdoRzkD0h|Kw4m}rkdfjTl z4ZZE;0ezuq`#40yUUH&fFa^UtoBBl^Fn7$sX3Qry`!Fi1BJ2X|@uGTZ+!9D!C4}V1 z4Pgh<-tR5p)RaKRwia2<`^5IJ;(aqp4lP0~^!U@ zJ#8Cna{w)p;5#wyo>1vb=(p?(Tp#fGY-mgGcxMw%Y<)s<7&9SuE|V8EJxT!hRrLNC zSAZ%a^UoVdti8o?l+DJ&UMOrMYYs^B=i<&{BU!?P;)r>r!e+7}Pt85!Qb-N6a82*oYWj9+EPp4=Ka0}KaXxxo9*7yIWENw^|VkrJ6 zii?}n#Sk@?A*wFr-Olz!cQtq{t|7b42Aik+GYg zw>o=)T1u@%4p<8&WU_}%Y%8S355yQyVxDcSAmN3(5+aT2d=Hc8yJi3QDC}yhw3++b z8XGZ7(W39;=C%Z%G*n8BT@0<=_I-?69KzbErG$j8wH~ba@Aw6!Z+NTl@3;eQKJ_7V z+ly2SJhuC-0#41IQ)~;r{-H=LKY+wJ3&3p8fd=0?ro4_Z6mJfRtUX{kD1TI zU!}oQo#Th=B^$)-D`^P;6BX08&=q5n+9(ITsi#OYYl;Hr(CozNvaJ?Epg~}LEc&o{ zZjqJNlOBg&(#k`Vg6jEm{q9#o7+~caNa+>@fMCcK5 literal 0 HcmV?d00001 diff --git a/locale/fr_FR/LC_MESSAGES/messages.po b/locale/fr_FR/LC_MESSAGES/messages.po new file mode 100644 index 0000000..3cb8237 --- /dev/null +++ b/locale/fr_FR/LC_MESSAGES/messages.po @@ -0,0 +1,2179 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Unknown \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Recherche simple" + + +msgid "Advanced Search Form" +msgstr "Recherche avancée" + + +msgid "Server" +msgstr "Serveur" + + +msgid "Search for entries whose" +msgstr "Rechercher les entrées dont" + + +msgid "Base DN" +msgstr "Base DN" + + +msgid "Search Scope" +msgstr "Portée de la recherche" + + +msgid "Show Attributtes" +msgstr "Afficher les attributs" + + +msgid "Search" +msgstr "Rechercher" + + +msgid "Select a predefined search" +msgstr "Sélectionner une recherche prédéfinie" + + +msgid "Predefined Searches" +msgstr "Recherches prédéfinies" + + +msgid "No queries have been defined in config.php." +msgstr "Aucune requête n'a été définie dans config.php." + + +msgid "export results" +msgstr "exporter le resultat" + + +msgid "Unrecognized search result format: %s" +msgstr "Le format du résultat de la recherche n'est pas reconnu : %s" + + +msgid "Format" +msgstr "Format" + + +msgid "list" +msgstr "liste" + + +msgid "table" +msgstr "table" + + +msgid "Your config.php specifies an invalid value for $default_search_display: %s. Please fix it" +msgstr "Votre config.php spécifie une valeur non valide pour $default_search_display : %s. Veuillez corriger cela" + + +msgid "Page %d" +msgstr "Page %d" + + +msgid "Next Page" +msgstr "Page suivante" + + +msgid "The search found no results." +msgstr "Aucun résultat pour cette recherche." + + +msgid "Request feature" +msgstr "Demander une fonctionnalité" + + +msgid "Report a bug" +msgstr "Signaler une anomalie" + + +msgid "schema" +msgstr "schéma" + + +msgid "search" +msgstr "rechercher" + + +msgid "create" +msgstr "créer" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importer" + + +msgid "refresh" +msgstr "rafraîchir" + + +msgid "logout" +msgstr "se déconnecter" + + +msgid "Create new entry here" +msgstr "Créer une nouvelle entrée ici" + + +msgid "View schema for" +msgstr "Afficher le schéma pour" + + +msgid "Refresh all expanded containers for" +msgstr "Rafraîchir tous les conteneurs étendus pour" + + +msgid "Create a new entry on" +msgstr "Créer une nouvelle entrée sur" + + +msgid "new" +msgstr "nouveau" + + +msgid "View server-supplied information" +msgstr "Afficher les informations fournies par le serveur" + + +msgid "Import entries from an LDIF file" +msgstr "Importer les entrées d'un fichier LDIF" + + +msgid "Logout of this server" +msgstr "Se déconnecter de ce serveur" + + +msgid "Logged in as: " +msgstr "Connecté en tant que : " + + +msgid "This is not a valid DN." +msgstr "Ce n'est pas un DN valide." + + +msgid "This entry does not exist." +msgstr "Cette entrée n'existe pas." + + +msgid "read only" +msgstr "lecture seule" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Cette attribut a été mis en lecture seule par l'administrateur de phpLDAPadmin" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Impossible de déterminer la racine de votre arborescence LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Il semble que votre serveur LDAP a été configuré pour ne pas révéler sa racine." + + +msgid "Please specify it in config.php" +msgstr "Veuillez la spécifier dans config.php" + + +msgid "Create a new entry in" +msgstr "Crée une nouvelle entrée dans" + + +msgid "Login..." +msgstr "Connexion..." + + +msgid "login" +msgstr "connexion" + + +msgid "This base entry does not exist." +msgstr "L'entrée racine n'existe pas." + + +msgid "Create it?" +msgstr "La créer ?" + + +msgid "Delete this entry" +msgstr "Supprimer cette entrée" + + +msgid "You will be prompted to confirm this decision" +msgstr "Il vous sera demander de confirmer cette décision" + + +msgid "Copy or move this entry" +msgstr "Copier ou déplacer cette entrée" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Copier cet objet vers un autre emplacement, un nouveau DN, ou un autre serveur" + + +msgid "Export" +msgstr "Exporter" + + +msgid "export" +msgstr "exporter" + + +msgid "Save a dump of this object" +msgstr "Enregistrer un dump de cet objet" + + +msgid "Save a dump of this object and all of its children" +msgstr "Enregistrer un dump de cet objet et de tous ses sous-objets" + + +msgid "Export subtree" +msgstr "Exporter une sous-arborescence" + + +msgid "Create a child entry" +msgstr "Créer une sous-entrée" + + +msgid "Rename Entry" +msgstr "Renommer l'entrée" + + +msgid "Rename" +msgstr "Renommer" + + +msgid "rename" +msgstr "renommer" + + +msgid "Add" +msgstr "Ajouter" + + +msgid "View" +msgstr "Afficher" + + +msgid "View 1 child" +msgstr "Afficher 1 sous-entrée" + + +msgid "View %s children" +msgstr "Afficher %s sous-entrées" + + +msgid "Add new attribute" +msgstr "Ajouter un nouvel attribut" + + +msgid "Add new ObjectClass" +msgstr "Ajouter un nouvel ObjectClass" + + +msgid "Hide internal attributes" +msgstr "Cacher les attributs internes" + + +msgid "Show internal attributes" +msgstr "Afficher les attributs internes" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Cliquez pour afficher la définition de schéma pour le type d'attribut « %s »" + + +msgid "none" +msgstr "aucun" + + +msgid "No internal attributes" +msgstr "Aucun attribut interne" + + +msgid "This entry has no attributes" +msgstr "Cette entrée n'a aucun attribut" + + +msgid "Save Changes" +msgstr "Enregistrer les modifications" + + +msgid "add value" +msgstr "ajouter une valeur" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Ajouter une valeur additionnel à l'attribut « %s »" + + +msgid "Refresh" +msgstr "Rafraîchir" + + +msgid "Refresh this entry" +msgstr "Rafraîchir cette entrée" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Astuce : pour supprimer un attribut, videz le champ texte et enregistrez." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Astuce : pour afficher le schéma d'un attribut, cliquez sur le nom de l'attribut." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Quelques attributs (%s) ont été modifiés et sont surlignés ci-dessous." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Un attribut (%s) a été modifié et est surligné ci-dessous." + + +msgid "Viewing entry in read-only mode." +msgstr "Afficher les entrées en lecture seule." + + +msgid "no new attributes available for this entry" +msgstr "aucun nouvel attribut disponible pour cette entrée" + + +msgid "no new binary attributes available for this entry" +msgstr "aucun nouvel attribut binaire pour cette entrée" + + +msgid "Binary value" +msgstr "Valeur binaire" + + +msgid "Add new binary attribute" +msgstr "Ajouter un nouvel attribut binaire" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Note : « %s » est un alias de « %s »" + + +msgid "Required attribute for objectClass(es) %s" +msgstr "Attribut requis pour l(es) objectClass %s" + + +msgid "This attribute is required for the RDN." +msgstr "Cet attribut est requis pour le RDN." + + +msgid "download value" +msgstr "télécharger la valeur" + + +msgid "delete attribute" +msgstr "supprimer l'attribut" + + +msgid "true" +msgstr "vrai" + + +msgid "false" +msgstr "faux" + + +msgid "none, remove value" +msgstr "aucun, supprimer la valeur" + + +msgid "Really delete attribute" +msgstr "Voulez-vous vraiment supprimer l'attribut" + + +msgid "Add New Value" +msgstr "Ajouter une nouvelle valeur" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "Le serveur ne supporte pas complètement le protocole LDAP." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Votre version de PHP n'effectue pas correctement la requête." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "phpLDAPadmin ne sais pas comment récupérer le schéma de votre serveur." + + +msgid "Or lastly, your LDAP server doesnt provide this information." +msgstr "Ou alors, votre serveur LDAP ne fournit pas cette information." + + +msgid "Jump to an objectClass" +msgstr "Sauter vers un objectClass" + + +msgid "View the schema description for this objectClass" +msgstr "Afficher la description de schéma de cet objectClass" + + +msgid "Jump to an attribute type" +msgstr "Sauter vers un type d'attribut" + + +msgid "Jump to a matching rule" +msgstr "Sauter vers une règle correspondante" + + +msgid "Schema for server" +msgstr "Schema pour le serveur" + + +msgid "Required Attributes" +msgstr "Attributs requis" + + +msgid "required" +msgstr "requis" + + +msgid "Optional Attributes" +msgstr "Attributs optionnels" + + +msgid "Optional Binary Attributes" +msgstr "Attributs binaires optionnels" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Alias" + + +msgid "Description" +msgstr "Description" + + +msgid "no description" +msgstr "aucune description" + + +msgid "Name" +msgstr "Nom" + + +msgid "Equality" +msgstr "Égalité" + + +msgid "This objectClass is obsolete." +msgstr "Cet objectClass est obsolète." + + +msgid "Inherits from" +msgstr "Hérite de" + + +msgid "Inherited from" +msgstr "Hérité de" + + +msgid "Parent to" +msgstr "Parent de" + + +msgid "Jump to this objectClass definition" +msgstr "Sauter vers cette définition d'objectClass" + + +msgid "Matching Rule OID" +msgstr "Règle OID correspondante" + + +msgid "Syntax OID" +msgstr "Syntaxe OID" + + +msgid "not applicable" +msgstr "non applicable" + + +msgid "not specified" +msgstr "non spécifié" + + +msgid "character" +msgstr "caractère" + + +msgid "characters" +msgstr "caractères" + + +msgid "Used by objectClasses" +msgstr "Utilisé par ces objectClass" + + +msgid "Used by Attributes" +msgstr "Utilisé par ces attributs" + + +msgid "Maximum Length" +msgstr "Longueur maximum" + + +msgid "Attribute Types" +msgstr "Types d'attributs" + + +msgid "Syntaxes" +msgstr "Syntaxes" + + +msgid "Matching Rules" +msgstr "Règles correspondantes" + + +msgid "Obsolete" +msgstr "Obsolète" + + +msgid "Ordering" +msgstr "Triage" + + +msgid "Substring Rule" +msgstr "Règle de sous-chaîne" + + +msgid "Single Valued" +msgstr "Valeur simple" + + +msgid "Collective" +msgstr "Collectif" + + +msgid "User Modification" +msgstr "Modification utilisateur" + + +msgid "Usage" +msgstr "Usage" + + +msgid "Could not retrieve schema from" +msgstr "Impossible de récupérer le schéma de" + + +msgid "Type" +msgstr "Type" + + +msgid "No such schema item: \"%s\"" +msgstr "Aucun élément de schéma : « %s »" + + +msgid "A random password was generated for you" +msgstr "Un mot de passe aléatoire a été généré pour vous" + + +msgid "Entry %s deleted successfully." +msgstr "L'entrée %s a été supprimé avec succès." + + +msgid "You must specify a DN" +msgstr "Vous devez spécifier un DN" + + +msgid "Could not delete the entry: %s" +msgstr "Impossible de supprimer l'entrée : %s" + + +msgid "No such entry: %s" +msgstr "Aucune entrée: %s" + + +msgid "Delete %s" +msgstr "Supprimer %s" + + +msgid "Permanently delete all children also?" +msgstr "Supprimer aussi toutes les sous-entrées ?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Cette entrée est la racine d'une sous-arborescence contenant %s entrées." + + +msgid "view entries" +msgstr "afficher les entrées" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin peut supprimer récursivement cette entrée et toutes %s de ses sous-entrées. Voir ci-dessous pour une liste de toutes les entrées que cette action supprimera. Voulez-vous le faire ?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Note : ceci est potentiellement très dangereux et vous le faites à vos risques et périls. Cette opération ne peut être annulée. Prenez bien note que les alias, les référents, et d'autres choses pourront vous causer des problèmes." + + +msgid "Delete all %s objects" +msgstr "Supprimer tous les %s objets" + + +msgid "Recursive delete progress" +msgstr "Progression de la suppression récursive" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "L'entrée %s et la sous-arborescence ont été supprimé avec succès." + + +msgid "Failed to delete entry %s" +msgstr "La suppression de l'entrée %s a échoué" + + +msgid "List of entries to be deleted:" +msgstr "Liste des entrées à supprimer :" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Êtes-vous sûr de vouloir supprimer définitivement cet objet ?" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "L'attribut « %s » est marqué en lecture seule dans la configuration de phpLDAPadmin." + + +msgid "No attribute name specified." +msgstr "Aucun nom d'attribut défini." + + +msgid "No DN specified" +msgstr "Aucun DN spécifié" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Vous avez laissé la valeur de l'attribut blanc. Veuillez revenir et essayer de nouveau." + + +msgid "Failed to add the attribute." +msgstr "L'ajout de l'attribut a échoué." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "Le fichier que vous avez choisi est soit vide, soit il n'existe pas. Veuillez revenir et essayer de nouveau." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Erreur de sécurité : le fichier téléchargé est peut être corrompu." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Votre configuration de PHP a désactivé le téléchargement de fichiers. Veuillez vérifier php.ini avant de procéder." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "Le fichier que vous avez téléchargé est trop grand. Veuillez vérifier dans php.ini le réglage upload_max_size" + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "Le fichier que vous avez sélectionné est partiellement téléchargé, surement du à une erreur réseau." + + +msgid "Maximum file size: %s" +msgstr "Taille de fichier maximum : %s" + + +msgid "Modification successful!" +msgstr "Modification avec succès !" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Puisque vous avez changé de mot de passe, vous devez vous reconnecter avec votre nouveau mot de passe." + + +msgid "New Required Attributes" +msgstr "Nouveaux attributs requis" + + +msgid "This action requires you to add" +msgstr "Cette action nécessite que vous ajoutiez" + + +msgid "new attributes" +msgstr "nouveaux attributs" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instructions : afin d'ajouter ces objectClass à cette entrée, vous devez spécifier" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "ce que cet objectClass nécessite. Vous pouvez le faire dans ce formulaire." + + +msgid "Add ObjectClass and Attributes" +msgstr "Ajouter des objectClass et des attributs" + + +msgid "ObjectClasses" +msgstr "ObjectClass" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Cliquez afin de faire apparaitre une boîte de dialogue permettant de choisir une entrée graphiquement" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Vous ne pouvez effectuer de mises à jour tant que le serveur est en lecture seule" + + +msgid "Bad server id" +msgstr "Mauvais id de serveur" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Il n'y a pas assez d'informations pour se connecter au serveur. Veuillez vérifier votre configuration." + + +msgid "Could not connect to LDAP server." +msgstr "Impossible de se connecter au serveur LDAP." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Impossible de se connecter à « %s » sur le port « %s »" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Impossible d'effectuer ldap_mod_add operation." + + +msgid "Home" +msgstr "Accueil" + + +msgid "Help" +msgstr "Aide" + + +msgid "Success" +msgstr "Succès" + + +msgid "Server: " +msgstr "Serveur : " + + +msgid "Looking in: " +msgstr "Rechercher dans : " + + +msgid "No DN specified in query string!" +msgstr "Aucun DN spécifié dans la chaine de requete !" + + +msgid "Back Up..." +msgstr "Sauvegarde..." + + +msgid "no entries" +msgstr "aucune entrées" + + +msgid "Could not determine base DN" +msgstr "Impossible de déterminer le DN racine" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Ceci peut arriver pour différentes raisons, le plus probable est sans doute :" + + +msgid "Yes" +msgstr "oui" + + +msgid "No" +msgstr "Non" + + +msgid "Go" +msgstr "Aller à" + + +msgid "Delete" +msgstr "Supprimer" + + +msgid "Back" +msgstr "Revenir" + + +msgid "object" +msgstr "objet" + + +msgid "Delete all" +msgstr "Tout supprimer" + + +msgid "hint" +msgstr "astuce" + + +msgid "bug" +msgstr "anomalie" + + +msgid "warning" +msgstr "avertissement" + + +msgid "light" +msgstr "lumière" + + +msgid "Proceed >>" +msgstr "Procéder >>" + + +msgid "Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php" +msgstr "Veuillez définir $jpeg_temp_dir à un répertoire accessible en écriture dans le config.php de phpLDAPadmin" + + +msgid "Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there." +msgstr "Impossible d'écrire dans le répertoire $jpeg_temp_dir %s. Veuillez vérifier que votre serveur Web peut écrire des fichiers dedans." + + +msgid "Could not fetch jpeg data from LDAP server for attribute %s." +msgstr "Impossible de récupérer les données JPEG depuis votre serveur LDAP pour l'attribut %s." + + +msgid "Delete photo" +msgstr "Supprimer la photo" + + +msgid "value to" +msgstr "dans" + + +msgid "Distinguished Name" +msgstr "Nom distingué" + + +msgid "Current list of" +msgstr "Liste actuelle de" + + +msgid "values for attribute" +msgstr "valeur(s) pour l'attribut" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Note : vous obtiendrez une erreur « correspondance innapropriée » si vous n'avez pas défini de règle d'égalité sur votre serveur LDAP pour cette attribut." + + +msgid "Enter the value you would like to add:" +msgstr "Saisissez la valeur que vous voulez ajouter :" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Note : il peut vous être demandé de saisir les nouveaux attributs requis par ces objectClass" + + +msgid "Syntax" +msgstr "Syntaxe" + + +msgid "You left the destination DN blank." +msgstr "Vopus avez laissé le DN de destination vide." + + +msgid "The destination entry (%s) already exists." +msgstr "L'entrée de destination (%s)existe déjà." + + +msgid "The destination container (%s) does not exist." +msgstr "Le conteneur de destination (%s) n'existe pas." + + +msgid "The source and destination DN are the same." +msgstr "Les DN source et destination sont les mêmes." + + +msgid "Copying " +msgstr "Copie " + + +msgid "Recursive copy progress" +msgstr "progression de la copie récursive" + + +msgid "Building snapshot of tree to copy... " +msgstr "Construction d'un instantané de l'arborescence à copier... " + + +msgid "Copy successful! Would you like to " +msgstr "Copie avec succès ! Voulez-vous " + + +msgid "view the new entry" +msgstr "afficher la nouvelle entrée" + + +msgid "Failed to copy DN: " +msgstr "La copie du DN a échoué : " + + +msgid "Template" +msgstr "Modèle" + + +msgid "using template" +msgstr "en utilisant le modèle" + + +msgid "Go to %s" +msgstr "Aller vers %s" + + +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "C'est un ObjectClass structurel et il ne peut être supprimé." + + +msgid "structural" +msgstr "structurel" + + +msgid "to a new object" +msgstr "vers un nouvel objet" + + +msgid "Destination DN" +msgstr "DN de destination" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Le DN complet de la nouvelle entrée a créer lors de la copie de l'entrée source" + + +msgid "Destination Server" +msgstr "Serveur de destination" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Astuce : la copie entre différents serveurs ne fonctionne que si il n'y a aucune violations de schéma" + + +msgid "Recursively copy all children of this object as well." +msgstr "Copie récursive de toutes les sous-entrées de cet objet." + + +msgid "Recursive copy" +msgstr "Copie récursive" + + +msgid "Filter" +msgstr "Filtre" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Lors de la copie récursive, ne copier que les entrées qui correspondent à ce filtre" + + +msgid "Delete after copy (move):" +msgstr "Supprimer après la copie (déplacement) :" + + +msgid "Make sure your filter (above) will select all child records." +msgstr "Veuillez vous assurer que vos filtres (ci-dessus) sélectionneront tous les enregistrements fils." + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Vous avez laissez une valeur blanche pour l'attribut requis (%s)." + + +msgid "Redirecting..." +msgstr "Redirection..." + + +msgid "here" +msgstr "ici" + + +msgid "Could not add the object to the LDAP server." +msgstr "Impossible d'ajouter l'objet au serveur LDAP." + + +msgid "Create Object" +msgstr "Créer un objet" + + +msgid "Choose a template" +msgstr "Choisissez un modèle" + + +msgid "Select a template for the creation process" +msgstr "Sélectionner un modèle pour le processus de création" + + +msgid "Save as file" +msgstr "Enregistrer dans un fichier" + + +msgid "You left the RDN field blank." +msgstr "Vous avez laissé le champ RDN vide." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "Le conteneur que vous avez spécifié (%s) n'existe pas. Veuillez essayer de nouveau." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Vous n'avez pas sélectionné d'objectClass pour cet objet. Veuillez revenir et le faire." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Astuce : vous devez choisir un seul objectClass structurel (affiché en gras ci-dessus)" + + +msgid "This template is not allowed in this container." +msgstr "Ce modèle n'est pas autorisé dans ce conteneur." + + +msgid "This template has been disabled, possibly due to missing schema or missing template XML fields." +msgstr "Ce modèle a été désactivé, cela est sûrement du à un schéma manquant ou à des champs manquants dans le modèle XML." + + +msgid "Your config specifies a handler of \"%s\" for this template but this file is not readable because the permissions are too strict." +msgstr "Votre configuration spécifie un gestionnaire de « %s » pour ce modèle mais le fichier n'est pas lisible car les permissions sont trop strictes.." + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Étape 1 of 2 : nom et ObjectClass" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Étape 2 of 2 : spécifie les attributs et valeur" + + +msgid "Relative Distinguished Name" +msgstr "Nom distingué relatif" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(exemple : cn=MaNouvellePersonne)" + + +msgid "Container" +msgstr "Conteneur" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Vous n'êtes pas encore connecté au serveur sélectionné, vous ne pouvez pas effectuer de recherche dessus." + + +msgid "Click here to go to the login form" +msgstr "Cliquez ici pour aller au formulaire de connexion" + + +msgid "Unrecognized criteria option: " +msgstr "Option de critère non reconnue : " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Si vous voulez ajouter vos propres critères dans la liste. Veuillez vous assurer d'éditer search.php pour les gérer. Quitte." + + +msgid "Entries found: " +msgstr "Entrées trouvées : " + + +msgid "Filter performed: " +msgstr "Filtrage effectué : " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Recherche effectuée par phpLDAPadmin dans" + + +msgid "seconds" +msgstr "secondes" + + +msgid "The scope in which to search" +msgstr "La portée dans laquelle effectuer la recherche" + + +msgid "Sub (entire subtree)" +msgstr "Sub (sous-arborescence entière)" + + +msgid "One (one level beneath base)" +msgstr "One (un niveau au-dessous de la base)" + + +msgid "Base (base dn only)" +msgstr "Base (dn de base seulement)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Filtre de recherche LDAAP standard. Exemple : (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "Filtre de recherche" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Une liste d'attributs à afficher dans le résultat (séparé par des virgules)" + + +msgid "equals" +msgstr "est égal à" + + +msgid "starts with" +msgstr "commence par" + + +msgid "contains" +msgstr "contient" + + +msgid "ends with" +msgstr "se termine par" + + +msgid "sounds like" +msgstr "ressemble à" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Impossible de récupérer les informations LDAP depuis le serveur. Ceci est sans doute du à une anomalie dans votre version de PHP ou peut-être que votre serveur LDAP a un contrôle d'accès défini qui empèche les clients LDAP d'accéder au RootDSE." + + +msgid "Server info for: " +msgstr "Info serveur pour : " + + +msgid "Server reports the following information about itself" +msgstr "Le serveur rapporte les informations suivantes à propos de lui-même" + + +msgid "This server has nothing to report." +msgstr "Ce serveur n'a rien à rapporter." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "update_array est malformé. C'est peut-être une anomalie de phpLDAPadmin. Veuillez la rapporter." + + +msgid "Could not perform ldap_modify operation." +msgstr "Impossible d'effectuer une opération ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Voulez-vous effectuer ces modifications ?" + + +msgid "Attribute" +msgstr "Attribut" + + +msgid "Old Value" +msgstr "Ancienne valeur" + + +msgid "New Value" +msgstr "Nouvelle valeur" + + +msgid "[attribute deleted]" +msgstr "[attribut supprimé]" + + +msgid "Commit" +msgstr "Valider" + + +msgid "Cancel" +msgstr "Annuler" + + +msgid "You made no changes" +msgstr "Vous n'avez fait aucune modification" + + +msgid "Use the menu to the left to navigate" +msgstr "Utiliser le menu de gauche pour naviguer" + + +msgid "Credits" +msgstr "Crédits" + + +msgid "ChangeLog" +msgstr "ChangeLog" + + +msgid "Documentation" +msgstr "Documentation" + + +msgid "Donate" +msgstr "Donation" + + +msgid "phpLDAPadmin logo" +msgstr "Logo phpLDAPadmim" + + +msgid "Purge caches" +msgstr "Purger les caches" + + +msgid "No cache to purge." +msgstr "Aucun cache à purger." + + +msgid "Purged %s bytes of cache." +msgstr "%s octets de cache purgés." + + +msgid "Purge all cached data in phpLDAPadmin, including server schemas." +msgstr "Purge toutes les données cachées dans phpLDAPadmin, incluant les schémas de serveur." + + +msgid "Unsafe file name: " +msgstr "Nom de fichier non sûr : " + + +msgid "No such file: " +msgstr "Pas de tel fichier : " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Vous avez activé auto_uid_numbers pour %s dans votre configuration," +" mais vous n'avez pas spécifié de mécanisme auto_uid_number_mechanism. Veuillez corriger" +" ce problème." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Vous avez défini « auto_uid_number_mechanism » comme « uidpool »" +" dans votre configuration pour le serveur %s, mais vous n'avez pas spécifié le" +" auto_uid_number_uid_pool_dn. Veuillez le spécifier avant de procéder." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Il semble que le uidPool que vous avez spécifié dans votre configuration (« %s »)" +" n'existe pas." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Vous avez spécifié le « auto_uid_number_mechanism » comme « search » dans votre" +" configuration du serveur %s, mais vous n'avez pas spécifié le" +" « auto_uid_number_search_base ». Veuillez le spécifier avant de procéder." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Incapable de se connecter à %s avec votre crédentiel auto_uid . Veuillez vérifier votre fichier de configuration." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "Votre configuration de phpLDAPadmin spécifie un auto_uid_search_base non valide pour le serveur %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Vous avez spécifié une valeur non valide pour pour auto_uid_number_mechanism (\"%s\")" +" dans votre configuration. Seul « uidpool » et « search » sont valides." +" Veuillez corriger ce problème." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Erreur : Vous avez une erreur dans votre fichier de configuration. Les seuls trois valeurs autorisées" +" pour auth_type dans la section $servers sont « session », « cookie », et « config ». Vous avez saisi « %s »," +" qui n'est pas autorisée. " + + +msgid "Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file." +msgstr "Impossible de se connecter à %s avec votre crédentiel unique_attrs. Veuillez vérifier votre fichier de configuration." + + +msgid "Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry." +msgstr "Votre tentative d'ajouter %s (%s) à
    %s
    n'est pas autorisée. Cet attribut/valeur appartient à une autre entrée.

    Vous souhaitez rechercher cette entrée." + + +msgid "Your PHP install does not support TLS." +msgstr "Votre installation de PHP ne supporte pas TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Impossible de démarrer TLS. Veuillez vérifier la configuration de votre serveur LDAP." + + +msgid "Could not bind anonymously to server." +msgstr "Impossible de se connecter anonymement au serveur." + + +msgid "Anonymous Bind" +msgstr "Connexion anonyme" + + +msgid "Bad username or password. Please try again." +msgstr "Mauvais nom d'utilisateur ou mot de passe. Veuillez réessayer." + + +msgid "Successfully logged into server %s" +msgstr "Connexion au serveur %s avec succès" + + +msgid "Could not set cookie." +msgstr "Impossible de définir le cookie." + + +msgid "LDAP said: %s" +msgstr "LDAP dit : %s" + + +msgid "Error" +msgstr "Erreur" + + +msgid "browse" +msgstr "parcourir" + + +msgid "Your system crypt library does not support extended DES encryption." +msgstr "Votre bibliothèque système crypt ne supporte pas le chiffrement DES étendu." + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Votre bibliothèque système crypt ne supporte pas le chiffrement blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Votre bibliothèque système crypt ne supporte pas le chiffrement md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Votre installation PHP n'a pas de fonction mhash(). Impossible de faire de signature SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto contient des erreurs
    " + + +msgid "Error number: %s (%s)" +msgstr "Erreur numéro : %s (%s)" + + +msgid "Description: %s

    " +msgstr "Description : %s

    " + + +msgid "Error number: %s

    " +msgstr "Erreur numéro : %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Description : (aucune description disponible)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Est-ce une anomalie phpLDAPadmin ? Si c'est le cas, veuillez la rapporter." + + +msgid "Unrecognized error number: " +msgstr "Numéro d'erreur non reconnu: " + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +" " +" " +" " +"
    " +" Vous avez trouvé une anomalie phpLDAPadmin non fatale !
    Erreur :%s (%s)
    Fichier :%s ligne %s, appelant %s
    Versions :PLA : %s, PHP : %s, SAPI : %s" +"
    Serveur Web :%s
    Veuillez vérifier et voir si cette anomalie a déjà été rapportée ici.
    Si elle n'a pas été rapportée, vous pouver rapporter cette anomalie en cliquant ici.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Félicitations ! Vous avez trouvé une anomalie dans phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Erreur :%s
    Niveau :%s
    Fichier :%s
    Ligne :%s
    Appelant :%s
    Version PLA :%s
    Version PHP :%s
    SAPI PHP :%s
    Serveur Web :%s
    " +"
    " +" Veuillez rapporter cette anomalie en cliquant ci-dessous !" + + +msgid "Import LDIF File" +msgstr "Importer un fichier LDIF" + + +msgid "Select an LDIF file:" +msgstr "Sélectionner un fichier LDIF :" + + +msgid "Don't stop on errors" +msgstr "Ne pas vous arrêter sur les erreurs" + + +msgid "Adding..." +msgstr "Ajout..." + + +msgid "Deleting..." +msgstr "Suppression..." + + +msgid "Renaming..." +msgstr "Renommage..." + + +msgid "Modifying..." +msgstr "Modification..." + + +msgid "No version found. Assuming 1." +msgstr "Aucune version trouvé. Assume 1." + + +msgid "A valid dn line is required." +msgstr "Une ligne dn valide est requise." + + +msgid "Missing uploaded file." +msgstr "Fichier téléchargé manquant." + + +msgid "No LDIF file specified. Please try again." +msgstr "Aucun fichier LDIF spécifié. Veuillez essayer de nouveau." + + +msgid "Uploaded LDIF file is empty." +msgstr "Le fichier LDIF téléchargé est manquant." + + +msgid "empty" +msgstr "vide" + + +msgid "File" +msgstr "Fichier" + + +msgid "%s bytes" +msgstr "%s octets" + + +msgid "Failed" +msgstr "Échoue" + + +msgid "LDIF Parse Error" +msgstr "Erreur d'analyse LDIF" + + +msgid "Could not add object:" +msgstr "Impossible d'ajouter un objet :" + + +msgid "Could not rename object:" +msgstr "Impossible de renommer l'objet :" + + +msgid "Could not delete object:" +msgstr "Impossible de supprimer l'objet :" + + +msgid "Could not modify object:" +msgstr "Impossible de modifier l'objet :" + + +msgid "Line Number:" +msgstr "Numéro de ligne :" + + +msgid "Line:" +msgstr "Ligne :" + + +msgid "Export format" +msgstr "Format d'exportation" + + +msgid "Line ends" +msgstr "Les lignes se finissent par" + + +msgid "You must choose an export format." +msgstr "Vous devez choisir un format d'exportation." + + +msgid "Invalid export format" +msgstr "Format d'exportation non valide" + + +msgid "No available exporter found." +msgstr "Aucun filtre d'exportation trouvé." + + +msgid "Encountered an error while performing search." +msgstr "Une erreur est survenue lors de la recherche." + + +msgid "Showing results %s through %s." +msgstr "Affichage des résultats %s à %s." + + +msgid "Searching..." +msgstr "Recherche en cours..." + + +msgid "Notice, search size limit exceeded." +msgstr "Attention, la taille limite de recherche est dépassée." + + +msgid "Entry" +msgstr "Entrée" + + +msgid "LDIF Export for: %s" +msgstr "Exportation LDIF pour : %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Généré par phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) pour %s" + + +msgid "Total Entries" +msgstr "Entrées totales" + + +msgid "DSLM Export for: %s" +msgstr "Exportation DSLM pour : %s" + + +msgid "Include system attributes" +msgstr "Inclure les attributs système" + + +msgid "CSV (Spreadsheet)" +msgstr "CSV (feuille de calcul)" + + +msgid "You left the password blank." +msgstr "Vous avez laissé le mot de passe vide." + + +msgid "No one is logged in to that server." +msgstr "Personne n'est connecté sur ce serveur." + + +msgid "Could not logout." +msgstr "Impossible de se déconnecter." + + +msgid "Unknown auth_type: %s" +msgstr "auth_type inconnu : %s" + + +msgid "Logged out successfully from server %s" +msgstr "Déconnexion du serveur avec succès %s" + + +msgid "Authenticate to server %s" +msgstr "Authentification auprès du serveur %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Avertissement : la connexion Web n'est pas chiffré." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Vous n'utilisez pas « https ». Le navigateur Web transmettra les informations de connexion en clair." + + +msgid "Login DN" +msgstr "DN de connexion" + + +msgid "User name" +msgstr "Nom d'utilisateur" + + +msgid "Password" +msgstr "Mot de passe" + + +msgid "Authenticate" +msgstr "Authentification" + + +msgid "Sorry, you are not allowed to use phpLDAPadmin with this LDAP server." +msgstr "Désolé, vous n'êtes pas autorisé à utiliser phpLDAPadmin avec ce serveur LDAP." + + +msgid "Entry Chooser" +msgstr "Sélecteur d'entrées" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Vous avez besoin de configurer phpLDAPadmin. Éditez le fichier « config.php » pour le faire. un exemple de fichier de configuration est fournit dans « config.php.example »" + + +msgid "Deletes not allowed in read only mode." +msgstr "Supprimer n'est pas autorisé en lecture seule." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Erreur lors de l'applel de mass_delete.php. Il manque mass_delete dans les variables POST." + + +msgid "mass_delete POST var is not an array." +msgstr "La variable POST mass_delete n'est pas un tableau." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "La suppression de masse n'est pas activé. Veuillez l'activer dans config.php avant de procéder." + + +msgid "Mass Deleting" +msgstr "Suppression de masse" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Progression de la suppression sur le serveur « %s »" + + +msgid "Malformed mass_delete array." +msgstr "Tableau mass_delete malformé." + + +msgid "You did not select any entries to delete." +msgstr "Vous n'avez sélectionné aucune entrées à supprimer." + + +msgid "Deleting %s" +msgstr "Suppression de %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s sur %s entrées n'ont pu être effacées." + + +msgid "All entries deleted successfully." +msgstr "Toutes les entrées ont été supprimées avec succès." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Confirmer la suppression de masse de %s entrées sur le serveur %s" + + +msgid "Yes, delete!" +msgstr "Oui, supprimer !" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Vous ne pouvez renommer une entrée qui a des sous-entrées (cad, l'opération de renommage n'est pas autorisé sur des entrées non terminales)" + + +msgid "You did not change the RDN" +msgstr "Vous n'avez pas modifié le RDN" + + +msgid "Invalid RDN value" +msgstr "Valeur RDN non valide" + + +msgid "Could not rename the entry" +msgstr "Impossible de renommer l'entrée" + + +msgid "Passwords match!" +msgstr "Correspondance du mot de passe !" + + +msgid "Passwords do not match!" +msgstr "Les mots de passe ne correspondent pas !" + + +msgid "Password Checker Tool" +msgstr "Outil de vérification de mot de passe" + + +msgid "To" +msgstr "Vers" + + +msgid "Using the" +msgstr "En utilisant le" + + +msgid "You may switch to the " +msgstr "Vous pouvez basculer vers " + + +msgid "default template" +msgstr "modèle par défaut" + + +msgid "User Account (posixAccount)" +msgstr "Compte utilisateur (posixAccount)" + + +msgid "Address Book Entry (inetOrgPerson)" +msgstr "Entrée de carnet d'adresses (inetOrgPerson)" + + +msgid "Address Book Entry (mozillaOrgPerson)" +msgstr "Entrée de carnet d'adresses (mozillaOrgPerson)" + + +msgid "Kolab User Entry" +msgstr "Entrée d'utilisateur Kolab" + + +msgid "Organisational Unit" +msgstr "Unité organisationnelle" + + +msgid "New Organisational Unit" +msgstr "Nouvelle unité organisationnelle" + + +msgid "Organisational Role" +msgstr "Rôle organisationnel" + + +msgid "Posix Group" +msgstr "Groupe Posix" + + +msgid "Samba NT Machine" +msgstr "Machine NT Samba" + + +msgid "Samba 3 NT Machine" +msgstr "Machine NT Samba 3" + + +msgid "Samba User" +msgstr "Utilisateur Samba" + + +msgid "Samba 3 User" +msgstr "Utilisateur Samba 3" + + +msgid "Samba 3 Group Mapping" +msgstr "Groupe de mappage Samba 3" + + +msgid "DNS Entry" +msgstr "Entrée DNS" + + +msgid "Simple Security Object" +msgstr "Object de sécurité simple" + + +msgid "Courier Mail Account" +msgstr "Compte de messagerie" + + +msgid "Courier Mail Alias" +msgstr "Alias de compte de messagerie" + + +msgid "LDAP Alias" +msgstr "Alias LDAP" + + +msgid "Sendmail Cluster" +msgstr "Cluster Sendmail" + + +msgid "Sendmail Domain" +msgstr "Domaine Sendmail" + + +msgid "Sendmail Alias" +msgstr "Alias Sendmail" + + +msgid "Sendmail Virtual Domain" +msgstr "Domaine virtuel Sendmail" + + +msgid "Sendmail Virtual Users" +msgstr "Utilisateurs virtuels Sendmail" + + +msgid "Sendmail Relays" +msgstr "Relais Sendmail" + + +msgid "Custom" +msgstr "personnalisé" + + +msgid "My Samba domain Name" +msgstr "Mon nom de domaine Samba" + + +msgid "Administrators" +msgstr "Administrateurs" + + +msgid "Users" +msgstr "Utilisateurs" + + +msgid "Guests" +msgstr "Invités" + + +msgid "Power Users" +msgstr "Utilisateurs avec pouvoir" + + +msgid "Account Operators" +msgstr "Opérateurs de comptes" + + +msgid "Server Operators" +msgstr "Opérateurs de serveurs" + + +msgid "Print Operators" +msgstr "Opérateurs d'impression" + + +msgid "Backup Operators" +msgstr "Opérateurs de sauvegarde" + + +msgid "Replicator" +msgstr "Duplicateurs" + + +msgid " Unable to create the Samba passwords. Please, check the configuration in template_config.php" +msgstr " Impossible de créer les mots de passe Samba. Veuillez vérifier la configuration dans template_config.php" + + +msgid "Error: You have an error in your samba confguration." +msgstr "Erreur : vous avez une erreur dans votre confguration Samba." + + +msgid "Error: A name and a sid for your samba domain need to be provided." +msgstr "Erreur : un nom et un sid doivent être fournit pour votre domaine Samba." + + +msgid "Error: No name provided for samba domain." +msgstr "Erreur : aucun nom fournit pour le domaine Samba." + + +msgid "Error: No sid provided for samba domain." +msgstr "Erreur : aucun sid fournit pour le domaine Samba." + + +msgid "Samba Account" +msgstr "Compte Samba" + + +msgid "samba account" +msgstr "compte samba" + + +msgid "New User Account" +msgstr "Nouveau compte utilisateur" + + +msgid "Hint: To customize this template, edit the file templates/creation/new_user_template.php" +msgstr "astuce : pour personnaliser ce modèle, éditez le fichier templates/creation/new_user_template.php" + + +msgid "First name" +msgstr "Prénom" + + +msgid "Last name" +msgstr "Nom de famille" + + +msgid "first" +msgstr "premier" + + +msgid "last" +msgstr "dernier" + + +msgid "State" +msgstr "État" + + +msgid "Common name" +msgstr "Nom commun" + + +msgid "Encryption" +msgstr "Chiffrement" + + +msgid "Login Shell" +msgstr "Shell de connexion" + + +msgid "Home Directory" +msgstr "Dossier personnel" + + +msgid "UID Number" +msgstr "UID" + + +msgid "(automatically determined)" +msgstr "(déterminé automatiquement)" + + +msgid "Group" +msgstr "Groupe" + + +msgid "GID Number" +msgstr "GID" + + +msgid "User ID" +msgstr "ID utilisateur" + + +msgid "Your passwords don't match. Please go back and try again." +msgstr "Vos mots de passe ne correspondent pas. Veuillez revenir et réessayer." + + +msgid "You cannot leave the %s blank. Please go back and try again." +msgstr "Vous ne pouvez laisser %s vide. Veuillez revenir et réessayer." + + +msgid "You can only enter numeric values for the %s field. Please go back and try again." +msgstr "Vous ne pouvez entrez que des valeurs numériques pour le champ %s. Veuillez revenir et réessayer." + + +msgid "The container you specified (%s) does not exist. Please go back and try again." +msgstr "Le conteneur que vous avez spécifié (%s) n'existe pas. Veuillez revenir et réessayer." + + +msgid "Confirm account creation" +msgstr "Confirmer la création du compte" + + +msgid "[secret]" +msgstr "[secret]" + + +msgid "Create Account" +msgstr "Créer un compte" + + +msgid "Verify" +msgstr "Vérifier" + + +msgid "New Posix Group" +msgstr "Nouveau groupe Posix" + + +msgid "New Address Book Entry" +msgstr "Nouvelle entrée de carnet d'adresses" + + +msgid "Organisation" +msgstr "Organisation" + + +msgid "Address" +msgstr "Adresse" + + +msgid "City" +msgstr "Ville" + + +msgid "Postal code" +msgstr "Code postal" + + +msgid "Street" +msgstr "Rue" + + +msgid "Work phone" +msgstr "Téléphone (bureau)" + + +msgid "Fax" +msgstr "Fax" + + +msgid "Mobile" +msgstr "Mobile" + + +msgid "Email" +msgstr "Courriel" + + +msgid "You cannot leave the Common Name blank. Please go back and try again." +msgstr "Vousne pouvez pas laissez le Nom commun vide. Veuiller revenir er réessayer." + + +msgid "Confirm entry creation:" +msgstr "Confirmer la création de l'entrée :" + + +msgid "Create Address" +msgstr "Créer l'adresse" + + +msgid "Check password..." +msgstr "Vérifier l'adresse..." + + +msgid "(Auto evaluated on submission.)" +msgstr "(Évaluation automatique lors de la soumission.)" + + +msgid "Compare" +msgstr "Comparer" + + +msgid "Comparing the following DNs" +msgstr "Compararaison des DNs suivants" + + +msgid "Compare another DN with" +msgstr "Comparer un autre DN avec" + + +msgid "with " +msgstr "avec " + + +msgid "Source DN" +msgstr "DN source" + + +msgid "Compare this DN with another" +msgstr "Comparer cn DN avec un autre" + + +msgid "Switch Entry" +msgstr "Basculer l'entrée" + + +msgid "No Value" +msgstr "Aucune valeur" + + +msgid "Compare with another entry" +msgstr "Comparer avec une autre entrée" + + +msgid "You need one of the following ObjectClass(es) to add this attribute %s." +msgstr "Vous avez besoin d'un autre ObjectClass(es) pour ajouter cet attribut %s." + + +msgid "Your Session timed out after" +msgstr "Votre session s'est terminé avec" + + +msgid "min. of inactivity. You have been automatically logged out." +msgstr "min. d'inactivité. Vous avez été automatiquement déconnecté." + + +msgid "To log back in please click on the following link:" +msgstr "Pour vous reconnecter, veuillez cliquer sur le lien suivant :" + + +msgid "(Session timed out. Automatically logged out.)" +msgstr "(Session expirée. Déconnexion automatique.)" + + +msgid "Inactivity will log you off at %s" +msgstr "L'inactivité vous déconnectera à %s" + + diff --git a/locale/hu_HU/LC_MESSAGES/messages.mo b/locale/hu_HU/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..d03eb46006f336b6e14b97e759ec603ef72a5bc7 GIT binary patch literal 36814 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 LJ7cj%lKg)G81V1l literal 0 HcmV?d00001 diff --git a/locale/hu_HU/LC_MESSAGES/messages.po b/locale/hu_HU/LC_MESSAGES/messages.po new file mode 100644 index 0000000..d6fea21 --- /dev/null +++ b/locale/hu_HU/LC_MESSAGES/messages.po @@ -0,0 +1,1546 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: VOROSBARANYI Zoltan \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Egyszerű keresési űrlap" + + +msgid "Advanced Search Form" +msgstr "Részletes keresési űrlap" + + +msgid "Server" +msgstr "Kiszolgáló" + + +msgid "Search for entries whose" +msgstr "Bejegyzések keresése, ahol:" + + +msgid "Base DN" +msgstr "Alap-DN" + + +msgid "Search Scope" +msgstr "A keresés hatásköre" + + +msgid "Show Attributtes" +msgstr "Attribútumok megjelenítése" + + +msgid "Search" +msgstr "Keresés" + + +msgid "Select a predefined search" +msgstr "Előre definiált keresés kiválasztása" + + +msgid "Predefined Searches" +msgstr "Előre definiált keresések" + + +msgid "No queries have been defined in config.php." +msgstr "Nincs keresés definiálva a config.php-ben." + + +msgid "Request feature" +msgstr "Új tulajdonság kérése" + + +msgid "Report a bug" +msgstr "Hiba jelentése" + + +msgid "schema" +msgstr "séma" + + +msgid "search" +msgstr "keresés" + + +msgid "create" +msgstr "létrehozás" + + +msgid "info" +msgstr "infó" + + +msgid "import" +msgstr "import" + + +msgid "refresh" +msgstr "frissítés" + + +msgid "logout" +msgstr "kilépés" + + +msgid "Create new entry here" +msgstr "Új bejegyzés" + + +msgid "View schema for" +msgstr "Séma megtekintése:" + + +msgid "Refresh all expanded containers for" +msgstr "Az összes kiterjesztett tároló frissítése:" + + +msgid "Create a new entry on" +msgstr "Új bejegyzés létrehozása:" + + +msgid "new" +msgstr "új" + + +msgid "View server-supplied information" +msgstr "A kiszolgáló információinak megtekintése" + + +msgid "Import entries from an LDIF file" +msgstr "LDIF-állományból bejegyzések importálása" + + +msgid "Logout of this server" +msgstr "Kilépés ebből a kiszolgálóból" + + +msgid "Logged in as: " +msgstr "Belépve mint" + + +msgid "read only" +msgstr "csak olvasható" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "A phpLDAPadmin adminisztrátora ezt az attribútumot csak olvashatóra állította" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Nem tudom megállapítani az LDAP-fa gyökerét." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Az LDAP-kiszolgálót úgy konfigurálták, hogy ne fedje föl az LDAP-fa gyökerét." + + +msgid "Please specify it in config.php" +msgstr "Kérem adja meg a config.php-ban" + + +msgid "Login..." +msgstr "Belépés..." + + +msgid "login" +msgstr "belépés" + + +msgid "Delete this entry" +msgstr "A bejegyzés törlése" + + +msgid "You will be prompted to confirm this decision" +msgstr "Ezt a döntést majd még meg kell erősíteni" + + +msgid "Copy or move this entry" +msgstr "A bejegyzés másolása" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Az objektum másolása más helyre új DN-nel és/vagy másik kiszolgálóra" + + +msgid "Export" +msgstr "Exportálás" + + +msgid "Save a dump of this object" +msgstr "Az objektum kiírása" + + +msgid "Save a dump of this object and all of its children" +msgstr "Az objektum és az összes gyermekének kiírása" + + +msgid "Export subtree" +msgstr "Részfa exportálása" + + +msgid "Create a child entry" +msgstr "Gyermekbejegyzés létrehozása" + + +msgid "Rename Entry" +msgstr "A bejegyzés átnevezése" + + +msgid "Rename" +msgstr "Átnevezés" + + +msgid "Add" +msgstr "Hozzáadás" + + +msgid "View" +msgstr "Megtekintés" + + +msgid "View 1 child" +msgstr "A gyermek megtekintése (1 darab)" + + +msgid "View %s children" +msgstr "A gyermekek megtekintése (%s darab)" + + +msgid "Add new attribute" +msgstr "Új attribútum hozzáadása" + + +msgid "Add new ObjectClass" +msgstr "Új objektumosztály hozzáadása" + + +msgid "Hide internal attributes" +msgstr "Belső attribútumok elrejtése" + + +msgid "Show internal attributes" +msgstr "Belső attribútumok megjelenítése" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Kattintással megjelenik a(z) %s attribútumtípus sémabeli definíciója" + + +msgid "none" +msgstr "nincs" + + +msgid "No internal attributes" +msgstr "Nincs belső attribútum" + + +msgid "This entry has no attributes" +msgstr "A bejegyzésnek nincs attribútuma" + + +msgid "Save Changes" +msgstr "Változások mentése" + + +msgid "add value" +msgstr "érték hozzáadása" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Érték hozzáadása a(z) %s attribútumhoz" + + +msgid "Refresh" +msgstr "Frissítés" + + +msgid "Refresh this entry" +msgstr "Bejegyzés frissítése" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Tipp: Az attribútum törléséhez előbb törölje a mezőt, majd kattintson a változtatások mentésére." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Tipp: Az attribútum sémájának megtekintéséhez kattintson az attribútum nevére." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Módosult néhány attribútum (%s), s ezek kiemelve szerepelnek az alábbiakban." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Módosult egy attribútum (%s), s ez kiemelve szerepel az alábbiakban. " + + +msgid "Viewing entry in read-only mode." +msgstr "A bejegyzés megtekintése csak olvasható üzemmódban." + + +msgid "no new attributes available for this entry" +msgstr "a bejegyzéshez nem tartozik új attribútum" + + +msgid "no new binary attributes available for this entry" +msgstr "a bejegyzéshez nem tartozik új bináris attribútum" + + +msgid "Binary value" +msgstr "Bináris érték" + + +msgid "Add new binary attribute" +msgstr "Új bináris attribútum hozzáadása" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "A(z) %s álneve a(z) %s attribútumnévnek" + + +msgid "download value" +msgstr "érték letöltése" + + +msgid "delete attribute" +msgstr "attribútum törlése" + + +msgid "true" +msgstr "igaz" + + +msgid "false" +msgstr "hamis" + + +msgid "none, remove value" +msgstr "nincs, érték törése" + + +msgid "Really delete attribute" +msgstr "Attribútum tényleges törlése" + + +msgid "Add New Value" +msgstr "Új érték hozzáadása" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "A kiszolgáló nem beszéli elég jól az LDAP-protokollt" + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Ez a PHP-verzió nem tudja szabályosan végrehajtani a keresést." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "Vagy végül is a phpLDAPadmin nem tudja hogyan kell a sémát letölteni erről a kiszolgálóról." + + +msgid "Jump to an objectClass" +msgstr "Ugrás az objektumosztályhoz" + + +msgid "Jump to an attribute type" +msgstr "Ugrás az attribútumtípushoz" + + +msgid "Jump to a matching rule" +msgstr "Ugrás az illesztőszabályhoz" + + +msgid "Schema for server" +msgstr "Séma:" + + +msgid "Required Attributes" +msgstr "Kötelező attribútumok" + + +msgid "Optional Attributes" +msgstr "Opcionális attribútumok" + + +msgid "Optional Binary Attributes" +msgstr "Opcionális bináris attribútumok" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Álnevek (alias)" + + +msgid "Description" +msgstr "Leírás" + + +msgid "no description" +msgstr "nincs leírás" + + +msgid "Name" +msgstr "Név" + + +msgid "Equality" +msgstr "Egyenlőség" + + +msgid "This objectClass is obsolete." +msgstr "Ez az objektumosztály maradi" + + +msgid "Inherits from" +msgstr "Kitől öröklődik" + + +msgid "Inherited from" +msgstr "Kitől örökölte:" + + +msgid "Parent to" +msgstr "Kinek a szülője" + + +msgid "Jump to this objectClass definition" +msgstr "Ugrás ehhez az objektumosztály-definícióhoz" + + +msgid "Matching Rule OID" +msgstr "Illesztőszabály-OID" + + +msgid "Syntax OID" +msgstr "Szintaxis-OID" + + +msgid "not applicable" +msgstr "nem alkalmazható" + + +msgid "not specified" +msgstr "nincs megadva" + + +msgid "character" +msgstr "karakter" + + +msgid "Used by objectClasses" +msgstr "Mely osztályok használják" + + +msgid "Used by Attributes" +msgstr "Mely attribútumok használják" + + +msgid "Maximum Length" +msgstr "Maximális hossz" + + +msgid "Syntaxes" +msgstr "Szintaxisok" + + +msgid "Matching Rules" +msgstr "Illesztőszabályok" + + +msgid "Obsolete" +msgstr "Maradi" + + +msgid "Ordering" +msgstr "Sorbarendezés" + + +msgid "Substring Rule" +msgstr "Alfüzér-szabály" + + +msgid "Single Valued" +msgstr "Egyértékű" + + +msgid "Collective" +msgstr "Kollektív" + + +msgid "User Modification" +msgstr "Felhasználó-módosítás" + + +msgid "Usage" +msgstr "Használat" + + +msgid "Could not retrieve schema from" +msgstr "Nem tudom a sémát elérni," + + +msgid "Type" +msgstr "Típus" + + +msgid "Entry %s deleted successfully." +msgstr "A(z) %s bejegyzés sikeresen törölve." + + +msgid "You must specify a DN" +msgstr "A DN-t meg kell adni" + + +msgid "Could not delete the entry: %s" +msgstr "Nem tudom a(z) %s bejegyzést törölni" + + +msgid "No such entry: %s" +msgstr "Nincs ilyen bejegyzés: %s" + + +msgid "Delete %s" +msgstr "A(z) %s törlése" + + +msgid "Permanently delete all children also?" +msgstr "Az összes gyermeket is töröljem?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Ez a bejegyzés egy %s bejegyzést tartalmazó részfa gyökere." + + +msgid "view entries" +msgstr "bejegyzések megtekintése" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "Rekurzív módon törölhetem ezt a bejegyzést, és mind a(z) %s gyermekét. Lásd alul a bejegyzéseket, amelyeket törölnék. Óhajtja törölni?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Megj.: Ez a törlés veszélyes lehet. A műveletet nem lehet visszavonni!" + + +msgid "Delete all %s objects" +msgstr "Mind a(z) %s objektum törlése" + + +msgid "Recursive delete progress" +msgstr "A rekurzív törlés folyamatban" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "A(z) %s bejegyzés és a részfa sikeresen törölve." + + +msgid "Failed to delete entry %s" +msgstr "A(z) %s bejegyzés törlése sikertelen" + + +msgid "List of entries to be deleted:" +msgstr "A törlendő bejegyzések listája:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Biztos törölni óhajtja ezt az objektumot?" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "A(z) %s attribútum csak olvasható a phpLDAPadmin konfigurációja szerint." + + +msgid "No attribute name specified." +msgstr "Nincs megadva az attribútumnév." + + +msgid "No DN specified" +msgstr "Nincs megadva a DN" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Az attribútumértéket üresen hagyta. Kérem lépjen vissza és próbálja újra." + + +msgid "Failed to add the attribute." +msgstr "Nem tudtam az attribútumot hozzáadni." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "A kiválasztott állomány vagy üres, vagy nem létezik. Kérem lépjen vissza és próbálja újra." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Biztonsági hiba: a feltöltendő állomány veszélyes elemeket tartalmazhat." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "A PHP-konfiguráció tiltja az állományok feltöltését. Kérem ellenőrizze a php.ini állományt." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "A feltöltött állomány túl nagy. Kérem ellenőrizze a php.ini állományban a upload_max_size beállítást." + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "A kiválasztott állomány csak részben töltődött föl valószínűleg hálózati hiba miatt." + + +msgid "Maximum file size: %s" +msgstr "Maximális állományméret: %s" + + +msgid "Modification successful!" +msgstr "A módosítás sikerült!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Mivel megváltoztatta a jelszót most újra be kell jelentkeznie az új jelszóval." + + +msgid "New Required Attributes" +msgstr "Új kötelező attribútumok" + + +msgid "This action requires you to add" +msgstr "Ez a művelet megközeveteli hogy hozzáadjon" + + +msgid "new attributes" +msgstr "új attribútumo(ka)t" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Az új objektumosztály hozzáadásához" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "kell megadni ezen az űrlapon." + + +msgid "Add ObjectClass and Attributes" +msgstr "Objektumosztály és attribútumok hozzáadása" + + +msgid "ObjectClasses" +msgstr "Objektumosztályok" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Kattintásra egy új ablak jön föl, amelyben egy bejegyzést választhat a DN alapján." + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Nem lehet módosítani mikor a kiszolgáló csak olvasható üzemmódban van" + + +msgid "Bad server id" +msgstr "Hibás kiszolgáló-azonosító" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Kevés az adat a belépéshez. Kérem ellenőrizze a konfigurációt." + + +msgid "Could not connect to LDAP server." +msgstr "Nem tudok csatlakozni az LDAP-kiszolgálóhoz." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Nem tudok csatlakozni a(z) %s géphez a(z) %s porton." + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Nem tudom végrehajtani az ldap_mod_add műveletet." + + +msgid "Success" +msgstr "Siker" + + +msgid "Server: " +msgstr "Kiszolgáló: " + + +msgid "Looking in: " +msgstr "Keresés itt: " + + +msgid "No DN specified in query string!" +msgstr "Nincs megadva a DN a keresési füzérben!" + + +msgid "Back Up..." +msgstr "Vissza..." + + +msgid "no entries" +msgstr "nics bejegyzés" + + +msgid "Could not determine base DN" +msgstr "Nem tudom az alap-DN-t meghatározni" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Ez több dolog miatt történhet, például:" + + +msgid "Yes" +msgstr "Igen" + + +msgid "No" +msgstr "Nem" + + +msgid "Go" +msgstr "Mehet" + + +msgid "Delete" +msgstr "Törlés" + + +msgid "Back" +msgstr "Vissza" + + +msgid "object" +msgstr "objektum" + + +msgid "Delete all" +msgstr "Minden törlése" + + +msgid "hint" +msgstr "tipp" + + +msgid "bug" +msgstr "hiba" + + +msgid "warning" +msgstr "figyelmeztetés" + + +msgid "light" +msgstr "lámpa" + + +msgid "Proceed >>" +msgstr "Tovább >>" + + +msgid "Add new" +msgstr "Új" + + +msgid "value to" +msgstr "érték, RDN:" + + +msgid "Distinguished Name" +msgstr "Megkülönböztető név (DN)" + + +msgid "Current list of" +msgstr "Az aktuális lista" + + +msgid "values for attribute" +msgstr "értéket tartalmaz. Attribútum:" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Megj.: Ha nincs beállítva EGYENLŐSÉG-szabály ehhez az attribútumhoz a kiszolgáló az ún. inappropriate matching hibát adja vissza." + + +msgid "Enter the value you would like to add:" +msgstr "Adja meg a kívánt értéket:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Megj.: Lehet hogy új kötelező attribútumokat kell bevinnie ehhez az objektumosztályhoz" + + +msgid "Syntax" +msgstr "Szintaxis" + + +msgid "You left the destination DN blank." +msgstr "Üresen hagyta a cél-DN mezejét" + + +msgid "The destination entry (%s) already exists." +msgstr "A célbejegyzés (%s) már létezik." + + +msgid "The destination container (%s) does not exist." +msgstr "A cél-tároló (%s) nem létezik." + + +msgid "The source and destination DN are the same." +msgstr "A forrás- és cél-DN ugyanaz." + + +msgid "Copying " +msgstr "Másolás: " + + +msgid "Recursive copy progress" +msgstr "Rekurzív másolás folyamatban" + + +msgid "Building snapshot of tree to copy... " +msgstr "A fáról készítek egy pillanatfelvételt a másoláshoz... " + + +msgid "Copy successful! Would you like to " +msgstr "A másolás sikerült! Szeretné-e " + + +msgid "view the new entry" +msgstr "megtekinteni az új bejegyzést" + + +msgid "Failed to copy DN: " +msgstr "A DN másolása nem sikerült: " + + +msgid "Template" +msgstr "Minta" + + +msgid "using template" +msgstr "használt minta:" + + +msgid "Go to %s" +msgstr "Menj a(z) %s DN-hez" + + +msgid "to a new object" +msgstr "; az új objektum" + + +msgid "Destination DN" +msgstr "Cél-DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "A másolással létrejövő új bejegyzés teljes DN-je" + + +msgid "Destination Server" +msgstr "Célkiszolgáló" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Tipp: A kiszolgálók közötti másolás csak akkor működik, ha nincs séma-sértés" + + +msgid "Recursively copy all children of this object as well." +msgstr "Az objektum összes gyermekeinek rekurzív másolása." + + +msgid "Recursive copy" +msgstr "Rekurzív másolás" + + +msgid "Filter" +msgstr "Szűrő" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Rekurzív másolásnál csak azokat másolja le, amelyekre illik ez a szűrő" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "A(z) %s kötelező attribútum értékét üresen hagyta." + + +msgid "Redirecting..." +msgstr "Átirányítás..." + + +msgid "here" +msgstr "ide" + + +msgid "Could not add the object to the LDAP server." +msgstr "Nem tudom az objektumot létrehozni a kiszolgálón." + + +msgid "Create Object" +msgstr "Objektum létrehozása" + + +msgid "Choose a template" +msgstr "Válasszon mintát" + + +msgid "Select a template for the creation process" +msgstr "Válasszon mintát a létrehozási folyamathoz" + + +msgid "You left the RDN field blank." +msgstr "Az RDN-mezőt üresen hagyta" + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "A(z) %s tároló nem létezik. Kérem próbálja újra." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Nem választott objektumosztályt ehhez az objektumhoz. Kérem lépjen vissza és válasszon egyet." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Tipp: Legalább egy strukturális objektumosztályt kell választania" + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Első lépés: Név és objektumosztály(ok)" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Második lépés: Adja meg az attribútumokat és értékeiket" + + +msgid "Relative Distinguished Name" +msgstr "Viszonylagos megkülönböztető név (RDN)" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(példa: cn=ÚjEmber)" + + +msgid "Container" +msgstr "Tároló" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Nem lépett be a kiválasztott kiszolgálóba, s így nem tudok keresni." + + +msgid "Click here to go to the login form" +msgstr "Kattintson ide a belépési űrlap eléréséhez" + + +msgid "Unrecognized criteria option: " +msgstr "Ismeretlen kritérium-opció: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Ha kritériumot kíván adni a listához szerkessze meg a search.php-t, hogy kezelje le azokat. Most kilépek." + + +msgid "Entries found: " +msgstr "A megtalált bejegyzések: " + + +msgid "Filter performed: " +msgstr "Használt szűrő: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "A phpLDAPadmin" + + +msgid "seconds" +msgstr "s alatt hajtotta végre a keresést" + + +msgid "Sub (entire subtree)" +msgstr "Az egész részfa" + + +msgid "One (one level beneath base)" +msgstr "Egy szint az alap-DN alatt" + + +msgid "Base (base dn only)" +msgstr "Csak az alap-DN" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Szabványos LDAP-szűrő, pl. (&(sn=Kovács)(givenname=István))" + + +msgid "Search Filter" +msgstr "Keresőszűrő" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "A megjelenítendő találatok attribútumainak vesszővel elválasztott listája" + + +msgid "equals" +msgstr "egyenlő" + + +msgid "starts with" +msgstr "kezdet" + + +msgid "contains" +msgstr "tartalmaz" + + +msgid "ends with" +msgstr "végződés" + + +msgid "sounds like" +msgstr "hangzás" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Nem tudom az információt letölteni a kiszolgálóról" + + +msgid "Server info for: " +msgstr "Kiszolgáló-infó: " + + +msgid "Server reports the following information about itself" +msgstr "A kiszolgáló ezeket az információkat közölte önmagáról" + + +msgid "This server has nothing to report." +msgstr "A kiszolgálónak nincs mit elküldenie" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "Az update_array hibés. Ez a phpLDAPadmin hibája lehet, kérem jelentse." + + +msgid "Could not perform ldap_modify operation." +msgstr "Nem tudom elvégezni az ldap_modify műveletet." + + +msgid "Do you want to make these changes?" +msgstr "Érvényesíteni kívánja a változásokat?" + + +msgid "Attribute" +msgstr "Attribútumok" + + +msgid "Old Value" +msgstr "Régi érték" + + +msgid "New Value" +msgstr "Új érték" + + +msgid "[attribute deleted]" +msgstr "[attribútum törölve]" + + +msgid "Commit" +msgstr "Érvényesítés" + + +msgid "Cancel" +msgstr "Mégsem" + + +msgid "You made no changes" +msgstr "Nem történt változtatás" + + +msgid "Use the menu to the left to navigate" +msgstr "A bal oldali menüvel tájékozódhat a programban" + + +msgid "Credits" +msgstr "Köszönetnyilvánítás" + + +msgid "ChangeLog" +msgstr "Változtatások naplója" + + +msgid "Donate" +msgstr "Adományozzon" + + +msgid "Unsafe file name: " +msgstr "Nem biztonságos állománynév: " + + +msgid "No such file: " +msgstr "Nincs ilyen állomány: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Az auto_uid_numbers engedélyezett a konfigurációban a(z) %s kiszolgálóhoz, de az auto_uid_number_mechanism nincs megadva. Kérem írja be ezt az értéket." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "A konfigurációban az auto_uid_number_mechanism értéke uidpool a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_uid_pool_dn értékét. Kérem írja be ezt az értéket." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "A konfigurációban megadott uidPool nem létezik (%s)." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "A konfigurációban az auto_uid_number_mechanism értéke search a(z) %s kiszolgálóhoz, de nem adta meg az auto_uid_number_search_base értékét. Kérem írja be ezt az értéket." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "A bind művelet sikertelen a(z) %s kiszolgálóhoz az auto_uid használatával. Kérem ellenőrizze a konfigurációt. " + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "A konfigurációban érvénytelen auto_uid_search_base van megadva a(z) %s kiszolgálóhoz." + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Érvénytelen értéket adott meg a auto_uid_number_mechanism-nak (%s). Csak uidpool és search a megengedett érték." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Csak a session, cookie és config a megengedett értékek az auth_type-nak a konfigurációban. A megadott helytelen érték: %s." + + +msgid "Your PHP install does not support TLS." +msgstr "Ez a PHP nem támogatja a TLS-t." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Nem tudom a TLS-t elindítani. Kérem ellenőrizze az LDAP-kiszolgálót és a konfigurációt." + + +msgid "Could not bind anonymously to server." +msgstr "Az anonymous bind művelet nem sikerült." + + +msgid "Could not bind to the LDAP server." +msgstr "A bind művelet sikertelen az LDAP-kiszolgálóhoz." + + +msgid "Anonymous Bind" +msgstr "Anonymous bind" + + +msgid "Bad username or password. Please try again." +msgstr "Helytelen felhasználónév vagy jelszó. Kérem próbálja újra." + + +msgid "Successfully logged into server %s" +msgstr "A(z) %s kiszolgálóhoz sikeresen bejelentkezett." + + +msgid "Could not set cookie." +msgstr "Nem tudok sütit beállítani." + + +msgid "LDAP said: %s" +msgstr "Az LDAP ezt mondta: %s" + + +msgid "Error" +msgstr "Hiba" + + +msgid "browse" +msgstr "böngészés" + + +msgid "Delete Photo" +msgstr "Fotó törlése" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Ez a PHP nem támogatja a blowfish titkosítást." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Ez a PHP nem támogatja az md5crypt titkosítást." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Ez a PHP nem tartalmazza az mhash() függvényt. Nem tudok SHA hash-eket kezelni." + + +msgid "jpegPhoto contains errors
    " +msgstr "A jpegPhoto hibás
    " + + +msgid "Error number: %s (%s)" +msgstr "Hibaszám: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Leírás: %s

    " + + +msgid "Error number: %s

    " +msgstr "Hibaszám: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Leírás: (nincs leírás)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Ez a phpLDAPadmin hibája? Ha igen, kérem jelentse." + + +msgid "Unrecognized error number: " +msgstr "Ismeretlen hibaszám: " + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" Egy kisebb hibát talált a phpLDAPadmin-ban!
    Hiba:%s (%s)
    Állomány:%s. sor %s, hívó %s
    Verziók:PLA: %s, PHP: %s, SAPI: %s" +"
    Web-kiszolgáló:%s
    " +" Kérem jelentse a hibát, kattintson ide!.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Gratulálunk! Hibát talált a phpLDAPadmin-ban.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Hiba:%s
    Szint:%s
    Állomány:%s
    Sor:%s
    Hívó:%s
    PLA Verzió:%s
    PHP Verzió:%s
    PHP SAPI:%s
    Web-kiszolgáló:%s
    " +"
    " +" Kérjük jelentse a hibát, kattintson alulra!" + + +msgid "Import LDIF File" +msgstr "LDIF-állomány importálása" + + +msgid "Select an LDIF file:" +msgstr "LDIF-állomány kiválasztása" + + +msgid "Don't stop on errors" +msgstr "Ne állj meg hiba esetén" + + +msgid "Adding..." +msgstr "Hozzáadás..." + + +msgid "Deleting..." +msgstr "Törlés..." + + +msgid "Modifying..." +msgstr "Módosítás..." + + +msgid "No version found. Assuming 1." +msgstr "Nem találtam verziószámot, feltételeztem, hogy 1-es." + + +msgid "A valid dn line is required." +msgstr "Érvényes DN-sor kell." + + +msgid "Missing uploaded file." +msgstr "A feltöltött állomány hiányzik." + + +msgid "Uploaded LDIF file is empty." +msgstr "A feltöltött LDIF-állomány üres." + + +msgid "empty" +msgstr "üres" + + +msgid "File" +msgstr "Állomány" + + +msgid "%s bytes" +msgstr "%s byte" + + +msgid "Failed" +msgstr "Sikertelen" + + +msgid "LDIF Parse Error" +msgstr "LDIF-pásztázási hiba" + + +msgid "Could not add object:" +msgstr "Nem tudom ezt az objektumot hozzáadni:" + + +msgid "Could not rename object:" +msgstr "Nem tudom ezt az objektumot átnevezni:" + + +msgid "Could not delete object:" +msgstr "Nem tudom ezt az objektumot törölni:" + + +msgid "Could not modify object:" +msgstr "Nem tudom ezt az objektumot módosítani:" + + +msgid "Line Number:" +msgstr "Sorszám:" + + +msgid "Line:" +msgstr "Sor:" + + +msgid "Export format" +msgstr "Export-formátum" + + +msgid "Line ends" +msgstr "Sorvégek" + + +msgid "You must choose an export format." +msgstr "Az export formátumát ki kell választani." + + +msgid "Invalid export format" +msgstr "Az export formátuma érvénytelen" + + +msgid "No available exporter found." +msgstr "Nincs használható exportáló." + + +msgid "Encountered an error while performing search." +msgstr "Keresés közben hibába akadtam." + + +msgid "Showing results %s through %s." +msgstr "A(z) %s és %s közé eső találatok megjelenítése." + + +msgid "Searching..." +msgstr "Folyik a keresés..." + + +msgid "Notice, search size limit exceeded." +msgstr "Figyelem: a keresési méret korlátja túllépve." + + +msgid "Entry" +msgstr "Bejegyzés" + + +msgid "LDIF Export for: %s" +msgstr "A(z) %s LDIF exportja" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "A phpLDAPadmin generálta, dátum: %s" + + +msgid "Total Entries" +msgstr "Bejegyzések száma összesen" + + +msgid "DSLM Export for: %s" +msgstr "A(z) %s DSLM exportja" + + +msgid "You left the password blank." +msgstr "A jelszó üresen maradt." + + +msgid "No one is logged in to that server." +msgstr "Arra a kiszolgálóra nincs bejelentkezve senki." + + +msgid "Could not logout." +msgstr "Nem sikerült kilépni." + + +msgid "Unknown auth_type: %s" +msgstr "Ismeretlen auth_type: %s" + + +msgid "Logged out successfully from server %s" +msgstr "A kilépés sikerült a(z) %s kiszolgálóból" + + +msgid "Authenticate to server %s" +msgstr "Azonosítsa magát a(z) %s kiszolgálón" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Figyelem: A kapcsolat a bögészővel titkosítatlan." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Nem https kapcsolatot használ. A böngésző a bejelentkezés adatait sima szöveg formátumban fogja továbbítani" + + +msgid "Login DN" +msgstr "Bejelentkezési DN" + + +msgid "User name" +msgstr "A felhasználó neve" + + +msgid "Password" +msgstr "Jelszó" + + +msgid "Authenticate" +msgstr "Azonosítás" + + +msgid "Entry Chooser" +msgstr "Bejegyzés kiválasztása" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Konfigurálnia kell a phpLDAPadmint a config.php állomány szerkesztésével, amihez mintául a config.php.example szolgálhat." + + +msgid "Deletes not allowed in read only mode." +msgstr "Csak olvasható üzemmódban a törlés nem működik." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Hiba a mass_delete.php hívásakor. A POST változók közül hiányzik a mass_delete." + + +msgid "mass_delete POST var is not an array." +msgstr "A mass_delete POST változó nem tömb." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "A tömeges törlés nincs engedélyezve. Mielőtt folytatná, állítsa át az enable_mass_delete értékét config.php állományban." + + +msgid "Mass Deleting" +msgstr "Tömeges törlés" + + +msgid "Deletion progress on server \"%s\"" +msgstr "A törlési művelet a(z) %s kiszolgálón" + + +msgid "Malformed mass_delete array." +msgstr "A tömeges törléshez megadott tömb formátuma helytelen" + + +msgid "You did not select any entries to delete." +msgstr "Nem választotta ki a törlendő bejegyzés(eke)t. " + + +msgid "Deleting %s" +msgstr "%s törölve" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s darab bejegyzés törlése nem sikerült a(z) %s darabból." + + +msgid "All entries deleted successfully." +msgstr "Az összes bejegyzés törlése sikerült." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Hagyja jóvá a(z) %s bejegyzés tömeges törlését a(z) %s kiszolgálóról" + + +msgid "Yes, delete!" +msgstr "Igen, törlődjön" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Nem nevezhet át olyan bejegyzést aminek gyermekei vannak (azaz az átnevezés művelete csak levél-bejegyzéseken megengedett)" + + +msgid "You did not change the RDN" +msgstr "Nem változtatta meg az RDN-t" + + +msgid "Invalid RDN value" +msgstr "Érvénytelen RDN érték" + + +msgid "Could not rename the entry" +msgstr "A bejegyzést nem sikerült átnevezni" + + diff --git a/locale/it_IT/LC_MESSAGES/messages.mo b/locale/it_IT/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..22f73c1bc2297d9c389e5dbcc281d00745bf994a GIT binary patch literal 7537 zcma)=TZ|>gS;s3OfW5>CaW-6xX;z2j2nifc%*k`LWm{c=iPN`rD8v_5Ul2TKfMJ z)PC>9*xLUJ_;cWOQ2xrnN5J0!S=!tMwf~=i8vk{07yJgu(&mF~_Hpn6coO_o@I3ex z@GSU`Ab;jPkWBo0JmFBUeiPgS{{vK|N zGXS^161)Mv0c!q3kddLrg3|i}D7{?juRz7e=M(-R*ys7rLD~NUkWJ60z%PKm4T|@V zF$oixo~Kezf14pyKRrLCN=R@I#=St@)3GvU?9a1wI4HUpcr5 z{$6_iE~tGUVH2&}1I4!sp!UBAO789SJ_9B97!+@6P~(3&;paf<|Lfp6@Jpb^{WXY) z<{O~o{x?wj{Q#7_ZzE{6?gQXu@LizR-2^r61rV2;PlC`s$}CdP1AZOY2t%& zsIE`ZUZgG4B+qS{@}H&2pR&~%nlABcm!|zM(Y9%_9h5OwX{)rSY2u}Hl>P5_eK2)i zN%%=n-1-HYY@zGZw718*?&sx&d-+K|MdfI-m%y8}TeS1E>GctAo}wxL$%eWvcMxrN zEZswG^I_U`nmD0+utZy-DYldcFVK_+NbBZFnqpFR|0r$o5;yi}&(Or*7ihYkjlW%N zi8r61Dc(0|YqaTgjhh%x;Lfx&;m1I6h|r0-3yPR^n&RB7W|^A3(f=hsXx0i>*VdJp zU2U2w@3)Pw<7-!1mt}dAhtd`Hz!j~xO|Wh{%AWX8eIkx5{hcY!U(b5_dFiUddtMy4 za^N$&>s>V%*=wO1o9A3+YhNAs%H|nQwYTeA=DBWe+}x}c`QR0aFbR`(Vx7%$SA?N@ zYG0rVT3BB;Y<6;e>y#Z8t0`%@U{v}3j6jj zv{g5wsk~ntKk?N*#<4}_Cb!2SyNyF^pf}3J$jZCMBi>+?BSh4F-YJ9Zup?L7zW1ew zv!4&!3iGk1s8sm_k4Yq+Sh8$B-i{|xngvVP=5XQ{-z*3?>t5h?7wMVb&&wFqW-|jE1ovfVha;90ZzD@3 zHBrhY+;nR$+wH}#CxQ8 zmKCc9t`wQ32S7W?;GS$j>Pk^0S$=4CoE+IpOh8&vCEKG-qzXq#^l?Uls+GHy+`7Xx zQKB}3c&3NssWtD8EO5hmr>=%IOGlVZDGw#lqEBMk*v zE}BAqSvKT;Z@ROp3EfSXY-W*ZwyU63dmCBr7J-BHR_xfHoXR z6_%-+-d^R(x^PXXR_x94l@hnvOJ(SX?C{w#WMNF;FSGNNBilFjda;5)m)<)3TCwNO zoO!Z$_H6ImN9@_BR?a{9;WKB?oMB*Z#~(z-+-Ka=E9cI2ws~MGwWMc^{~0s2^Z^WmQXp&JW>Q@Mn&$mZApG5ty9XVI8OC3^)f>WN7^X- zXYjRGWxP*etTCE%5C%S$%qoZTqJoj)7Dya2Jw~IZ ze8urv+L5aFri}@yDE!b-4l`<+(nR~^IFMzD(rLl$&<+hMmtid(a<*ylPSN*OS8R8a z=Brb$QITraiC8apdN0<|UG+TIp9+i;Bi6~WQ(jG`N#*lfyX&?a9er#ziEIk-5KCud z%*~pnzD(5K9{VHebP^!{;klQ?dbBT?dEx3qvsk5!?$W58PVzyjO+Qx}U zKI0!VV@1vW)Ur~FOmwM#Wg8N3sziw*S7tN9rPKW@OSV2}0~)aJz>&|1)*3gleaExf z6$frwS4U+an3I!LPRGL9T%{t+StE01L-n-O%vY?op36No$KtVikByda@Iju+XlN=` zcm22zsbvZTO!ZS&OhZ^KKRx0oqjfLJbCB37C+jBm)a{f(9Ni9!N%(1k53??}Sm>wT zR0yk6}c&yY{5V{gUZ>f z#Ob!!Yt_ZMSm6zP5esT>k1L3#rit2i^*80WJC5(8V@EFU_EG|?I+I>%nk&<)`_gG1 zqHU7(XO6aY+og{M7Ik&^wA{|^jfrf_H-}lYVOM-dMpDfXC((ql{GP@7^z-U~@>zbJ zg>gJV0$;jVzrnb9bcyFvEL0c}!^`5BU&mJ*mn^94Y3027V$6WL&VvR z$TO0~T+y`C#N$jFwn)e~?5K95R z%eR%Ko@1SoViQNj1C~RR`W{Z<1S-(N_4tb5+li#AlX239y!+n{QKf7t4v0fJWhSw^ znD~(Ue_hS&kvd()9$mO8iQ_48mH#~{6((LyKLWf-xjDvQR{vOAS$0_+h}mjB@jqbirprT@(50UZ}PZSeY^J>tqoD z7ek?&64KPbS3*9HNoXEwvaU_mjoQhU)6a!iZkhipMcHlnW8YO&Y1ldn5adA0wq--g Qni;_9dqFWQK^G15KeHY&od5s; literal 0 HcmV?d00001 diff --git a/locale/it_IT/LC_MESSAGES/messages.po b/locale/it_IT/LC_MESSAGES/messages.po new file mode 100644 index 0000000..9003293 --- /dev/null +++ b/locale/it_IT/LC_MESSAGES/messages.po @@ -0,0 +1,395 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Unknown \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Modulo di Ricerca Semplice" + + +msgid "Advanced Search Form" +msgstr "Modulo di Ricerca Avanzato" + + +msgid "Server" +msgstr "Server" + + +msgid "Search for entries whose" +msgstr "Cerca per voci che" + + +msgid "Base DN" +msgstr "DN Base" + + +msgid "Search Scope" +msgstr "Campo di Ricerca" + + +msgid "Show Attributtes" +msgstr "Mostra gli Attributi" + + +msgid "Search" +msgstr "Cerca" + + +msgid "equals" +msgstr "equivale" + + +msgid "contains" +msgstr "contiene" + + +msgid "Request feature" +msgstr "Richiedi una nuova funzionalità" + + +msgid "Report a bug" +msgstr "Riporta un baco" + + +msgid "schema" +msgstr "schema" + + +msgid "search" +msgstr "cerca" + + +msgid "refresh" +msgstr "aggiorna" + + +msgid "create" +msgstr "crea" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importa" + + +msgid "logout" +msgstr "esci" + + +msgid "Create new entry here" +msgstr "Crea Nuovo" + + +msgid "View schema for" +msgstr "Guarda schema per" + + +msgid "Refresh all expanded containers for" +msgstr "Aggiorna tutti i contenitori aperti per" + + +msgid "Create a new entry on" +msgstr "Crea una nuova voce su" + + +msgid "View server-supplied information" +msgstr "Guarda le informazioni fornite dal Server" + + +msgid "Import entries from an LDIF file" +msgstr "Importa voci da un file LDIF" + + +msgid "Logout of this server" +msgstr "Esci da questo Server" + + +msgid "Logged in as: " +msgstr "Collegato come: " + + +msgid "read only" +msgstr "sola lettura" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Non posso determinare la radice del tuo albero LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Sembra che il server LDAP sia stato configurato per non rivelare la sua radice." + + +msgid "Please specify it in config.php" +msgstr "Per piacere specificare nel config.php" + + +msgid "Create a new entry in" +msgstr "Crea una nuova voce in" + + +msgid "Delete this entry" +msgstr "Cancella questa voce" + + +msgid "You will be prompted to confirm this decision" +msgstr "Ti sarà richiesto di confermare questa decisione" + + +msgid "Copy or move this entry" +msgstr "Copia questa voce" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Copia questo oggetto in un'altra posizione, un nuovo DN od un altro server" + + +msgid "Create a child entry" +msgstr "Crea una voce figlia" + + +msgid "Rename Entry" +msgstr "Rinomina la Voce" + + +msgid "Rename" +msgstr "Rinomina" + + +msgid "Add" +msgstr "Aggiungi" + + +msgid "View" +msgstr "Guarda" + + +msgid "Add new attribute" +msgstr "Aggiungi un nuovo attributo" + + +msgid "Hide internal attributes" +msgstr "Nascondi gli attributi interni" + + +msgid "Show internal attributes" +msgstr "Mostra gli attributi interni" + + +msgid "none" +msgstr "nessuno" + + +msgid "Save Changes" +msgstr "Salva i Cambiamenti" + + +msgid "add value" +msgstr "aggiungi un valore" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Aggiungi un'altrovalore a questo attributo" + + +msgid "Refresh this entry" +msgstr "Aggiorna questa voce" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Consiglio: Per cancellare un attributo, svuota il campo testo e clicca salva." + + +msgid "Viewing entry in read-only mode." +msgstr "Stai guardando la voce in modalità sola-lettura." + + +msgid "no new attributes available for this entry" +msgstr "nessun nuovo attributo disponibile per questa voce" + + +msgid "Binary value" +msgstr "Valore binario" + + +msgid "Add new binary attribute" +msgstr "Aggiungi un Nuovo Attributo Binario" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Alias per" + + +msgid "download value" +msgstr "valore del download" + + +msgid "delete attribute" +msgstr "cancella l'attributo" + + +msgid "true" +msgstr "vero" + + +msgid "false" +msgstr "falso" + + +msgid "none, remove value" +msgstr "nessuno, rimuovi il valore" + + +msgid "Really delete attribute" +msgstr "Cancella definitivamente il valore" + + +msgid "Jump to an objectClass" +msgstr "Vai a una objectClass" + + +msgid "Jump to an attribute type" +msgstr "Vai a un attributo" + + +msgid "Schema for server" +msgstr "Schema per il server" + + +msgid "Required Attributes" +msgstr "Attributi Richiesti" + + +msgid "Optional Attributes" +msgstr "Attributi Opzionali" + + +msgid "OID" +msgstr "OID" + + +msgid "Description" +msgstr "Descrizione" + + +msgid "This objectClass is obsolete." +msgstr "Questa objectClass è obsoleta" + + +msgid "Inherits from" +msgstr "Eredita da" + + +msgid "Jump to this objectClass definition" +msgstr "Vai a questa definizione della objectClass" + + +msgid "Matching Rule OID" +msgstr "Regola Corrispondente OID" + + +msgid "Syntax OID" +msgstr "Sintassi OID" + + +msgid "New Required Attributes" +msgstr "Nuovi Attributi Richiesti" + + +msgid "This action requires you to add" +msgstr "Questa azione richiede che tu aggiunga" + + +msgid "new attributes" +msgstr "nuovi attributi" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Istruzioni: Per aggiungere questa objectClass a questa voce, devi specificare:" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "che questa objectClass richiede. Puoi farlo in questo modulo." + + +msgid "Add ObjectClass and Attributes" +msgstr "Aggiungi ObjectClass e Attributi" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Clicca per aprire una finestra di dialogo per la selezione grafica di una voce (DN)" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Non puoi operare aggiornamenti mentre il server è in modalità sola-lettura" + + +msgid "Bad server id" +msgstr "Server id errata" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Non abbastanza informazioni per collegarsi al server. Per piacere controlla la tua configurazione." + + +msgid "Could not connect to LDAP server." +msgstr "Non ho potuto collegarmi al server LDAP." + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Non ho potuto eseguire l'operazione ldap_mod_add." + + +msgid "Add new" +msgstr "Aggiungi nuovo" + + +msgid "value to" +msgstr "valore a" + + +msgid "Distinguished Name" +msgstr "Distinguished Name" + + +msgid "Current list of" +msgstr "Lista corrente di" + + +msgid "values for attribute" +msgstr "valori per l'attributo" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Nota: Tu riceverai un errore \"corrispondenza inappropiata\" se non hai
    una regola EQUALITY per questo attributo sul tuo server LDAP." + + +msgid "Enter the value you would like to add:" +msgstr "Inserisci il valore che vorresti aggiungere:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Nota: ti potrebbe essere chiesto di inserire nuovi attributi
    che questa objectClass richiede." + + +msgid "Syntax" +msgstr "Sintassi" + + diff --git a/locale/ja_JP/LC_MESSAGES/messages.mo b/locale/ja_JP/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..c1de95d21a4ae78d1e2b0d766290645274a2dc8c GIT binary patch literal 41228 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, 2004. +# Tadashi Jokagi , 2005. +msgid "" +msgstr "" +"Project-Id-Version: phpLDAPadmin\n" +"Report-Msgid-Bugs-To: \n" +"POT-Creation-Date: 2005-12-15 19:00+0900\n" +"PO-Revision-Date: 2005-12-15 19:25+0900\n" +"Last-Translator: Tadashi Jokagi \n" +"Language-Team: phpLDAPadmin \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" + +#: templates/creation/custom.php:9 htdocs/add_attr.php:26 +#: htdocs/add_attr_form.php:22 htdocs/add_oclass.php:27 +#: htdocs/add_oclass_form.php:28 htdocs/add_value.php:27 +#: htdocs/add_value_form.php:24 htdocs/compare.php:24 htdocs/compare.php:28 +#: htdocs/compare_form.php:18 htdocs/copy.php:29 htdocs/copy_form.php:22 +#: htdocs/create.php:28 htdocs/create_form.php:23 htdocs/delete.php:22 +#: htdocs/delete_attr.php:23 htdocs/delete_form.php:23 +#: htdocs/download_binary_attr.php:17 htdocs/entry_chooser.php:43 +#: htdocs/expand.php:24 htdocs/export.php:17 htdocs/ldif_import.php:19 +#: htdocs/ldif_import_form.php:24 htdocs/mass_delete.php:26 +#: htdocs/rdelete.php:22 htdocs/rename.php:23 htdocs/rename_form.php:22 +#: htdocs/schema.php:22 htdocs/search.php:25 htdocs/server_info.php:50 +#: htdocs/template_engine.php:19 htdocs/template_engine.php:39 +#: htdocs/update.php:33 +msgid "" +"Not enough information to login to server. Please check your configuration." +msgstr "サーバーにログインする情報が不足しています。設定を確認してください。" + +#: templates/creation/custom.php:17 +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "ステップ 1/2: 名前と ObjectClass" + +#: templates/creation/custom.php:25 +msgid "Relative Distinguished Name" +msgstr "関連識別名" + +#: templates/creation/custom.php:25 +msgid "RDN" +msgstr "RDN" + +#: templates/creation/custom.php:26 +msgid "(example: cn=MyNewPerson)" +msgstr "(例: cn=MyNewPerson)" + +#: templates/creation/custom.php:29 +msgid "Container" +msgstr "コンテナー" + +#: templates/creation/custom.php:35 htdocs/schema.php:50 htdocs/schema.php:52 +msgid "ObjectClasses" +msgstr "ObjectClass 一覧" + +#: templates/creation/custom.php:53 +msgid "" +"Hint: You must choose exactly one structural objectClass (shown in bold " +"above)" +msgstr "" +"ヒント: ひとつの構造 objectClass を選択しなければなりません (上で強調表示され" +"ています)" + +#: templates/creation/custom.php:55 +msgid "Proceed >>" +msgstr "進む >>" + +#: templates/creation/custom.php:61 +msgid "You left the RDN field blank." +msgstr "RDN フィールドが空です。" + +#: templates/creation/custom.php:65 +#, php-format +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "指定したコンテナー(%s)が存在しません。もう一度行ってください。" + +#: templates/creation/custom.php:70 htdocs/add_oclass_form.php:31 +msgid "" +"You did not select any ObjectClasses for this object. Please go back and do " +"so." +msgstr "" +"このオブジェクトのためのいくつかの ObjectClass を選択しませんでした。戻ってそ" +"のように実行してください。" + +#: templates/creation/custom.php:128 +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Step 2 of 2: 属性と値を指定" + +#: templates/creation/custom.php:139 htdocs/schema.php:480 +msgid "Required Attributes" +msgstr "必須属性" + +#: templates/creation/custom.php:142 templates/creation/custom.php:166 +#: htdocs/schema.php:178 htdocs/schema.php:264 htdocs/schema.php:279 +#: htdocs/schema.php:354 htdocs/schema.php:440 htdocs/schema.php:463 +#: htdocs/schema.php:508 htdocs/schema.php:537 +msgid "none" +msgstr "なし" + +#: templates/creation/custom.php:149 htdocs/compare.php:126 +#: htdocs/template_engine.php:621 +#, php-format +msgid "Note: '%s' is an alias for '%s'" +msgstr "注: '%s' は '%s' のエイリアスです。" + +#: templates/creation/custom.php:163 htdocs/schema.php:481 +msgid "Optional Attributes" +msgstr "オプション属性" + +#: templates/creation/custom.php:178 +msgid "Optional Binary Attributes" +msgstr "オプションバイナリ属性" + +#: templates/creation/custom.php:189 templates/template_header.php:171 +#: htdocs/create_form.php:34 htdocs/template_engine.php:454 +#: htdocs/template_engine.php:510 +msgid "Create Object" +msgstr "オブジェクト作成" + +#: templates/template_header.php:35 templates/template_header.php:173 +#: htdocs/add_attr_form.php:35 htdocs/add_value_form.php:63 +#: htdocs/compare.php:61 htdocs/compare.php:64 htdocs/compare_form.php:34 +#: htdocs/copy_form.php:57 htdocs/create_form.php:42 htdocs/delete_form.php:34 +#: htdocs/delete_form.php:112 htdocs/export_form.php:51 +#: htdocs/ldif_import.php:46 htdocs/ldif_import_form.php:31 +#: htdocs/rename_form.php:32 lib/export_functions.php:198 +#: lib/search_form_advanced.php:36 lib/search_form_simple.php:30 +#: lib/tree_functions.php:40 +msgid "Server" +msgstr "サーバー" + +#: templates/template_header.php:35 htdocs/add_attr_form.php:35 +#: htdocs/add_value_form.php:65 htdocs/compare.php:61 htdocs/compare.php:64 +#: htdocs/compare_form.php:36 htdocs/copy_form.php:57 +#: htdocs/delete_form.php:34 htdocs/delete_form.php:111 +#: htdocs/rename_form.php:32 htdocs/update_confirm.php:32 +msgid "Distinguished Name" +msgstr "関連名" + +#: templates/template_header.php:40 +msgid "Refresh this entry" +msgstr "このエントリを再描画する" + +#: templates/template_header.php:40 +#, fuzzy +msgid "Refresh" +msgstr "再描画" + +#: templates/template_header.php:41 +msgid "Save a dump of this object" +msgstr "このオブジェクトのダンプ保存" + +#: templates/template_header.php:41 htdocs/export_form.php:39 +#: htdocs/export_form.php:48 +msgid "Export" +msgstr "エクスポート" + +#: templates/template_header.php:44 +msgid "Copy this object to another location, a new DN, or another server" +msgstr "" +"このオブジェクトを異なるロケーション、新しい DNもしくは別のサーバーにコピーす" +"る" + +#: templates/template_header.php:44 +msgid "Copy or move this entry" +msgstr "このエントリをコピー" + +#: templates/template_header.php:47 +msgid "Hide internal attributes" +msgstr "内部属性を隠す" + +#: templates/template_header.php:50 +msgid "Show internal attributes" +msgstr "内部属性を表示" + +#: templates/template_header.php:56 +msgid "You will be prompted to confirm this decision" +msgstr "この判断を確認するように促されるでしょう。" + +#: templates/template_header.php:56 +msgid "Delete this entry" +msgstr "このエントリを削除" + +#: templates/template_header.php:57 htdocs/rename_form.php:38 +msgid "Rename" +msgstr "名称変更" + +#: templates/template_header.php:62 +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "" +"ヒント: 属性を削除するにはテキストフィールドを空にして保存をクリックします。" + +#: templates/template_header.php:67 +msgid "Compare with another entry" +msgstr "別のエントリと比較" + +#: templates/template_header.php:71 +msgid "Create a child entry" +msgstr "子エントリ作成" + +#: templates/template_header.php:72 htdocs/add_attr_form.php:34 +#: htdocs/add_attr_form.php:73 +#, php-format +msgid "Add new attribute" +msgstr "新規属性を追加" + +#: templates/template_header.php:87 +msgid "View 1 child" +msgstr "ひとつの子を閲覧" + +#: templates/template_header.php:87 +#, php-format +msgid "View %s children" +msgstr "%s 個の子を閲覧" + +#: templates/template_header.php:88 +msgid "Save a dump of this object and all of its children" +msgstr "このオブジェクトと子の全てをダンプ保存する" + +#: templates/template_header.php:88 +msgid "Export subtree" +msgstr "サブツリーをエクスポート" + +#: templates/template_header.php:94 +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "ヒント: 属性のスキーマを閲覧するには、属性名をクリックします。" + +#: templates/template_header.php:100 +msgid "Viewing entry in read-only mode." +msgstr "読み込みモードでエントリを閲覧中。" + +#: templates/template_header.php:107 +#, php-format +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "ひとつの属性 (%s) は修正され、下記でハイライトされました。" + +#: templates/template_header.php:108 +#, php-format +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "いくつかの属性 (%s) は修正され、下記でハイライトされました。" + +#: templates/template_header.php:133 htdocs/compare.php:165 +#: htdocs/server_info.php:85 htdocs/template_engine.php:672 +#, php-format +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "属性タイプ '%s' のためのスキーマ定義を見るためにクリックしてください。" + +#: templates/template_header.php:141 htdocs/compare.php:277 +#: htdocs/template_engine.php:721 +msgid "Binary value" +msgstr "バイナリ値" + +#: templates/template_header.php:147 templates/template_header.php:151 +#: htdocs/add_value_form.php:93 htdocs/add_value_form.php:98 +#: htdocs/compare.php:281 htdocs/compare.php:284 +#: htdocs/template_engine.php:731 htdocs/template_engine.php:734 +msgid "download value" +msgstr "ダウンロード値" + +#: templates/template_header.php:163 +msgid "No internal attributes" +msgstr "内部属性がありません" + +#: templates/template_header.php:173 +msgid "using template" +msgstr "使用中のテンプレート" + +#: htdocs/add_attr.php:24 htdocs/add_attr_form.php:20 htdocs/add_oclass.php:25 +#: htdocs/add_oclass_form.php:26 htdocs/add_value.php:25 +#: htdocs/add_value_form.php:22 htdocs/copy_form.php:20 htdocs/create.php:26 +#: htdocs/create_form.php:21 htdocs/delete.php:20 htdocs/delete_attr.php:21 +#: htdocs/delete_form.php:21 htdocs/download_binary_attr.php:15 +#: htdocs/ldif_import_form.php:22 htdocs/rdelete.php:20 htdocs/rename.php:21 +#: htdocs/rename_form.php:20 htdocs/update.php:31 htdocs/update_confirm.php:20 +msgid "You cannot perform updates while server is in read-only mode" +msgstr "サーバーは読み込みモードなので、更新を実行できません。" + +#: htdocs/add_attr.php:37 htdocs/add_attr.php:77 +msgid "You left the attribute value blank. Please go back and try again." +msgstr "属性値が空です。戻ってからもう一度試してください。" + +#: htdocs/add_attr.php:48 htdocs/add_oclass.php:51 htdocs/add_value.php:57 +#: htdocs/create.php:114 htdocs/update.php:75 +#, php-format +msgid "" +"Your attempt to add %s (%s) to
    %s
    is NOT " +"allowed. That attribute/value belongs to another entry.

    You might like to " +"search for that entry." +msgstr "" +"%s (%s) の %s への追加の試みは許可されていません
    その属性/値は別のエントリが所有しています。

    そのエントリを検索などするしょう。" + +#: htdocs/add_attr.php:53 +msgid "" +"The file you chose is either empty or does not exist. Please go back and try " +"again." +msgstr "" +"あなたの選んだファイルは空か存在しないかのいずれかです。戻ってからもう一度試" +"してください。" + +#: htdocs/add_attr.php:61 htdocs/add_attr.php:81 htdocs/add_attr.php:86 +msgid "Security error: The file being uploaded may be malicious." +msgstr "" +"セキュリティエラー: アップロードされたファイルは悪意のあるものかもしれませ" +"ん。" + +#: htdocs/add_attr.php:65 htdocs/add_attr.php:69 +msgid "" +"The file you uploaded is too large. Please check php.ini, upload_max_size " +"setting" +msgstr "" +"アップロードされたファイルが大きすぎます。php.ini の upload_max_size 設定を確" +"認してください。" + +#: htdocs/add_attr.php:73 +msgid "" +"The file you selected was only partially uploaded, likley due to a network " +"error." +msgstr "" +"選択したファイルは、部分的なアップロードでした。likley due to a network " +"error." + +#: htdocs/add_attr.php:127 +msgid "Failed to add the attribute." +msgstr "属性の追加に失敗しました。" + +#: htdocs/add_attr_form.php:107 htdocs/add_attr_form.php:155 +msgid "Add" +msgstr "追加" + +#: htdocs/add_attr_form.php:114 +msgid "no new attributes available for this entry" +msgstr "このエントリに利用可能な新規属性はありません。" + +#: htdocs/add_attr_form.php:120 +msgid "Add new binary attribute" +msgstr "新規バイナリ属性を追加" + +#: htdocs/add_attr_form.php:158 +msgid "" +"Your PHP configuration has disabled file uploads. Please check php.ini " +"before proceeding." +msgstr "" +"PHP の設定でファイルのアップロードが無効です。続行する前に、php.ini を確認し" +"てください。" + +#: htdocs/add_attr_form.php:161 +#, php-format +msgid "Maximum file size: %s" +msgstr "最大ファイルサイズ: %s" + +#: htdocs/add_attr_form.php:170 +msgid "no new binary attributes available for this entry" +msgstr "このエントリに利用可能な新規バイナリ属性はありません。" + +#: htdocs/add_oclass.php:60 htdocs/add_value.php:68 +msgid "Could not perform ldap_mod_add operation." +msgstr "ldap_mod_add 操作を実行できませんでした。" + +#: htdocs/add_oclass_form.php:88 htdocs/add_oclass_form.php:109 +msgid "New Required Attributes" +msgstr "新規必須属性" + +#: htdocs/add_oclass_form.php:89 +msgid "This action requires you to add" +msgstr "" + +#: htdocs/add_oclass_form.php:90 htdocs/add_oclass_form.php:95 +msgid "new attributes" +msgstr "新規属性" + +#: htdocs/add_oclass_form.php:94 +msgid "" +"Instructions: In order to add these objectClass(es) to this entry, you must " +"specify" +msgstr "" + +#: htdocs/add_oclass_form.php:96 +msgid "that this objectClass requires. You can do so in this form." +msgstr "それは objectClass に必要です。このフォームでそうすることができます。" + +#: htdocs/add_oclass_form.php:120 htdocs/compare.php:529 +msgid "Add ObjectClass and Attributes" +msgstr "ObjectClass と属性を追加" + +#: htdocs/add_value.php:38 htdocs/delete_attr.php:37 htdocs/update.php:86 +#, php-format +msgid "" +"The attribute \"%s\" is flagged as read-only in the phpLDAPadmin " +"configuration." +msgstr "phpLDAPadmin の設定で属性 \"%s\" は読み込み専用に設定されています。" + +#: htdocs/add_value_form.php:57 +msgid "Add new" +msgstr "新規追加" + +#: htdocs/add_value_form.php:59 +msgid "value to" +msgstr "" + +#: htdocs/add_value_form.php:67 +msgid "Current list of" +msgstr "現在の一覧:" + +#: htdocs/add_value_form.php:68 +msgid "values for attribute" +msgstr "属性の値" + +#: htdocs/add_value_form.php:79 htdocs/add_value_form.php:104 +msgid "" +"Note: You will get an \"inappropriate matching\" error if you have not setup " +"an EQUALITY rule on your LDAP server for this attribute." +msgstr "" +"注: LDAP サーバーでこの属性の EQUALITY ルールをセットアップしていなかった場" +"合、\"inappropriate matching\" エラーを取得するでしょう。" + +#: htdocs/add_value_form.php:130 +msgid "Enter the value you would like to add:" +msgstr "追加したい値を入力する:" + +#: htdocs/add_value_form.php:152 htdocs/compare.php:531 +msgid "Add new ObjectClass" +msgstr "新規 ObjectClass を追加する" + +#: htdocs/add_value_form.php:158 +msgid "" +"Note: You may be required to enter new attributes that these objectClass(es) " +"require" +msgstr "" +"注: この objectClass が要求する新しい属性を入力することが要求かもしれません" + +#: htdocs/add_value_form.php:190 +msgid "Add New Value" +msgstr "新規値を追加する" + +#: htdocs/add_value_form.php:194 htdocs/ldif_import.php:103 +#: htdocs/ldif_import.php:113 htdocs/ldif_import.php:189 htdocs/schema.php:79 +#: htdocs/schema.php:156 htdocs/schema.php:426 +msgid "Description" +msgstr "説明" + +#: htdocs/add_value_form.php:198 htdocs/schema.php:209 +msgid "Syntax" +msgstr "文法" + +#: htdocs/add_value_form.php:202 htdocs/schema.php:246 +msgid "Maximum Length" +msgstr "最大長" + +#: htdocs/add_value_form.php:202 htdocs/schema.php:254 +msgid "characters" +msgstr "文字" + +#: htdocs/compare.php:31 htdocs/compare.php:33 htdocs/delete.php:30 +#: htdocs/download_binary_attr.php:26 htdocs/rdelete.php:29 +#: htdocs/template_engine.php:42 +#, php-format +msgid "No such entry: %s" +msgstr "エントリがありません: %s" + +#: htdocs/compare.php:53 +msgid "Comparing the following DNs" +msgstr "次の DN と比較中" + +#: htdocs/compare.php:58 htdocs/update_confirm.php:121 +msgid "Attribute" +msgstr "属性" + +#: htdocs/compare.php:74 +msgid "Switch Entry" +msgstr "エントリの切り替え" + +#: htdocs/compare.php:81 +msgid "This entry has no attributes" +msgstr "このエントリは属性を持っていません" + +#: htdocs/compare.php:174 htdocs/template_engine.php:646 +#, php-format +msgid "Required attribute for objectClass(es) %s" +msgstr "objectClass %s の必須属性" + +#: htdocs/compare.php:174 htdocs/template_engine.php:646 +msgid "required" +msgstr "必須" + +#: htdocs/compare.php:184 htdocs/template_engine.php:680 +msgid "" +"This attribute has been flagged as read only by the phpLDAPadmin " +"administrator" +msgstr "この属性は phpLDAP 管理者により、読み込み専用で設定されています。" + +#: htdocs/compare.php:184 htdocs/template_engine.php:680 +#: lib/tree_functions.php:115 +msgid "read only" +msgstr "読み込み専用" + +#: htdocs/compare.php:209 htdocs/compare.php:222 +msgid "No Value" +msgstr "値がありません" + +#: htdocs/compare.php:290 htdocs/template_engine.php:739 +msgid "delete attribute" +msgstr "属性削除" + +#: htdocs/compare.php:313 htdocs/template_engine.php:780 +msgid "empty" +msgstr "空" + +#: htdocs/compare.php:383 +msgid "Check password" +msgstr "パスワード確認" + +#: htdocs/compare.php:401 htdocs/template_engine.php:875 +msgid "true" +msgstr "true" + +#: htdocs/compare.php:402 htdocs/template_engine.php:876 +msgid "false" +msgstr "false" + +#: htdocs/compare.php:403 htdocs/template_engine.php:877 +msgid "none, remove value" +msgstr "いいえ、値を削除します" + +#: htdocs/compare.php:433 htdocs/template_engine.php:932 +msgid "View the schema description for this objectClass" +msgstr "この objectClass のスキーマ説明を閲覧" + +#: htdocs/compare.php:438 htdocs/template_engine.php:938 +#, php-format +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "これは構造 ObjectClass なので削除できませんでした。" + +#: htdocs/compare.php:438 htdocs/template_engine.php:938 +msgid "structural" +msgstr "構造" + +#: htdocs/compare.php:451 htdocs/template_engine.php:947 +#, php-format +msgid "Go to %s" +msgstr "%s に移動" + +#: htdocs/compare.php:529 htdocs/compare.php:540 +#: htdocs/template_engine.php:1025 +msgid "add value" +msgstr "値追加" + +#: htdocs/compare.php:531 +#, php-format +msgid "You need one of the following ObjectClass(es) to add this attribute %s." +msgstr "" +"この属性 %s を追加するには次の ObjectClass のうちひとつを必要とします。" + +#: htdocs/compare.php:540 htdocs/template_engine.php:1025 +#, php-format +msgid "Add an additional value to attribute '%s'" +msgstr "追加値を属性「%s」に追加する" + +#: htdocs/compare.php:557 htdocs/template_engine.php:1041 +msgid "Save Changes" +msgstr "変更を保存" + +#: htdocs/compare.php:568 htdocs/template_engine.php:1064 +msgid "Really delete attribute" +msgstr "本当に属性を削除する" + +#: htdocs/compare_form.php:33 +msgid "Compare another DN with" +msgstr "次の DN と別の DN を比較:" + +#: htdocs/compare_form.php:41 htdocs/compare_form.php:73 +#: htdocs/password_checker.php:32 +msgid "Compare" +msgstr "比較" + +#: htdocs/compare_form.php:41 +msgid "with " +msgstr "と" + +#: htdocs/compare_form.php:50 htdocs/compare_form.php:60 +msgid "Compare this DN with another" +msgstr "この DN と別のものを比較" + +#: htdocs/compare_form.php:50 +msgid "Source DN" +msgstr "元の DN" + +#: htdocs/compare_form.php:60 htdocs/copy_form.php:68 +msgid "Destination DN" +msgstr "対象 DN" + +#: htdocs/compare_form.php:68 htdocs/copy_form.php:73 +msgid "Destination Server" +msgstr "対象サーバー" + +#: htdocs/copy.php:26 +msgid "Destination server is currently READ-ONLY." +msgstr "対象サーバーは現在読み込み専用です。" + +#: htdocs/copy.php:40 +msgid "You left the destination DN blank." +msgstr "対象 DN がブランクで残されました。" + +#: htdocs/copy.php:43 +msgid "The source and destination DN are the same." +msgstr "対象元と対象先 DN が同じです。" + +#: htdocs/copy.php:46 +#, php-format +msgid "The destination entry (%s) already exists." +msgstr "対象エントリ (%s) は既に存在します。" + +#: htdocs/copy.php:49 +#, php-format +msgid "The destination container (%s) does not exist." +msgstr "対象先コンテナー (%s) は存在しません。" + +#: htdocs/copy.php:57 htdocs/copy.php:103 +msgid "Copying " +msgstr "Copying " + +#: htdocs/copy.php:58 +msgid "Recursive copy progress" +msgstr "再帰コピー進行" + +#: htdocs/copy.php:61 +msgid "Building snapshot of tree to copy... " +msgstr "コピーするツリーのスナップショットを構築中... " + +#: htdocs/copy.php:66 htdocs/copy.php:111 htdocs/ldif_import.php:107 +#: htdocs/ldif_import.php:132 htdocs/mass_delete.php:73 htdocs/rdelete.php:66 +#: htdocs/rdelete.php:83 +msgid "Success" +msgstr "成功" + +#: htdocs/copy.php:84 +msgid "Copy successful! Would you like to " +msgstr "コピー成功! Would you like to " + +#: htdocs/copy.php:84 +msgid "view the new entry" +msgstr "新規エントリ閲覧" + +#: htdocs/copy.php:155 +msgid "Failed to copy DN: " +msgstr "DN のコピーに失敗しました: " + +#: htdocs/copy_form.php:56 htdocs/copy_form.php:60 htdocs/copy_form.php:93 +msgid "Copy " +msgstr "コピー " + +#: htdocs/copy_form.php:60 +msgid "to a new object" +msgstr "" + +#: htdocs/copy_form.php:68 +msgid "" +"The full DN of the new entry to be created when copying the source entry" +msgstr "" + +#: htdocs/copy_form.php:77 +msgid "Recursive copy" +msgstr "再帰コピー" + +#: htdocs/copy_form.php:79 +msgid "Recursively copy all children of this object as well." +msgstr "同様にこのオブジェクトのすべての子を再帰コピーします。" + +#: htdocs/copy_form.php:81 +msgid "" +"When performing a recursive copy, only copy those entries which match this " +"filter" +msgstr "" +"再帰的なコピーを行なう場合、このフィルタと一致するエントリのみコピーしてくだ" +"さい。" + +#: htdocs/copy_form.php:81 +msgid "Filter" +msgstr "フィルター" + +#: htdocs/copy_form.php:84 htdocs/copy_form.php:90 +msgid "Delete after copy (move):" +msgstr "コピーの後に削除 (移動):" + +#: htdocs/copy_form.php:86 +msgid "Make sure your filter (above) will select all child records." +msgstr "" + +#: htdocs/copy_form.php:104 +msgid "" +"Hint: Copying between different servers only works if there are no schema " +"violations" +msgstr "" +"Hint: スキーマ違反がなければ、異なるサーバー間のコピー処理のみ行います。" + +#: htdocs/create.php:64 +#, php-format +msgid "You left the value blank for required attribute (%s)." +msgstr "要求された属性(%s)には空の値を残しました。" + +#: htdocs/create.php:150 htdocs/rename.php:74 +msgid "Redirecting..." +msgstr "リダイレクト中..." + +#: htdocs/create.php:150 htdocs/rename.php:74 +msgid "here" +msgstr "ここ" + +#: htdocs/create.php:154 +msgid "Could not add the object to the LDAP server." +msgstr "LDAP サーバーにオブジェクトを追加できませんでした。" + +#: htdocs/create_form.php:35 +msgid "Choose a template" +msgstr "テンプレート選択" + +#: htdocs/create_form.php:36 +msgid "Select a template for the creation process" +msgstr "作成処理のテンプレートを選択" + +#: htdocs/create_form.php:47 +msgid "Template" +msgstr "テンプレート" + +#: htdocs/create_form.php:136 +msgid "" +"This template has been disabled, possibly due to missing schema or missing " +"template XML fields." +msgstr "" +"このテンプレートは、恐らくスキーマか見当たらないか、" +"テンプレート XML 項目が見当たらないため、無効になりました。" + +#: htdocs/create_form.php:138 +msgid "This template is not allowed in this container." +msgstr "個のテンプレートはこのコンテナーを許可していません。" + +#: htdocs/create_form.php:159 htdocs/export_form.php:128 +#: htdocs/ldif_import_form.php:41 htdocs/ldif_import_form.php:51 +#: htdocs/template_engine.php:518 +msgid "Proceed >>" +msgstr "進む >>" + +#: htdocs/delete.php:27 htdocs/rdelete.php:26 +msgid "You must specify a DN" +msgstr "DN を指定しなければなりません" + +#: htdocs/delete.php:36 htdocs/delete.php:49 htdocs/rdelete.php:52 +#, php-format +msgid "Could not delete the entry: %s" +msgstr "エントリを削除できませんでした: %s" + +#: htdocs/delete.php:46 +#, php-format +msgid "Entry %s deleted successfully." +msgstr "%s エントリを削除しました。" + +#: htdocs/delete_attr.php:29 +msgid "No DN specified" +msgstr "DN が指定されていません" + +#: htdocs/delete_attr.php:32 +msgid "No attribute name specified." +msgstr "属性名が指定されていません。" + +#: htdocs/delete_attr.php:52 htdocs/update.php:141 +msgid "Could not perform ldap_modify operation." +msgstr "ldap_modify 操作が実行できませんでした。" + +#: htdocs/delete_form.php:32 +#, php-format +msgid "Delete %s" +msgstr "%s 削除" + +#: htdocs/delete_form.php:37 +msgid "Permanently delete all children also?" +msgstr "さらに永久にすべての子を削除しますか?" + +#: htdocs/delete_form.php:49 +#, php-format +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "このエントリは %s エントリを含むサブツリーのルートです。" + +#: htdocs/delete_form.php:50 +msgid "view entries" +msgstr "エントリ閲覧" + +#: htdocs/delete_form.php:54 +#, php-format +msgid "" +"phpLDAPadmin can recursively delete this entry and all %s of its children. " +"See below for a list of all the entries that this action will delete. Do you " +"want to do this?" +msgstr "" +"phpLDAPadmin は再帰的に、このエントリとその子のすべての %s を削除できます。こ" +"のアクションが削除するすべてのエントリの一覧は、下記を参照してください。本当" +"に本当に削除しますか?" + +#: htdocs/delete_form.php:56 +msgid "" +"Note: this is potentially very dangerous and you do this at your own risk. " +"This operation cannot be undone. Take into consideration aliases, referrals, " +"and other things that may cause problems." +msgstr "" +"注: これは潜在的に非常に危険です。また、自己責任でこれをします。このオペレー" +"ションは取り消せません。エイリアス・referralとその他の問題を考察を持ってくだ" +"さい。" + +#: htdocs/delete_form.php:67 +#, php-format +msgid "Delete all %s objects" +msgstr "%s オブジェクトをすべて削除" + +#: htdocs/delete_form.php:77 htdocs/delete_form.php:132 +#: htdocs/update_confirm.php:233 +msgid "Cancel" +msgstr "取り消し" + +#: htdocs/delete_form.php:90 +msgid "List of entries to be deleted:" +msgstr "エントリの一覧を削除しました:" + +#: htdocs/delete_form.php:109 +msgid "Are you sure you want to permanently delete this object?" +msgstr "本当にこのオブジェクトを永続的に削除しますか?" + +#: htdocs/delete_form.php:111 +msgid "DN" +msgstr "DN" + +#: htdocs/delete_form.php:122 +msgid "Delete" +msgstr "削除" + +#: htdocs/entry_chooser.php:20 +msgid "Entry Chooser" +msgstr "エントリ選択" + +#: htdocs/entry_chooser.php:33 +msgid "Server: " +msgstr "サーバー: " + +#: htdocs/entry_chooser.php:35 +msgid "Looking in: " +msgstr "Looking in: " + +#: htdocs/entry_chooser.php:65 +msgid "Back Up..." +msgstr "バックアップ..." + +#: htdocs/entry_chooser.php:69 +msgid "no entries" +msgstr "エントリがありません" + +#: htdocs/entry_chooser.php:98 +msgid "Could not determine base DN" +msgstr "ベース DN を決定することが出来ませんでした" + +#: htdocs/export.php:40 +msgid "You must choose an export format." +msgstr "エクスポート書式を選ばなければなりません。" + +#: htdocs/export.php:42 +msgid "Invalid export format" +msgstr "無効なエクスポート書式" + +#: htdocs/export.php:86 +msgid "No available exporter found." +msgstr "利用できるエクスポートツールが見つかりません" + +#: htdocs/export_form.php:30 lib/search_form_advanced.php:66 +msgid "Base (base dn only)" +msgstr "ベース (ベース dn のみ)" + +#: htdocs/export_form.php:31 lib/search_form_advanced.php:63 +msgid "One (one level beneath base)" +msgstr "ひとつ (基準の下の 1 レベル)" + +#: htdocs/export_form.php:32 lib/search_form_advanced.php:60 +msgid "Sub (entire subtree)" +msgstr "サブ (入力されたサブツリー)" + +#: htdocs/export_form.php:54 lib/search_form_advanced.php:41 +msgid "Base DN" +msgstr "ベース DN" + +#: htdocs/export_form.php:61 lib/export_functions.php:199 +#: lib/search_form_advanced.php:56 +msgid "Search Scope" +msgstr "検索スコープ" + +#: htdocs/export_form.php:74 lib/export_functions.php:200 +#: lib/search_form_advanced.php:75 +msgid "Search Filter" +msgstr "検索フィルター" + +#: htdocs/export_form.php:77 lib/search_form_advanced.php:82 +msgid "Show Attributtes" +msgstr "属性表示" + +#: htdocs/export_form.php:80 +msgid "Include system attributes" +msgstr "システム属性を含む" + +#: htdocs/export_form.php:83 +msgid "Save as file" +msgstr "ファイルに保存" + +#: htdocs/export_form.php:86 +msgid "Compress" +msgstr "圧縮" + +#: htdocs/export_form.php:99 +msgid "Export format" +msgstr "エクスポート書式" + +#: htdocs/export_form.php:113 +msgid "Line ends" +msgstr "行末" + +#: htdocs/index.php:71 +msgid "" +"You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do " +"so. An example config file is provided in 'config/config.php.example'" +msgstr "" +"phpLDAPadmin の設定をする必要があります。" +"ファイル「config/config.php」の変更をしてください。" +"サンプル設定ファイルとして「config.php.example」を提供しています。" + +#: htdocs/ldif_import.php:33 +msgid "Missing uploaded file." +msgstr "アップロードファイルが見当たりません。" + +#: htdocs/ldif_import.php:34 +msgid "No LDIF file specified. Please try again." +msgstr "LDIF ファイルが指定されていません。もう一度行ってください。" + +#: htdocs/ldif_import.php:35 +msgid "Uploaded LDIF file is empty." +msgstr "アップロードされた LDIF ファイルが空です。" + +#: htdocs/ldif_import.php:38 +msgid "You must either upload a file or provide an LDIF in the text box." +msgstr "" +"ファイルをアップロードするか、" +"テキストボックスに LDIF を提供しなければなりません。" + +#: htdocs/ldif_import.php:44 htdocs/ldif_import_form.php:30 +msgid "Import LDIF File" +msgstr "LDIF ファイルインポート" + +#: htdocs/ldif_import.php:47 +msgid "File" +msgstr "ファイル" + +#: htdocs/ldif_import.php:47 +msgid "bytes" +msgstr "バイト" + +#: htdocs/ldif_import.php:55 +msgid "Adding..." +msgstr "追加中..." + +#: htdocs/ldif_import.php:56 +msgid "Deleting..." +msgstr "削除中..." + +#: htdocs/ldif_import.php:57 htdocs/ldif_import.php:58 +msgid "Renaming..." +msgstr "名称変更中..." + +#: htdocs/ldif_import.php:59 +msgid "Modifying..." +msgstr "修正中..." + +#: htdocs/ldif_import.php:63 +msgid "Could not add object:" +msgstr "オブジェクトを追加できませんでした:" + +#: htdocs/ldif_import.php:64 +msgid "Could not delete object:" +msgstr "オブジェクトを削除できませんでした:" + +#: htdocs/ldif_import.php:65 htdocs/ldif_import.php:66 +msgid "Could not rename object:" +msgstr "オブジェクトを名称変更できませんでした:" + +#: htdocs/ldif_import.php:67 +msgid "Could not modify object:" +msgstr "オブジェクトを修正できませんでした:" + +#: htdocs/ldif_import.php:96 htdocs/ldif_import.php:109 +#: htdocs/ldif_import.php:138 htdocs/ldif_import.php:152 +#: htdocs/mass_delete.php:77 +msgid "Failed" +msgstr "失敗しました" + +#: htdocs/ldif_import.php:99 htdocs/ldif_import.php:191 +msgid "Line Number" +msgstr "行番号" + +#: htdocs/ldif_import.php:101 htdocs/ldif_import.php:190 +msgid "Line" +msgstr "行" + +#: htdocs/ldif_import.php:111 +msgid "Error code" +msgstr "エラーコード" + +#: htdocs/ldif_import.php:186 +msgid "LDIF Parse Error" +msgstr "LDIF 解析エラー" + +#: htdocs/ldif_import.php:194 +msgid "Is this a phpLDAPadmin bug?" +msgstr "これは phpLDAPadmin のバグですか?" + +#: htdocs/ldif_import.php:194 +#, php-format +msgid "If so, please report it." +msgstr "もしそうなら、それを報告してください。" + +#: htdocs/ldif_import_form.php:19 +msgid "" +"Your PHP.INI does not have file_uploads = ON. Please enable file uploads in " +"PHP." +msgstr "" +"PHP.INI は「file_uploads = ON」ではありません。PHP のファイルアップロードを有" +"効にしてください。" + +#: htdocs/ldif_import_form.php:34 +msgid "Select an LDIF file" +msgstr "LDIF ファイルを選択する" + +#: htdocs/ldif_import_form.php:40 htdocs/ldif_import_form.php:50 +msgid "Don't stop on errors" +msgstr "エラーで停止しない" + +#: htdocs/ldif_import_form.php:42 +msgid "Maximum file size" +msgstr "最大ファイルサイズ" + +#: htdocs/ldif_import_form.php:46 +msgid "Paste your LDIF here" +msgstr "ここに LDIF を貼り付ける" + +#: htdocs/login.php:36 +msgid "You left the password blank." +msgstr "パスワードが空です。" + +#: htdocs/login.php:97 htdocs/login.php:133 lib/server_functions.php:347 +msgid "Bad username or password. Please try again." +msgstr "ユーザー名かパスワードがおかしいです。もう一度行ってください。" + +#: htdocs/login.php:115 +msgid "Sorry, you are not allowed to use phpLDAPadmin with this LDAP server." +msgstr "" +"すみません、この LDAP サーバーと phpLDAPadmin を使用することを許可していませ" +"ん。" + +#: htdocs/login.php:131 +msgid "Could not bind anonymously to server." +msgstr "サーバーに匿名接続できませんでした。" + +#: htdocs/login.php:139 +msgid "Could not set cookie." +msgstr "Cookie を設定できませんでした。" + +#: htdocs/login.php:159 +#, php-format +msgid "Successfully logged into server %s" +msgstr "サーバー %s へのログインに成功しました" + +#: htdocs/login.php:162 htdocs/login_form.php:74 +msgid "Anonymous Bind" +msgstr "匿名接続" + +#: htdocs/login.php:174 lib/tree_functions.php:263 +msgid "Could not connect to LDAP server." +msgstr "LDAP サーバーに接続できませんでした。" + +#: htdocs/login_form.php:20 +#, fuzzy, php-format +msgid "" +"Error: You have an error in your config file. The only three allowed values\n" +" for auth_type in the $servers section " +"are 'session', 'cookie', and 'config'. You entered '%s',\n" +" which is not allowed. " +msgstr "" +"エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type " +"は 「session」「cookie」「config」のみっつ" +"の値のみ許可されていますが、 許可されない" +"「%s」が入力されました。" + +#: htdocs/login_form.php:24 htdocs/logout.php:27 lib/server_functions.php:1993 +#: lib/server_functions.php:2066 lib/server_functions.php:2348 +#: lib/server_functions.php:2396 +#, php-format +msgid "Unknown auth_type: %s" +msgstr "未知の auth_type: %s" + +#: htdocs/login_form.php:46 +#, php-format +msgid "Authenticate to server %s" +msgstr "サーバー %s へ認証" + +#: htdocs/login_form.php:52 +msgid "" +"You are not using 'https'. Web browser will transmit login information in " +"clear text." +msgstr "" +"あなたは 'https' を使っていません。ログイン情報はブラウザからクリアテキストで" +"送信されます、" + +#: htdocs/login_form.php:53 +msgid "Warning: This web connection is unencrypted." +msgstr "警告: このウェブ接続は暗号化されていません。" + +#: htdocs/login_form.php:82 +msgid "User name" +msgstr "ユーザー名" + +#: htdocs/login_form.php:84 +msgid "Login DN" +msgstr "ログイン DN" + +#: htdocs/login_form.php:92 +msgid "Password" +msgstr "パスワード" + +#: htdocs/login_form.php:97 +msgid "Authenticate" +msgstr "認証" + +#: htdocs/logout.php:19 +msgid "No one is logged in to that server." +msgstr "誰もそのサーバーにログインしていません。" + +#: htdocs/logout.php:23 lib/timeout_functions.php:77 +msgid "Could not logout." +msgstr "ログアウトできませんでした。" + +#: htdocs/logout.php:39 +#, php-format +msgid "Logged out successfully from server %s" +msgstr "サーバー %s からログアウトに成功しました" + +#: htdocs/mass_delete.php:24 +msgid "Unable to delete, server is in READY-ONLY mode." +msgstr "削除できません。サーバーは読み込み専用モードです。" + +#: htdocs/mass_delete.php:30 +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "" +"mass_delete.php 呼び出し中のエラーです。POST 値から mass_delete が見かりませ" +"ん。" + +#: htdocs/mass_delete.php:35 +msgid "mass_delete POST var is not an array." +msgstr "mass_delete POST 辺りが配列ではありません。" + +#: htdocs/mass_delete.php:38 +msgid "" +"Mass deletion is not enabled. Please enable it in config.php before " +"proceeding." +msgstr "" +"一括削除が有効ではありません。次に進む前に config.php でそれを有効にしてくだ" +"さい。" + +#: htdocs/mass_delete.php:43 +msgid "Mass Deleting" +msgstr "一括削除中" + +#: htdocs/mass_delete.php:46 +#, php-format +msgid "Deletion progress on server \"%s\"" +msgstr "サーバー \"%s\" から削除中" + +#: htdocs/mass_delete.php:54 +msgid "Malformed mass_delete array." +msgstr "おかしい mass_delete 配列です。" + +#: htdocs/mass_delete.php:58 +msgid "You did not select any entries to delete." +msgstr "削除するエントリが選択されていません。" + +#: htdocs/mass_delete.php:64 htdocs/rdelete.php:34 htdocs/rdelete.php:60 +#: htdocs/rdelete.php:77 +#, php-format +msgid "Deleting %s" +msgstr "%s 削除中" + +#: htdocs/mass_delete.php:92 +#, php-format +msgid "%s of %s entries failed to be deleted." +msgstr "%s 個のエントリが %s 個のエントリ中で削除できませんでした。" + +#: htdocs/mass_delete.php:94 +msgid "All entries deleted successfully." +msgstr "すべてのエントリの削除に成功しました。" + +#: htdocs/mass_delete.php:100 +#, php-format +msgid "Confirm mass delete of %s entries on server %s" +msgstr "%s エントリをサーバー %s から一括削除の確認" + +#: htdocs/mass_delete.php:103 +#, php-format +msgid "Do you really want to delete %s %s %s" +msgstr "本当に%s %s %sを削除しますか" + +#: htdocs/mass_delete.php:114 +msgid "Yes, delete!" +msgstr "はい、削除します!" + +#: htdocs/password_checker.php:26 +msgid "Password Checker Tool" +msgstr "パスワードチェックツール" + +#: htdocs/password_checker.php:36 +msgid "To" +msgstr "" + +#: htdocs/password_checker.php:45 +msgid "Passwords match!" +msgstr "パスワードが一致しました!" + +#: htdocs/password_checker.php:47 +msgid "Passwords do not match!" +msgstr "パスワードが一致しません!" + +#: htdocs/purge_cache.php:29 +msgid "No cache to purge." +msgstr "破棄するキャッシュはありませんでした。" + +#: htdocs/purge_cache.php:31 +#, php-format +msgid "Purged %s bytes of cache." +msgstr "%s バイトのキャッシュを破棄しました。" + +#: htdocs/rdelete.php:35 +msgid "Recursive delete progress" +msgstr "再帰削除進行" + +#: htdocs/rdelete.php:49 +#, php-format +msgid "Entry %s and sub-tree deleted successfully." +msgstr "エントリ %s とサブツリーの削除に成功しました。" + +#: htdocs/rdelete.php:70 htdocs/rdelete.php:87 +#, php-format +msgid "Failed to delete entry %s" +msgstr "エントリ %s の削除に失敗しました" + +#: htdocs/rename.php:29 +msgid "" +"You cannot rename an entry which has children entries (eg, the rename " +"operation is not allowed on non-leaf entries)" +msgstr "" +"子エントリを持つエントリは名称変更できません (eg, the rename operation is " +"not allowed on non-leaf entries)" + +#: htdocs/rename.php:37 +msgid "You did not change the RDN" +msgstr "RDN を変更しませんでした" + +#: htdocs/rename.php:45 +msgid "Invalid RDN value" +msgstr "無効な RDN 値" + +#: htdocs/rename.php:59 lib/server_functions.php:1529 +msgid "Could not rename the entry" +msgstr "エントリの名称変更が出来ませんでした" + +#: htdocs/rename_form.php:30 +msgid "Rename Entry" +msgstr "エントリ名称変更" + +#: htdocs/schema.php:35 +msgid "Could not retrieve schema from" +msgstr "次のスキーマを取得できません:" + +#: htdocs/schema.php:36 +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "" + +#: htdocs/schema.php:36 +msgid "The server does not fully support the LDAP protocol." +msgstr "このサーバーはすべての LDAP プロトコルをサポートしていません。" + +#: htdocs/schema.php:37 +msgid "Your version of PHP does not correctly perform the query." +msgstr "この PHP のバージョンは正確に照会を行えません。" + +#: htdocs/schema.php:37 +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "" +"あるいは、phpLDAPadmin は、あなたのサーバーからスキーマを取得する方法を知りま" +"せん。" + +#: htdocs/schema.php:38 +msgid "Or lastly, your LDAP server doesnt provide this information." +msgstr "Or lastly, LDAP サーバーはこの情報を提供していません。" + +#: htdocs/schema.php:43 +msgid "Schema for server" +msgstr "サーバーのスキーマ" + +#: htdocs/schema.php:55 htdocs/schema.php:57 +msgid "Attribute Types" +msgstr "属性タイプ" + +#: htdocs/schema.php:60 htdocs/schema.php:62 +msgid "Syntaxes" +msgstr "文法一覧" + +#: htdocs/schema.php:65 htdocs/schema.php:67 +msgid "Matching Rules" +msgstr "一致ルール" + +#: htdocs/schema.php:79 +msgid "Syntax OID" +msgstr "文法 OID" + +#: htdocs/schema.php:112 +msgid "Jump to an attribute type" +msgstr "属性タイプに移動" + +#: htdocs/schema.php:128 htdocs/schema.php:322 htdocs/schema.php:367 +#: htdocs/schema.php:403 +msgid "Go" +msgstr "Go" + +#: htdocs/schema.php:159 +msgid "no description" +msgstr "説明がありません" + +#: htdocs/schema.php:169 htdocs/schema.php:345 +msgid "Obsolete" +msgstr "旧式" + +#: htdocs/schema.php:170 htdocs/schema.php:227 htdocs/schema.php:232 +#: htdocs/schema.php:237 +msgid "Yes" +msgstr "はい" + +#: htdocs/schema.php:170 htdocs/schema.php:227 htdocs/schema.php:232 +#: htdocs/schema.php:237 +msgid "No" +msgstr "いいえ" + +#: htdocs/schema.php:174 htdocs/schema.php:435 +msgid "Inherits from" +msgstr "継承元" + +#: htdocs/schema.php:189 +msgid "Equality" +msgstr "等価" + +#: htdocs/schema.php:191 htdocs/schema.php:199 htdocs/schema.php:205 +#: htdocs/schema.php:242 +msgid "not specified" +msgstr "指定されていません" + +#: htdocs/schema.php:197 +msgid "Ordering" +msgstr "Ordering" + +#: htdocs/schema.php:203 +msgid "Substring Rule" +msgstr "副文字列ルール" + +#: htdocs/schema.php:226 +msgid "Single Valued" +msgstr "単一の値" + +#: htdocs/schema.php:231 +msgid "Collective" +msgstr "集合" + +#: htdocs/schema.php:236 +msgid "User Modification" +msgstr "ユーザー修正" + +#: htdocs/schema.php:241 +msgid "Usage" +msgstr "使用法" + +#: htdocs/schema.php:250 +msgid "not applicable" +msgstr "適用可能ではありません" + +#: htdocs/schema.php:254 +msgid "character" +msgstr "文字" + +#: htdocs/schema.php:260 +msgid "Aliases" +msgstr "別名" + +#: htdocs/schema.php:275 +msgid "Used by objectClasses" +msgstr "objectClass を使する" + +#: htdocs/schema.php:305 +msgid "Jump to a matching rule" +msgstr "一致ルールにジャンプ" + +#: htdocs/schema.php:327 +msgid "Matching Rule OID" +msgstr "適用ルール OID" + +#: htdocs/schema.php:327 +msgid "Name" +msgstr "名前" + +#: htdocs/schema.php:327 +msgid "Used by Attributes" +msgstr "属性で使する" + +#: htdocs/schema.php:385 +msgid "Jump to an objectClass" +msgstr "objectClass に移動" + +#: htdocs/schema.php:423 +msgid "OID" +msgstr "OID" + +#: htdocs/schema.php:429 +msgid "Type" +msgstr "種類" + +#: htdocs/schema.php:432 +msgid "This objectClass is obsolete." +msgstr "この objectClass は旧式です。" + +#: htdocs/schema.php:445 htdocs/schema.php:468 +msgid "Jump to this objectClass definition" +msgstr "この objectClass 定義に移動" + +#: htdocs/schema.php:455 +msgid "Parent to" +msgstr "派生先" + +#: htdocs/schema.php:496 htdocs/schema.php:525 +msgid "Inherited from" +msgstr "派生元" + +#: htdocs/schema.php:552 +#, php-format +msgid "No such schema item: \"%s\"" +msgstr "スキーマ項目がありません: \"%s\"" + +#: htdocs/search.php:109 +msgid "" +"You have not logged into the selected server yet, so you cannot perform " +"searches on it." +msgstr "" + +#: htdocs/search.php:109 +msgid "Click here to go to the login form" +msgstr "ここをクリックするとログインフォームに移動します" + +#: htdocs/search.php:176 +msgid "Unrecognized criteria option: " +msgstr "未承認の基準オプション: " + +#: htdocs/search.php:176 +msgid "" +"If you want to add your own criteria to the list. Be sure to edit search.php " +"to handle them. Quitting." +msgstr "" + +#: htdocs/search.php:180 +msgid "Searching..." +msgstr "検索中..." + +#: htdocs/search.php:213 lib/export_functions.php:256 +msgid "Encountered an error while performing search." +msgstr "検索実行中にエラーに遭遇しました。" + +#: htdocs/search.php:228 +msgid "Entries found: " +msgstr "エントリ発見: " + +#: htdocs/search.php:229 htdocs/search.php:357 +msgid "seconds" +msgstr "秒" + +#: htdocs/search.php:238 +msgid "export results" +msgstr "結果エクスポート" + +#: htdocs/search.php:240 +msgid "Format" +msgstr "書式" + +#: htdocs/search.php:260 +msgid "Base DN: " +msgstr "ベース DN: " + +#: htdocs/search.php:262 +msgid "Filter performed: " +msgstr "検索実行: " + +#: htdocs/search.php:274 +msgid "Notice, search size limit exceeded." +msgstr "通知です。検索サイズが制限を越えました。" + +#: htdocs/search.php:282 +#, php-format +msgid "Showing results %s through %s." +msgstr "" + +#: htdocs/search.php:288 htdocs/search.php:326 htdocs/template_engine.php:527 +#, php-format +msgid "Page %d" +msgstr "ページ %d" + +#: htdocs/search.php:335 +msgid "The search found no results." +msgstr "検索結果がありませんでした。" + +#: htdocs/search.php:348 +#, php-format +msgid "Unrecognized search result format: %s" +msgstr "認識できない書式の検索結果です: %s" + +#: htdocs/search.php:357 +msgid "Search performed by phpLDAPadmin in" +msgstr "phpLDadmin で検索を実行" + +#: htdocs/server_info.php:68 +msgid "Server info for: " +msgstr "サーバー情報: " + +#: htdocs/server_info.php:69 +msgid "Server reports the following information about itself" +msgstr "サーバーは自分自身で次の情報を報告しました。" + +#: htdocs/server_info.php:73 +msgid "This server has nothing to report." +msgstr "このサーバーはなにも報告するものはありません。" + +#: htdocs/template_engine.php:150 +#, fuzzy, php-format +msgid "Your template is missing variable (%s)" +msgstr "テンプレートは値(%s)が見つかりません" + +#: htdocs/template_engine.php:158 +#, php-format +msgid "Your template has an unknown post function (%s)." +msgstr "" + +#: htdocs/template_engine.php:241 +#, php-format +msgid "Attribute [%s] is a MUST attribute, so it cannot be disabled." +msgstr "" + +#: htdocs/template_engine.php:381 htdocs/template_engine.php:383 +msgid "Verify" +msgstr "確認" + +#: htdocs/template_engine.php:449 +#, php-format +msgid "We are missing a page for [%s] attributes." +msgstr "" + +#: htdocs/template_engine.php:504 +msgid "(Auto evaluated on submission.)" +msgstr "" + +#: htdocs/template_engine.php:514 +msgid "Next Page" +msgstr "次のページ" + +#: htdocs/template_engine.php:654 +msgid "This attribute is required for the RDN." +msgstr "この属性は RDN に必要です。" + +#: htdocs/template_engine.php:814 htdocs/template_engine.php:856 +msgid "Check password..." +msgstr "パスワード検査..." + +#: htdocs/template_engine.php:817 +msgid "rename" +msgstr "名称変更" + +#: htdocs/timeout.php:29 +msgid "Your Session timed out after" +msgstr "セッションは" + +#: htdocs/timeout.php:29 +msgid "min. of inactivity. You have been automatically logged out." +msgstr "分活動しなかったのでタイムアウトです。自動でログアウトしました。" + +#: htdocs/timeout.php:32 +msgid "To log back in please click on the following link:" +msgstr "再ログインするには次のリンクをクリックしてください:" + +#: htdocs/timeout.php:33 htdocs/update.php:117 lib/tree_functions.php:281 +msgid "Login..." +msgstr "ログイン..." + +#: htdocs/tree.php:72 htdocs/tree.php:73 +msgid "Home" +msgstr "ホーム" + +#: htdocs/tree.php:74 htdocs/tree.php:75 +msgid "Purge caches" +msgstr "キャッシュ破棄" + +#: htdocs/tree.php:75 +msgid "Purge all cached data in phpLDAPadmin, including server schemas." +msgstr "" +"サーバースキーマを含む、phpLDAPadmin のすべてのキャッシュを破棄しました。" + +#: htdocs/tree.php:79 +msgid "light" +msgstr "" + +#: htdocs/tree.php:80 +msgid "Request feature" +msgstr "機能リクエスト" + +#: htdocs/tree.php:81 +msgid "bug" +msgstr "不都合" + +#: htdocs/tree.php:82 +msgid "Report a bug" +msgstr "不都合報告" + +#: htdocs/tree.php:85 htdocs/tree.php:86 htdocs/welcome.php:33 +msgid "Donate" +msgstr "寄附" + +#: htdocs/tree.php:89 htdocs/tree.php:90 +msgid "Help" +msgstr "ヘルプ" + +#: htdocs/update.php:38 +msgid "" +"update_array is malformed. This might be a phpLDAPadmin bug. Please report " +"it." +msgstr "" +"update_array がおかしいです。これは phpLDAPadmin のバグかもしれませんので、報" +"告してください。" + +#: htdocs/update.php:114 +msgid "Modification successful!" +msgstr "修正に成功しました!" + +#: htdocs/update.php:116 +msgid "" +"Since you changed your password, you must now login again with your new " +"password." +msgstr "" +"パスワードを変更したので、今から新しいパスワードで再ログインしなければなりま" +"せん。" + +#: htdocs/update_confirm.php:112 +msgid "Do you want to make these changes?" +msgstr "変更をしたいですか?" + +#: htdocs/update_confirm.php:122 +msgid "Old Value" +msgstr "古い値" + +#: htdocs/update_confirm.php:123 +msgid "New Value" +msgstr "新しい値" + +#: htdocs/update_confirm.php:124 +msgid "Skip" +msgstr "飛ばす" + +#: htdocs/update_confirm.php:177 htdocs/update_confirm.php:191 +msgid "[attribute deleted]" +msgstr "[属性を削除しました]" + +#: htdocs/update_confirm.php:225 +msgid "Commit" +msgstr "コミット" + +#: htdocs/update_confirm.php:246 +msgid "You made no changes" +msgstr "変更はありません" + +#: htdocs/update_confirm.php:247 +msgid "Go back" +msgstr "戻る" + +#: htdocs/view_jpeg_photo.php:17 +msgid "Unsafe file name: " +msgstr "安全でないファイル名: " + +#: htdocs/view_jpeg_photo.php:24 +msgid "No such file: " +msgstr "ファイルがありません: " + +#: htdocs/welcome.php:21 +msgid "phpLDAPadmin logo" +msgstr "phpLDAPadmin ロゴ" + +#: htdocs/welcome.php:24 +msgid "Use the menu to the left to navigate" +msgstr "左へのメニューを使用して操作します" + +#: htdocs/welcome.php:31 +msgid "Credits" +msgstr "クレジット" + +#: htdocs/welcome.php:32 +msgid "Documentation" +msgstr "ドキュメント" + +#: lib/export_functions.php:38 +msgid "CSV (Spreadsheet)" +msgstr "CSV (スプレッドシート)" + +#: lib/export_functions.php:197 +#, php-format +msgid "" +"Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "%s に phpLDAPadmin ( http://www.phpldapadmin.com/ ) で生成しました。" + +#: lib/export_functions.php:201 +msgid "Total Entries" +msgstr "総エントリ" + +#: lib/export_functions.php:312 +#, php-format +msgid "LDIF Export for: %s" +msgstr "LDIF エクスポート: %s" + +#: lib/export_functions.php:319 +msgid "Entry" +msgstr "エントリ" + +#: lib/export_functions.php:414 +#, php-format +msgid "DSLM Export for: %s" +msgstr "DSLM エクスポート: %s" + +#: lib/functions.php:412 +#, fuzzy, php-format +msgid "" +"You specified the \"auto_uid_number_mechanism\" as \"search\" in your\n" +" configuration for server %s, but you " +"did not specify the\n" +" \"auto_uid_number_search_base\". Please " +"specify it before proceeding." +msgstr "" +"サーバー %s の設定で「search」に「auto_uid_number_mechanism」を指定し" +"ました。 しかし「auto_uid_number_search_base」が" +"指定されていません。 これを実行前に指定してくだ" +"さい。" + +#: lib/functions.php:421 +#, php-format +msgid "" +"Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base " +"for server %s" +msgstr "" +"phpLDAPadmin の設定で、サーバー %s に無効な auto_uid_search_base が指定されま" +"した" + +#: lib/functions.php:432 +#, php-format +msgid "" +"Unable to bind to %s with your with auto_uid credentials. Please " +"check your configuration file." +msgstr "" +"Unable to bind to %s with your with auto_uid credentials. 設定ファイル" +"を確認してください。" + +#: lib/functions.php:492 +#, fuzzy, php-format +msgid "" +"You specified an invalid value for auto_uid_number_mechanism (\"%s\")\n" +" in your configration. Only \"uidpool\" " +"and \"search\" are valid.\n" +" Please correct this problem." +msgstr "" +"設定ファイルの auto_uid_number_mechanism の指定が間違った値(\"%s\")で" +"す。 \"uidpool\" と \"search\" のみ有効で" +"す。 この問題を修正してください。" + +#: lib/functions.php:1007 +msgid "Error" +msgstr "エラー" + +#: lib/functions.php:1017 +#, php-format +msgid "LDAP said: %s" +msgstr "LDAP の回答: %s" + +#: lib/functions.php:1026 +#, php-format +msgid "Error number: %s (%s)" +msgstr "エラー番号: %s (%s)" + +#: lib/functions.php:1028 +#, php-format +msgid "Description: %s

    " +msgstr "説明: %s

    " + +#: lib/functions.php:1030 lib/functions.php:1036 +#, php-format +msgid "Error number: %s

    " +msgstr "エラー番号: %s

    " + +#: lib/functions.php:1032 +msgid "Description: (no description available)
    " +msgstr "説明: (利用可能な説明がありませんでした)
    " + +#: lib/functions.php:1044 +#, php-format +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "" +"これは phpLDAPadmin の不都合ですか? もしそうなら 報告 してく" +"ださい。" + +#: lib/functions.php:1107 +msgid "Unrecognized error number: " +msgstr "未承認のエラー番号: " + +#: lib/functions.php:1112 +#, fuzzy, php-format +msgid "" +"

    \n" +" \n" +"\t\n" +"\t\n" +"\t
    \n" +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s\n" +"
    Web server:%s
    Please check and see " +"if this bug has been reported here.
    If it hasnt been " +"reported, you may report this bug by clicking here.

    " +msgstr "" +"
    \t\t
    致命的でない " +"phpLDAPadmin の不都合を発見しました!
    エラー:" +"%s (%s)
    ファイル: %s " +"行 %s, caller %s
    バージョン:PLA: %" +"s, PHP: %s, SAPI: %s
    ウェブ" +"サーバー:%s
    \t
    Please check and see if this bug has been reported here.
    If it hasnt " +"been reported, you may report this bug by clicking here.

    " + +#: lib/functions.php:1126 +#, fuzzy, php-format +msgid "" +"Congratulations! You found a bug in phpLDAPadmin.

    \n" +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    \n" +"\t
    \n" +"\t Please report this bug by clicking below!" +msgstr "" +"おめでとうございます! phpLDAPadmin で不都合を発見しました。

    " +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t \n" +"\t
    エラー:%s
    レベル:%s
    ファイル:%s
    行:%s
    Caller:%s
    PLA バージョン:%s
    PHP バージョン:%s
    PHP SAPI:%s
    ウェブサーバー:%s
    \n" +"\t
    \n" +"\t 下記をクリックしてこの不都合を報告してください!" + +#: lib/functions.php:1209 +#, php-format +msgid "Could not fetch jpeg data from LDAP server for attribute %s." +msgstr "属性 %s 用に LDAP サーバーから jpeg データを取得できませんでした。" + +#: lib/functions.php:1215 +msgid "" +"Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config." +"php" +msgstr "" +"phpLDAPadmin の設定ファイル config.php で、書き込み可能なディレクトリを " +"$jpeg_temp_dir に設定してください。" + +#: lib/functions.php:1224 +#, php-format +msgid "" +"Could not write to the $jpeg_temp_dir directory %s. Please verify that your " +"web server can write files there." +msgstr "" +"$jpeg_temp_dir で指定したディレクトリ %s に書き込みできません。ウェブサーバー" +"がそこにファイルを書き込みできることを確認してください。" + +#: lib/functions.php:1230 +msgid "jpegPhoto contains errors
    " +msgstr "エラーを含む jpeg 写真
    " + +#: lib/functions.php:1232 +msgid "Delete Photo" +msgstr "写真削除" + +#: lib/functions.php:1267 +msgid "Delete photo" +msgstr "写真を削除する" + +#: lib/functions.php:1308 lib/functions.php:1486 +msgid "Your system crypt library does not support extended DES encryption." +msgstr "システムの暗号化ライブラリは拡張 DES 暗号化をサポートしていません。" + +#: lib/functions.php:1315 lib/functions.php:1471 +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "システムの暗号化ライブラリは md5crypt 暗号化をサポートしていません。" + +#: lib/functions.php:1322 lib/functions.php:1456 +msgid "Your system crypt library does not support blowfish encryption." +msgstr "システムの暗号化ライブラリは blowfish 暗号化をサポートしていません。" + +#: lib/functions.php:1341 lib/functions.php:1352 lib/functions.php:1363 +#: lib/functions.php:1411 lib/functions.php:1429 +msgid "" +"Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "" +"インストールされた PHP は mhash() をサポートしていません。SHA ハッシュをする" +"ことができません。" + +#: lib/functions.php:1629 +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "" + +#: lib/functions.php:1633 +msgid "browse" +msgstr "閲覧" + +#: lib/functions.php:2026 +#, php-format +msgid "" +"Your config.php specifies an invalid value for $default_search_display: %s. " +"Please fix it" +msgstr "" +"config.php にて $default_search_display: %s の無効な値が指定されています。そ" +"れを修正してください。" + +#: lib/functions.php:2752 +msgid "Click to popup a dialog to select a date graphically" +msgstr "" + +#: lib/ldif_functions.php:169 +msgid "Missing attibutes or changetype attribute for entry" +msgstr "" + +#: lib/ldif_functions.php:243 +msgid "A valid dn line is required." +msgstr "有効な dn 行が必要です。" + +#: lib/ldif_functions.php:320 +msgid "Unable to read file" +msgstr "ファイルを読み込めません" + +#: lib/ldif_functions.php:327 +msgid "Unable to open file" +msgstr "ファイルを開けません" + +#: lib/ldif_functions.php:333 +msgid "The url attribute value should begin with file:///" +msgstr "URL 属性値は file:/// で始まっていなければなりません。" + +#: lib/ldif_functions.php:352 lib/ldif_functions.php:390 +msgid "Missing attributes for the entry" +msgstr "エントリの属性が見当たりません" + +#: lib/ldif_functions.php:375 +msgid "Attribute not well formed" +msgstr "属性は整形されていません" + +#: lib/ldif_functions.php:410 +msgid "The attribute name should be add, delete or replace" +msgstr "追加、削除もしくは置換には属性名がなければなりません。" + +#: lib/ldif_functions.php:448 +#, php-format +msgid "" +"The attribute to modify doesnt match the one specified by the %s attribute." +msgstr "" + +#: lib/ldif_functions.php:455 +msgid "Attribute is not valid" +msgstr "有効な DN ではありません。" + +#: lib/ldif_functions.php:483 +msgid "The entry is not valid" +msgstr "エントリは有効ではありません。" + +#: lib/ldif_functions.php:514 +msgid "The attribute name should be newsuperior" +msgstr "" + +#: lib/ldif_functions.php:525 +msgid "Container is null" +msgstr "コンテナーが NULL です。" + +#: lib/ldif_functions.php:532 +msgid "A valid deleteoldrdn attribute should be specified" +msgstr "" + +#: lib/ldif_functions.php:538 +#, fuzzy +msgid "A valid newrdn attribute should be specified" +msgstr "属性名が指定されていません。" + +#: lib/ldif_functions.php:621 +msgid "No version found. Assuming 1." +msgstr "バージョンが見つかりません。1 と仮定します。" + +#: lib/search_form_advanced.php:29 lib/search_form_predefined.php:23 +#: lib/search_form_simple.php:25 +msgid "Advanced Search Form" +msgstr "高度な検索フォーム" + +#: lib/search_form_advanced.php:30 lib/search_form_predefined.php:22 +#: lib/search_form_simple.php:24 +msgid "Simple Search Form" +msgstr "簡易検索フォーム" + +#: lib/search_form_advanced.php:31 lib/search_form_predefined.php:20 +#: lib/search_form_simple.php:26 +msgid "Predefined Searches" +msgstr "事前定義検索" + +#: lib/search_form_advanced.php:47 +msgid "This is not a valid DN." +msgstr "これは有効な DN ではありません。" + +#: lib/search_form_advanced.php:50 +msgid "This entry does not exist." +msgstr "このエントリは存在しません。" + +#: lib/search_form_advanced.php:56 +msgid "The scope in which to search" +msgstr "" + +#: lib/search_form_advanced.php:74 +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "標準 LDAP 検索フィルター。例: (&(sn=Smith)(givenname=David))" + +#: lib/search_form_advanced.php:81 +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "結果から属性の一覧を表示 (カンマ区切り)" + +#: lib/search_form_advanced.php:91 lib/search_form_predefined.php:57 +#: lib/search_form_simple.php:57 +msgid "Search" +msgstr "検索" + +#: lib/search_form_predefined.php:29 +msgid "No queries have been defined in config.php." +msgstr "config.php で定義された照会はありません。" + +#: lib/search_form_predefined.php:38 +msgid "Select a predefined search" +msgstr "事前定義された検索を選択" + +#: lib/search_form_simple.php:32 +msgid "Search for entries whose" +msgstr "どのエントリを検索" + +#: lib/server_functions.php:121 +#, fuzzy, php-format +msgid "" +"Error: You have an error in your config file. The only three allowed values " +"for auth_type in the $servers section are 'session', 'cookie', and 'config'. " +"You entered '%s', which is not allowed." +msgstr "" +"エラー: 設定ファイルのにエラーがあります。$servers セクションの auth_type " +"は 「session」「cookie」「config」のみっつ" +"の値のみ許可されていますが、 許可されない" +"「%s」が入力されました。" + +#: lib/server_functions.php:270 +msgid "Your PHP install does not support TLS." +msgstr "インストールされている PHP は TLS をサポートしていません。" + +#: lib/server_functions.php:271 +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "TLS を開始できません。LDAP サーバーの設定を確認してください。" + +#: lib/server_functions.php:285 +msgid "" +"Your PHP installation does not support ldap_sasl_bind() function. This " +"function is present in PHP 5.x when compiled with --with-ldap-sasl." +msgstr "" + +#: lib/server_functions.php:318 +#, php-format +msgid "" +"It seems that sasl_authz_id_regex \"%s\".\" contains invalid PCRE regular " +"expression." +msgstr "" + +#: lib/server_functions.php:350 +msgid "Insufficient access rights." +msgstr "不適当なアクセス権限です。" + +#: lib/server_functions.php:353 +#, php-format +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "\"%s\" のポート \"%s\" に接続できませんでした" + +#: lib/server_functions.php:356 +msgid "Could not bind to the LDAP server." +msgstr "LDAP サーバーに接続できませんでした。" + +#: lib/server_functions.php:2683 +#, php-format +msgid "" +"Unable to bind to %s with your with unique_attrs credentials. Please " +"check your configuration file." +msgstr "" +"Unable to bind to %s with your with unique_attrs credentials. 設定ファ" +"イルを確認してください。" + +#: lib/template_functions.php:541 +msgid "A random password was generated for you" +msgstr "ランダムなパスワードが生成されました。" + +#: lib/template_functions.php:562 +#, php-format +msgid "" +"Your template calls php.Function for a default value, however (%s) is NOT " +"available in the POST FORM variables. The following variables are available " +"[%s]." +msgstr "" + +#: lib/tree_functions.php:46 +#, php-format +msgid "Inactivity will log you off at %s" +msgstr "%s は活動的でなかったのでログアウトしました。" + +#: lib/tree_functions.php:67 +msgid "View schema for" +msgstr "スキーマを閲覧 対象:" + +#: lib/tree_functions.php:67 +msgid "schema" +msgstr "スキーマ" + +#: lib/tree_functions.php:68 +msgid "search" +msgstr "検索" + +#: lib/tree_functions.php:69 +msgid "Refresh all expanded containers for" +msgstr "展開済みの内容を再描画 対象:" + +#: lib/tree_functions.php:69 +msgid "refresh" +msgstr "再描画" + +#: lib/tree_functions.php:70 +msgid "View server-supplied information" +msgstr "サーバーが提供する情報を閲覧" + +#: lib/tree_functions.php:70 +msgid "info" +msgstr "情報" + +#: lib/tree_functions.php:71 +msgid "Import entries from an LDIF file" +msgstr "LDIF ファイルからのインポートエントリ" + +#: lib/tree_functions.php:71 +msgid "import" +msgstr "インポート" + +#: lib/tree_functions.php:72 +msgid "export" +msgstr "エクスポート" + +#: lib/tree_functions.php:75 +msgid "Logout of this server" +msgstr "このサーバーのログアウト" + +#: lib/tree_functions.php:75 lib/tree_functions.php:269 +msgid "logout" +msgstr "ログアウト" + +#: lib/tree_functions.php:81 +msgid "Logged in as: " +msgstr "次のコンテナでログイン: " + +#: lib/tree_functions.php:163 +msgid "This base entry does not exist." +msgstr "ベースエントリが存在しません。" + +#: lib/tree_functions.php:163 +msgid "Create it?" +msgstr "作成しますか?" + +#: lib/tree_functions.php:219 +msgid "Could not determine the root of your LDAP tree." +msgstr "LDAP ツリーのルートが決定できません。" + +#: lib/tree_functions.php:219 +msgid "" +"It appears that the LDAP server has been configured to not reveal its root." +msgstr "LDAP サーバーが root を見えないように設定しているように見えます。" + +#: lib/tree_functions.php:219 +msgid "Please specify it in config.php" +msgstr "config.php でそれを指定してください。" + +#: lib/tree_functions.php:263 +msgid "warning" +msgstr "警告" + +#: lib/tree_functions.php:281 +msgid "login" +msgstr "ログイン" + +#: lib/tree_functions.php:285 +msgid "(Session timed out. Automatically logged out.)" +msgstr "(セッションはタイムアウトです。自動でログアウトしました)" + +#: lib/tree_functions.php:289 +msgid "Delete Checked Entries" +msgstr "チェックされたエントリを削除する" + +#: lib/tree_functions.php:429 +msgid "Click to expand this branch." +msgstr "クリックするとこの枝を展開します。" + +#: lib/tree_functions.php:463 +msgid "new" +msgstr "新規" + +#: lib/tree_functions.php:465 +msgid "Create a new entry in" +msgstr "" + +#: lib/tree_functions.php:465 +msgid "Create new entry here" +msgstr "ここに新規エントリを追加" + +#~ msgid "list" +#~ msgstr "一覧" + +#~ msgid "table" +#~ msgstr "テーブル" + +#~ msgid "create" +#~ msgstr "作成" + +#~ msgid "Create a new entry on" +#~ msgstr "エントリを新規作成 対象:" + +#~ msgid "View" +#~ msgstr "閲覧" + +#~ msgid "Bad server id" +#~ msgstr "間違ったサーバー ID" + +#~ msgid "No DN specified in query string!" +#~ msgstr "照会文字列に DN が指定されていません!" + +#~ msgid "Back" +#~ msgstr "戻る" + +#~ msgid "object" +#~ msgstr "オブジェクト" + +#~ msgid "Delete all" +#~ msgstr "すべて削除" + +#~ msgid "hint" +#~ msgstr "ヒント" + +#~ msgid "Warning: missing template file, " +#~ msgstr "警告: テンプレートファイルがありません。 " + +#~ msgid "Using default." +#~ msgstr "デフォルトを使います。" + +#~ msgid "You must choose a template" +#~ msgstr "テンプレートを選ばなければなりません" + +#~ msgid "%s is an invalid template" +#~ msgstr "%s は無効なテンプレート" + +#~ msgid "equals" +#~ msgstr "に一致" + +#~ msgid "starts with" +#~ msgstr "で始まる" + +#~ msgid "contains" +#~ msgstr "を含む" + +#~ msgid "ends with" +#~ msgstr "で終わる" + +#~ msgid "sounds like" +#~ msgstr "に近い" + +#~ msgid "" +#~ "Could not retrieve LDAP information from the server. This may be due to a " +#~ "bug in your version " +#~ "of PHP or perhaps your LDAP server has access control specified that " +#~ "prevents LDAP clients from accessing the RootDSE." +#~ msgstr "" +#~ "サーバーから LDAP 情報を取得できませんでした。これはあなたの PHP バージョ" +#~ "ンの不都合によるかも" +#~ "しれません。あるいは、あなたの LDAP サーバーは、LDAP クライアントが " +#~ "RootDSE にアクセスするのを防ぐアクセス制御指定をしています。" + +#~ msgid "ChangeLog" +#~ msgstr "変更履歴" + +#~ msgid "" +#~ "To donate funds to the phpLDAPadmin project, use one of the PayPal " +#~ "buttons below." +#~ msgstr "" +#~ "phpLDAPadmin プロジェクトに資金を寄贈するためには、PayPal ボタンのうちの " +#~ "1 つを下に使用してください。" + +#~ msgid "Donate %s" +#~ msgstr "%s を寄贈" + +#~ msgid "" +#~ "You have enabled auto_uid_numbers for %s in your " +#~ "configuration, but you have not " +#~ "specified the auto_uid_number_mechanism. Please " +#~ "correct this problem." +#~ msgstr "" +#~ "設定ファイルの %sYou の auto_uid_numbers が有効です" +#~ "が、 auto_uid_number_mechanism が指定され" +#~ "ていません。 この問題を修正してくださ" +#~ "い。." + +#~ msgid "" +#~ "You specified the \"auto_uid_number_mechanism\" as \"uidpool" +#~ "\" in your configuration for server %s, " +#~ "but you did not specify the " +#~ "audo_uid_number_uid_pool_dn. Please specify it before proceeding." +#~ msgstr "" +#~ "サーバー %s の設定で、\"auto_uid_number_mechanism\" を \"uidpool\" " +#~ "に指定していますが、 " +#~ "audo_uid_number_uid_pool_dn を指定していませ" +#~ "ん。 続行する前にそれを指定してください" + +#~ msgid "Deletes not allowed in read only mode." +#~ msgstr "読み込み専用モードでは削除は許可されていません。" + +#~ msgid "default template" +#~ msgstr "デフォルトテンプレート" + +#~ msgid "User Account (posixAccount)" +#~ msgstr "ユーザーアカウント (posixAccount)" + +#~ msgid "Address Book Entry (inetOrgPerson)" +#~ msgstr "アドレス帳エントリ (inetOrgPerson)" + +#~ msgid "Address Book Entry (mozillaOrgPerson)" +#~ msgstr "アドレス帳エントリ (mozillaOrgPerson)" + +#~ msgid "Kolab User Entry" +#~ msgstr "Kolab ユーザーエントリ" + +#~ msgid "Organisational Unit" +#~ msgstr "所属組織" + +#~ msgid "New Organisational Unit" +#~ msgstr "新規所属組織" + +#~ msgid "Organisational Role" +#~ msgstr "所属職務" + +#~ msgid "Posix Group" +#~ msgstr "Posix グループ" + +#~ msgid "Samba NT Machine" +#~ msgstr "Samba NT マシン" + +#~ msgid "Samba 3 NT Machine" +#~ msgstr "Samba 3 NT マシン" + +#~ msgid "Samba User" +#~ msgstr "Samba ユーザー" + +#~ msgid "Samba 3 User" +#~ msgstr "Samba 3 ユーザー" + +#~ msgid "Samba 3 Group Mapping" +#~ msgstr "Samba 3 グループマップ" + +#~ msgid "DNS Entry" +#~ msgstr "DNS エントリ" + +#~ msgid "Simple Security Object" +#~ msgstr "簡易セキュリティオブジェクト" + +#~ msgid "Courier Mail Account" +#~ msgstr "Courier メールアカウント" + +#~ msgid "Courier Mail Alias" +#~ msgstr "Courier メール別名" + +#~ msgid "LDAP Alias" +#~ msgstr "LDAP 別名" + +#~ msgid "Sendmail Cluster" +#~ msgstr "Sendmail クラスター" + +#~ msgid "Sendmail Domain" +#~ msgstr "Sendmail ドメイン" + +#~ msgid "Sendmail Alias" +#~ msgstr "Sendmail エイリアス" + +#~ msgid "Sendmail Virtual Domain" +#~ msgstr "Sendmail 仮想ドメイン" + +#~ msgid "Sendmail Virtual Users" +#~ msgstr "Sendmail 仮想ユーザー" + +#~ msgid "Sendmail Relays" +#~ msgstr "Sendmail リレー" + +#~ msgid "Custom" +#~ msgstr "カスタム" + +#~ msgid "My Samba domain Name" +#~ msgstr "自分の Samba ドメイン名" + +#~ msgid "Administrators" +#~ msgstr "Administrators" + +#~ msgid "Users" +#~ msgstr "Users" + +#~ msgid "Guests" +#~ msgstr "Guests" + +#~ msgid "Power Users" +#~ msgstr "Power Users" + +#~ msgid "Account Operators" +#~ msgstr "Account Operators" + +#~ msgid "Server Operators" +#~ msgstr "Server Operators" + +#~ msgid "Print Operators" +#~ msgstr "Print Operators" + +#~ msgid "Backup Operators" +#~ msgstr "Backup Operators" + +#~ msgid "Replicator" +#~ msgstr "Replicator" + +#~ msgid "" +#~ " Unable to create the Samba passwords. Please, check the configuration in " +#~ "template_config.php" +#~ msgstr "" +#~ " Samba のパスワードを作成できませんでした。template_config.php の設定を確" +#~ "認してください。" + +#~ msgid "Error: You have an error in your samba confguration." +#~ msgstr "エラー: samba の設定にエラーがあります。" + +#~ msgid "Error: A name and a sid for your samba domain need to be provided." +#~ msgstr "エラー: samba ドメインの名前および sid を提供する必要があります。" + +#~ msgid "Error: No name provided for samba domain." +#~ msgstr "エラー: 名前は samba ドメインに提供されませんでした。" + +#~ msgid "Error: No sid provided for samba domain." +#~ msgstr "エラー: sid は samba ドメインに提供されませんでした。" + +#~ msgid "Samba Account" +#~ msgstr "Samba アカウント" + +#~ msgid "samba account" +#~ msgstr "samba アカウント" + +#~ msgid "New User Account" +#~ msgstr "新規ユーザーアカウント" + +#~ msgid "" +#~ "Hint: To customize this template, edit the file templates/creation/" +#~ "new_user_template.php" +#~ msgstr "" +#~ "ヒント: このテンプレートをカスタマイズする場合、ファイル templates/" +#~ "creation/new_user_template.php を編集します。" + +#~ msgid "Last name" +#~ msgstr "苗字" + +#~ msgid "State" +#~ msgstr "地域" + +#~ msgid "Common name" +#~ msgstr "共通名" + +#~ msgid "Encryption" +#~ msgstr "暗号化" + +#~ msgid "Login Shell" +#~ msgstr "ログインシェル" + +#~ msgid "Home Directory" +#~ msgstr "ホームディレクトリ" + +#~ msgid "UID Number" +#~ msgstr "UID 番号" + +#~ msgid "(automatically determined)" +#~ msgstr "(自動採決)" + +#~ msgid "Group" +#~ msgstr "グループ" + +#~ msgid "GID Number" +#~ msgstr "GID 番号" + +#~ msgid "User ID" +#~ msgstr "ユーザー ID" + +#~ msgid "Your passwords don't match. Please go back and try again." +#~ msgstr "パスワードが一致しません。戻ってからもう一度試してください。" + +#~ msgid "You cannot leave the %s blank. Please go back and try again." +#~ msgstr "" +#~ "%s ブランクを残すことはできません。戻ってからもう一度試してください。" + +#~ msgid "" +#~ "You can only enter numeric values for the %s field. Please go back and " +#~ "try again." +#~ msgstr "" +#~ "フィールド %s は数値のみ入力で出来ます。戻ってからもう一度試してください。" + +#~ msgid "" +#~ "The container you specified (%s) does not exist. Please go back and try " +#~ "again." +#~ msgstr "指定した内容(%s)は存在しません。戻ってからもう一度試してください。" + +#~ msgid "Confirm account creation" +#~ msgstr "アカウント作成確認" + +#~ msgid "Create Account" +#~ msgstr "アカウント作成" + +#~ msgid "New Posix Group" +#~ msgstr "新規 Posix グループ" + +#~ msgid "New Address Book Entry" +#~ msgstr "新規アドレス帳エントリ" + +#~ msgid "Organisation" +#~ msgstr "組織" + +#~ msgid "Address" +#~ msgstr "住所" + +#~ msgid "City" +#~ msgstr "都市" + +#~ msgid "Postal code" +#~ msgstr "郵便番号" + +#~ msgid "Street" +#~ msgstr "築町村" + +#~ msgid "Work phone" +#~ msgstr "業務電話" + +#~ msgid "Fax" +#~ msgstr "Fax" + +#~ msgid "Mobile" +#~ msgstr "携帯電話" + +#~ msgid "Email" +#~ msgstr "電子メール" + +#~ msgid "" +#~ "You cannot leave the Common Name blank. Please go back and try again." +#~ msgstr "" +#~ "一般名を空にすることは出来ません。戻ってからもう一度試してください。" + +#~ msgid "Confirm entry creation:" +#~ msgstr "エントリ作成の確認:" + +#~ msgid "Create Address" +#~ msgstr "アドレス作成" diff --git a/locale/nl_BE/LC_MESSAGES/messages.mo b/locale/nl_BE/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..ec0cefdd8efb54a88a7ec979a69667822593da36 GIT binary patch literal 20837 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 literal 0 HcmV?d00001 diff --git a/locale/nl_BE/LC_MESSAGES/messages.po b/locale/nl_BE/LC_MESSAGES/messages.po new file mode 100644 index 0000000..139097e --- /dev/null +++ b/locale/nl_BE/LC_MESSAGES/messages.po @@ -0,0 +1,867 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Richard Lucassen \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "eenvoudig zoeken" + + +msgid "Advanced Search Form" +msgstr "uitgebreid zoeken" + + +msgid "Server" +msgstr "server" + + +msgid "Search for entries whose" +msgstr "zoek naar velden waarvoor:" + + +msgid "Base DN" +msgstr "base DN" + + +msgid "Search Scope" +msgstr "zoekbereik" + + +msgid "Show Attributtes" +msgstr "attributen laten zien" + + +msgid "Search" +msgstr "zoeken" + + +msgid "equals" +msgstr "gelijk is aan" + + +msgid "contains" +msgstr "bevat" + + +msgid "Request feature" +msgstr "verzoek nieuwe feature" + + +msgid "Report a bug" +msgstr "rapporteer een bug" + + +msgid "schema" +msgstr "schema" + + +msgid "refresh" +msgstr "vernieuwen" + + +msgid "create" +msgstr "aanmaken" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importeer" + + +msgid "logout" +msgstr "uitloggen" + + +msgid "View schema for" +msgstr "schema inzien voor" + + +msgid "Refresh all expanded containers for" +msgstr "vernieuw alle uitgeklapte containers voor" + + +msgid "Create a new entry on" +msgstr "nieuw veld aanmaken in" + + +msgid "View server-supplied information" +msgstr "server informatie inzien" + + +msgid "Import entries from an LDIF file" +msgstr "importeer LDIF bestand" + + +msgid "Logout of this server" +msgstr "bij deze server uitloggen" + + +msgid "Logged in as: " +msgstr "ingelogd als: " + + +msgid "read only" +msgstr "alleen lezen" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "kan de root van LDAP structuur niet bepalen." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "kan de root van LDAP structuur niet bepalen" + + +msgid "Please specify it in config.php" +msgstr "in config.php aangeven a.u.b." + + +msgid "Delete this entry" +msgstr "veld verwijderen" + + +msgid "You will be prompted to confirm this decision" +msgstr "bevestiging zal worden gevraagd voor deze beslissing" + + +msgid "Copy or move this entry" +msgstr "dit veld kopieren" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "kopieer dit object naar een andere plaats, een niuewe DN of naar een andere server" + + +msgid "Create a child entry" +msgstr "subveld aanmaken" + + +msgid "Rename Entry" +msgstr "veld hernoemen" + + +msgid "Rename" +msgstr "hernoemen" + + +msgid "Add" +msgstr "toevoegen" + + +msgid "View" +msgstr "inzien" + + +msgid "Add new attribute" +msgstr "attribuut toevoegen" + + +msgid "Hide internal attributes" +msgstr "interne attributen verbergen" + + +msgid "Show internal attributes" +msgstr "interne attributen laten zien" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "klik hier om de schemadefinitie van attribuuttype '%s' te bekijken" + + +msgid "none" +msgstr "geen" + + +msgid "Save Changes" +msgstr "veranderingen opslaan" + + +msgid "add value" +msgstr "waarde toevoegen" + + +msgid "Add an additional value to attribute '%s'" +msgstr "voeg een extra waarde toe aan dit attribuut" + + +msgid "Refresh this entry" +msgstr "dit veld vernieuwen" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "tip: om een attribuut te verwijderen, maak deze leeg en sla hem op" + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Tip: om het schema voor een attribuut te bekijken, klik op de attribuutnaam" + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "sommige attributen (%s) zijn gewijzigd en worden ge-highlight weergegeven." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "een attribuut (%s) is gewijzigd en wordt ge-highlight weergegeven" + + +msgid "Viewing entry in read-only mode." +msgstr "veld bekijken (alleen-lezen)" + + +msgid "no new attributes available for this entry" +msgstr "geen nieuwe attributen beschikbaar voor dit veld" + + +msgid "Binary value" +msgstr "binaire waarde" + + +msgid "Add new binary attribute" +msgstr "nieuwe binair attribuut toevoegen" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "alias voor" + + +msgid "download value" +msgstr "waarde downloaden" + + +msgid "delete attribute" +msgstr "attribuut verwijderen" + + +msgid "true" +msgstr "waar" + + +msgid "false" +msgstr "onwaar" + + +msgid "none, remove value" +msgstr "niets, verwijder waarde" + + +msgid "Really delete attribute" +msgstr "dit attribuut echt verwijderen" + + +msgid "Jump to an objectClass" +msgstr "ga naar objectClass" + + +msgid "Jump to an attribute type" +msgstr "ga naar een attribuut" + + +msgid "Schema for server" +msgstr "schema voor server" + + +msgid "Required Attributes" +msgstr "vereiste attributen" + + +msgid "Optional Attributes" +msgstr "niet vereiste attributen" + + +msgid "OID" +msgstr "OID" + + +msgid "Description" +msgstr "omschrijving" + + +msgid "Name" +msgstr "naam" + + +msgid "This objectClass is obsolete." +msgstr "deze objectClass is verouderd" + + +msgid "Inherits from" +msgstr "afgeleid van" + + +msgid "Jump to this objectClass definition" +msgstr "ga naar objectClass definitie" + + +msgid "Matching Rule OID" +msgstr "overeenkomen met OID regel" + + +msgid "Syntax OID" +msgstr "Syntax OID" + + +msgid "not applicable" +msgstr "niet van toepassing" + + +msgid "not specified" +msgstr "niet gespecificeerd" + + +msgid "Entry %s deleted successfully." +msgstr "dit veld '%s' succesvol verwijderd" + + +msgid "You must specify a DN" +msgstr "U moet een DN aangeven." + + +msgid "Could not delete the entry: %s" +msgstr "kan dit veld niet verwijderen: %s" + + +msgid "New Required Attributes" +msgstr "nieuwe benodigde attributen" + + +msgid "This action requires you to add" +msgstr "voor deze actie moet worden toegevoegd:" + + +msgid "new attributes" +msgstr "nieuw attribuut" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instructies: om deze objectClass toe te voegen, moet u nog specificeren " + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "dat deze objectClass nodig heeft. U kunt dit in dit formulier doen." + + +msgid "Add ObjectClass and Attributes" +msgstr "objectClass en attributen toevoegen" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "klik om grafisch een veld te kiezen (DN)" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "U kunt niet opslaan als de server alleen lezen is" + + +msgid "Bad server id" +msgstr "ongeldig server ID" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Onvoldoende informatie om in te kunnen loggen. Controleer de configuratie." + + +msgid "Could not connect to LDAP server." +msgstr "Kan LDAP server niet vinden." + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Kan geen ldap_mod_add uitvoeren." + + +msgid "Success" +msgstr "succes" + + +msgid "Server: " +msgstr "server: " + + +msgid "Looking in: " +msgstr "bekijken: " + + +msgid "No DN specified in query string!" +msgstr "geen DN meegeven" + + +msgid "Back Up..." +msgstr "backup..." + + +msgid "no entries" +msgstr "geen velden" + + +msgid "Could not determine base DN" +msgstr "kan de basis-DN niet bepalen" + + +msgid "Add new" +msgstr "nieuw toevoegen" + + +msgid "value to" +msgstr "waarde" + + +msgid "Distinguished Name" +msgstr "Distinguished Name" + + +msgid "Current list of" +msgstr "huidige lijst van" + + +msgid "values for attribute" +msgstr "waarden voor attributen" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Info: U zult een \"inappropriate matching\" melding krijgen, indien u niet
    een EQUALITY regel op de LDAP Server voor dit attribuut ingesteld heeft." + + +msgid "Enter the value you would like to add:" +msgstr "geef de waarde die u wilt toevoegen:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Info: U kunt verzocht worden nieuwe attributen, die voor deze objectClass verplicht zijn, in te voeren." + + +msgid "Syntax" +msgstr "syntax" + + +msgid "You left the destination DN blank." +msgstr "de bestemmings DN is leeg" + + +msgid "The destination entry (%s) already exists." +msgstr "het veld (%s) bestaat al." + + +msgid "The destination container (%s) does not exist." +msgstr "het doel-veld (%s) bestaat niet." + + +msgid "The source and destination DN are the same." +msgstr "origineel DN en doel DN zijn hetzelfde" + + +msgid "Copying " +msgstr "kopieren" + + +msgid "Recursive copy progress" +msgstr "bezig met recursief kopieren" + + +msgid "Building snapshot of tree to copy... " +msgstr "bezig met het aanmaken van een snapshot van de boomstructuur... " + + +msgid "Copy successful! Would you like to " +msgstr "Kopieren succesvol! Wit u dan" + + +msgid "view the new entry" +msgstr "het nieuwe veld bekijken" + + +msgid "Failed to copy DN: " +msgstr "Kopieren van DN mislukt: " + + +msgid "Copy " +msgstr "Kopieren" + + +msgid "to a new object" +msgstr "naar een nieuw Objekt" + + +msgid "Destination DN" +msgstr "doel DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "De complete DN die aangemaakt wordt bij het kopieren van het bron-veld." + + +msgid "Destination Server" +msgstr "bestemmings server" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Info: kopieren tussen twee servers gaat alleen maar goped als er geen schema problemen zijn" + + +msgid "Recursively copy all children of this object as well." +msgstr "Recursief kopieren van alle sub-velden" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Fout. U heeft een verplicht veld leeggelaten." + + +msgid "Could not add the object to the LDAP server." +msgstr "kan het object niet toevoegen op de LDAP server." + + +msgid "Create Object" +msgstr "object aanmaken" + + +msgid "Choose a template" +msgstr "kies een template" + + +msgid "Select a template for the creation process" +msgstr "kies een template voor dit object" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "u bent nog niet ingelogd op de geselecteerde server, dus u kunt geen zoekopdrachten geven." + + +msgid "Click here to go to the login form" +msgstr "Klik hier om in te loggen" + + +msgid "Unrecognized criteria option: " +msgstr "Unrecognized criteria option: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Als u uw eigen crteria toe wilt voegen aan de lijst, dient u search.php te bewerken. Sluiten." + + +msgid "Entries found: " +msgstr "gevonden velden: " + + +msgid "Filter performed: " +msgstr "toegepast filter: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "zoeken door phpLDAPadmin duurde" + + +msgid "seconds" +msgstr "seconden" + + +msgid "Sub (entire subtree)" +msgstr "Sub (de hele tak)" + + +msgid "One (one level beneath base)" +msgstr "One (een laag diep)" + + +msgid "Base (base dn only)" +msgstr "Base (alleen de basis)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Standard LDAP zoekfilter. Voorbeeld.: (&(sn=Smith)(givenname=David))" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "komma gescheiden lijst van de attributen." + + +msgid "Select a predefined search" +msgstr "of een van deze lijst uitlezen" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "kan geen LDAP van de server krijgen" + + +msgid "Server info for: " +msgstr "Server info voor: " + + +msgid "Server reports the following information about itself" +msgstr "De server geeft de volgende informatie over zichzelf" + + +msgid "This server has nothing to report." +msgstr "De server heeft niets te melden" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "De update_array is niet goed. Dat kan een phpLDAPadmin bug zijn. Laat het ons weten!" + + +msgid "Could not perform ldap_modify operation." +msgstr "Kan ldap_modify niet uitvoeren." + + +msgid "Do you want to make these changes?" +msgstr "Deze veranderingen doorvoeren?" + + +msgid "Attribute" +msgstr "attribuut" + + +msgid "Old Value" +msgstr "oude waarde" + + +msgid "New Value" +msgstr "nieuwe waarde" + + +msgid "[attribute deleted]" +msgstr "[attribuut verwijderd]" + + +msgid "Commit" +msgstr "uitvoeren" + + +msgid "Cancel" +msgstr "annuleren" + + +msgid "You made no changes" +msgstr "U heeft geen veranderingen gemaakt." + + +msgid "Go back" +msgstr "terug" + + +msgid "Use the menu to the left to navigate" +msgstr "Gebruik het linkermenu om te navigeren." + + +msgid "Unsafe file name: " +msgstr "onveilige bestandsnaam: " + + +msgid "No such file: " +msgstr "Bestand bestaat niet: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "auto_uid_numbers is geactiveerd (%s, maar niet het mechanisme (auto_uid_number_mechanism). U dient dit alsnog te doen." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Het mechanisme auto_uid_number_mechanism is als uidpool voor server %s vastgelegd, maar niet de auto_uid_number_uid_pool_dn. U dient dit alsnog te doen." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "De uidPool die gespecificeerd is in de configuratie bestaat niet." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "De auto_uid_number_mechanism is als search in de configuratie voor de server %s bepaald, maar de waarde auto_uid_number_search_base niet. U dient dit alsnog te doen." + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Ongeldige waarde voor auto_uid_number_mechanism(%s). Alleen uidpool und search zijn geldig. Gaarne de fout herstellen " + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Fout: Er zit een fout inde configuratiefile (config.php). De enige twee waarden voor 'auth_type' in de $servers sectie zijn: 'config' of 'form'. U heeft er nu %s in staan en dat kan niet." + + +msgid "Your PHP install does not support TLS." +msgstr "Uw installatie ondersteunt geen TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Kan TLS niet starten.
    Controleer de LDAP-Server-configuratie." + + +msgid "LDAP said: %s" +msgstr "LDAP zegt: %s

    " + + +msgid "Error" +msgstr "Fout" + + +msgid "browse" +msgstr "navigeer" + + +msgid "Delete Photo" +msgstr "Foto verwijderen" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Uw PHP-Versie ondersteunt geen Blowfish versleuteling." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Uw PHP-Versie ondersteunt de functie mhash() niet, dus de SHA-hash is niet mogelijk." + + +msgid "jpegPhoto contains errors
    " +msgstr "Foto (jpg) bevat fouten" + + +msgid "Error number: %s (%s)" +msgstr "Foutnummer: %s(%s)

    " + + +msgid "Description: %s

    " +msgstr "Omschrijving: %s

    " + + +msgid "Error number: %s

    " +msgstr "Foutnummer:%s

    " + + +msgid "Description: (no description available)
    " +msgstr "Omschrijving: (geen omschrijving beschikbaar)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Is het een phpLDAPadmin fout? Als dat zo is, dan gaarne een bugreport invullen" + + +msgid "Unrecognized error number: " +msgstr "Onbekend foutnummer:" + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    Een niet fatale fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%sRegel:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "
    " +" " +" " +" " +" " +" " +"
    Gefeliciteerd! Een fout in phpLDAPadmin gevonden!
    Fout:%s (%s)
    Bestand:%s, aangeroepen door %s
    Versie:PLA: %s, PHP: %s, SAPI: %s
    Web server:%s
    Graag een bugreport invullen.

    " + + +msgid "Login..." +msgstr "Login..." + + +msgid "Import LDIF File" +msgstr "Import file from LDIF" + + +msgid "Select an LDIF file:" +msgstr "Selecteer een LDIF file:" + + +msgid "Adding..." +msgstr "Toevoegen..." + + +msgid "Deleting..." +msgstr "Verwijderen..." + + +msgid "Renaming..." +msgstr "Hernoemen..." + + +msgid "Modifying..." +msgstr "Veranderen..." + + +msgid "Failed" +msgstr "mislukt" + + +msgid "LDIF Parse Error" +msgstr "LDIF inleesfout" + + +msgid "Could not add object:" +msgstr "Kan object niet toevoegen:" + + +msgid "Could not rename object:" +msgstr "Kan object niet hernoemen" + + +msgid "Could not delete object:" +msgstr "Kan object niet verwijderen" + + +msgid "Could not modify object:" +msgstr "Kan object niet wijzigen" + + +msgid "Line Number:" +msgstr "regelnummer: " + + +msgid "Line:" +msgstr "regel: " + + +msgid "Credits" +msgstr "Credits" + + +msgid "ChangeLog" +msgstr "Changelog" + + +msgid "Documentation" +msgstr "Documentatie" + + diff --git a/locale/pl_PL/LC_MESSAGES/messages.mo b/locale/pl_PL/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..f56f2ff0c4b88f6c74d6c6fab1baef0395cef9bf GIT binary patch literal 50176 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 B273Si literal 0 HcmV?d00001 diff --git a/locale/pl_PL/LC_MESSAGES/messages.po b/locale/pl_PL/LC_MESSAGES/messages.po new file mode 100644 index 0000000..08ab997 --- /dev/null +++ b/locale/pl_PL/LC_MESSAGES/messages.po @@ -0,0 +1,2188 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Piotr (DrFugazi) Tarnowski\n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Wyszukiwanie proste" + + +msgid "Advanced Search Form" +msgstr "Wyszukiwanie zaawansowane" + + +msgid "Server" +msgstr "Serwer" + + +msgid "Search for entries whose" +msgstr "Szukaj wpisów w których" + + +msgid "Base DN" +msgstr "Bazowa DN" + + +msgid "Search Scope" +msgstr "Zakres przeszukiwania" + + +msgid "Show Attributtes" +msgstr "Pokaż atrybuty" + + +msgid "Search" +msgstr "Szukaj" + + +msgid "equals" +msgstr "równa się" + + +msgid "contains" +msgstr "zawiera" + + +msgid "Select a predefined search" +msgstr "Wybierz predefiniowane wyszukiwanie" + + +msgid "Predefined Searches" +msgstr "Predefiniowane wyszukiwania" + + +msgid "No queries have been defined in config.php." +msgstr "Brak zdefiniowanych zapytań w config.php." + + +msgid "export results" +msgstr "wyeksportuj wyniki" + + +msgid "Unrecognized search result format: %s" +msgstr "Nierozpoznany format wyniku wyszukiwania: %s" + + +msgid "Format" +msgstr "Format" + + +msgid "list" +msgstr "lista" + + +msgid "table" +msgstr "tabela" + + +msgid "Your config.php specifies an invalid value for $default_search_display: %s. Please fix it" +msgstr "W Twojej konfiguracji (config.php) określona jest nieprawidłowa wartość dla $default_search_display: %s. Proszę to poprawić" + + +msgid "Page %d" +msgstr "Strona %d" + + +msgid "Next Page" +msgstr "Następna strona" + + +msgid "The search found no results." +msgstr "Wyszukiwanie nie przyniosło żadnych rezultatów." + + +msgid "Request feature" +msgstr "Zgłoś zapotrzebowanie" + + +msgid "Report a bug" +msgstr "Zgłoś błąd" + + +msgid "schema" +msgstr "schemat" + + +msgid "search" +msgstr "szukaj" + + +msgid "create" +msgstr "utwórz" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "import" + + +msgid "refresh" +msgstr "odśwież" + + +msgid "logout" +msgstr "wyloguj" + + +msgid "Create new entry here" +msgstr "Utwórz nowy wpis" + + +msgid "View schema for" +msgstr "Pokaż schemat dla" + + +msgid "Refresh all expanded containers for" +msgstr "Odśwież wszystkie otwarte kontenery dla" + + +msgid "Create a new entry on" +msgstr "Utwórz nowy wpis na" + + +msgid "new" +msgstr "nowy" + + +msgid "View server-supplied information" +msgstr "Pokaż informacje o serwerze" + + +msgid "Import entries from an LDIF file" +msgstr "Importuj wpisy z pliku LDIF" + + +msgid "Logout of this server" +msgstr "Wyloguj z tego serwera" + + +msgid "Logged in as: " +msgstr "Zalogowany/a jako: " + + +msgid "This is not a valid DN." +msgstr "To nie jest prawidłowa DN." + + +msgid "This entry does not exist." +msgstr "Ten wpis nie istnieje" + + +msgid "read only" +msgstr "tylko-do-odczytu" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Ten atrybut został oznaczony przez administratora phpLDAPadmin jako tylko-do-odczytu" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Nie można ustalić korzenia Twojego drzewa LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Wygląda, że serwer LDAP jest skonfigurowany tak, aby nie ujawniać swojego korzenia." + + +msgid "Please specify it in config.php" +msgstr "Proszę określić to w pliku config.php" + + +msgid "Create a new entry in" +msgstr "Utwórz nowy wpis w" + + +msgid "Login..." +msgstr "Logowanie..." + + +msgid "login" +msgstr "login" + + +msgid "This base entry does not exist." +msgstr "Ten wpis bazowy nie istnieje" + + +msgid "Create it?" +msgstr "Utworzyć ?" + + +msgid "Delete this entry" +msgstr "Usuń ten wpis" + + +msgid "You will be prompted to confirm this decision" +msgstr "Będziesz poproszony/a o potwierdzenie tej decyzji" + + +msgid "Copy or move this entry" +msgstr "Skopiuj lub przenieś ten wpis" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Skopiuj ten obiekt do innej lokalizacji, nowej DN, lub do innego serwera" + + +msgid "Export" +msgstr "Eksportuj" + + +msgid "export" +msgstr "eksportuj" + + +msgid "Save a dump of this object" +msgstr "Zapisz zrzut tego obiektu" + + +msgid "Save a dump of this object and all of its children" +msgstr "Zapisz zrzut tego obiektu i wszystkich potomnych" + + +msgid "Export subtree" +msgstr "Eksportuj całe poddrzewo" + + +msgid "Create a child entry" +msgstr "Utwórz wpis potomny" + + +msgid "Rename Entry" +msgstr "Zmień nazwę wpisu" + + +msgid "Rename" +msgstr "Zmień nazwę" + + +msgid "rename" +msgstr "zmień nazwę" + + +msgid "Add" +msgstr "Dodaj" + + +msgid "View" +msgstr "Pokaż" + + +msgid "View 1 child" +msgstr "Pokaż 1 wpis potomny" + + +msgid "View %s children" +msgstr "Pokaż %s wpisy/ów potomne/ych" + + +msgid "Add new attribute" +msgstr "Dodaj nowy atrybut" + + +msgid "Add new ObjectClass" +msgstr "Dodaj nową klasę obiektu" + + +msgid "Hide internal attributes" +msgstr "Ukryj wewnętrzne atrybuty" + + +msgid "Show internal attributes" +msgstr "Pokaż wewnętrzne atrybuty" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Kliknij aby obejrzeć definicje schematu dla atrybutu typu '%s'" + + +msgid "none" +msgstr "brak" + + +msgid "No internal attributes" +msgstr "Brak atrybutów wewnętrznych" + + +msgid "This entry has no attributes" +msgstr "Ten wpis nie posiada atrybutów" + + +msgid "Save Changes" +msgstr "Zapisz zmiany" + + +msgid "add value" +msgstr "dodaj wartość" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Dodaj dodatkową wartość do atrybutu '%s'" + + +msgid "Refresh" +msgstr "Odśwież" + + +msgid "Refresh this entry" +msgstr "Odśwież ten wpis" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Wskazówka: Aby skasować atrybut, wyczyść pole tekstowe i kliknij zapisz." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Wskazówka: Aby zobaczyć schemat dla atrybutu, kliknij na nazwie atrybutu." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Niektóre atrybuty (%s) zostały zmodyfikowane i są wyróżnione poniżej." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Atrybut (%s) został zmodyfikowany i jest wyróżniony poniżej." + + +msgid "Viewing entry in read-only mode." +msgstr "Oglądanie wpisu w trybie tylko-do-odczytu." + + +msgid "no new attributes available for this entry" +msgstr "brak nowych atrybutów dostępnych dla tego wpisu" + + +msgid "no new binary attributes available for this entry" +msgstr "brak nowych atrybutów binarnych dla tego wpisu" + + +msgid "Binary value" +msgstr "Wartość binarna" + + +msgid "Add new binary attribute" +msgstr "Dodaj nowy atrybut binarny" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Uwaga: '%s' jest aliasem dla '%s'" + + +msgid "Required attribute for objectClass(es) %s" +msgstr "Atrybut wymagany dla klas(y) obiektu %s" + + +msgid "This attribute is required for the RDN." +msgstr "Ten atrybut jest wymagany dla RDN" + + +msgid "download value" +msgstr "pobierz (download) wartość" + + +msgid "delete attribute" +msgstr "usuń atrybut" + + +msgid "true" +msgstr "prawda" + + +msgid "false" +msgstr "fałsz" + + +msgid "none, remove value" +msgstr "brak, usuń wartość" + + +msgid "Really delete attribute" +msgstr "Definitywnie usuń atrybut" + + +msgid "Add New Value" +msgstr "Dodaj nową wartość" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "Serwer nie wspiera w pełni protokołu LDAP." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Twoja wersja PHP niepoprawnie wykonuje zapytanie." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "phpLDAPadmin nie wie jak uzyskać schemat z Twojego serwera." + + +msgid "Or lastly, your LDAP server doesnt provide this information." +msgstr "Lub w ostateczności, Twój serwer nie dostarcza tej informacji." + + +msgid "Jump to an objectClass" +msgstr "Skocz do klasy obiektu" + + +msgid "View the schema description for this objectClass" +msgstr "Pokaż opis schematu dla tej klasy obiektu" + + +msgid "Jump to an attribute type" +msgstr "Skocz do typu atrybutu" + + +msgid "Jump to a matching rule" +msgstr "Skocz do reguły dopasowania" + + +msgid "Schema for server" +msgstr "Schemat dla serwera" + + +msgid "Required Attributes" +msgstr "Wymagane atrybuty" + + +msgid "required" +msgstr "wymagane" + + +msgid "Optional Attributes" +msgstr "Opcjonalne atrybuty" + + +msgid "Optional Binary Attributes" +msgstr "Opcjonalne atrybuty binarne" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Aliasy" + + +msgid "Description" +msgstr "Opis" + + +msgid "no description" +msgstr "brak opisu" + + +msgid "Name" +msgstr "Nazwa" + + +msgid "Equality" +msgstr "Równość" + + +msgid "This objectClass is obsolete." +msgstr "Ta klasa obiektu jest przestarzała" + + +msgid "Inherits from" +msgstr "Dziedziczy z" + + +msgid "Inherited from" +msgstr "dziedziczone z" + + +msgid "Parent to" +msgstr "Nadrzędny dla" + + +msgid "Jump to this objectClass definition" +msgstr "Skocz do definicji klasy obiektu" + + +msgid "Matching Rule OID" +msgstr "OID reguły dopasowania" + + +msgid "Syntax OID" +msgstr "OID składni" + + +msgid "not applicable" +msgstr "nie dotyczy" + + +msgid "not specified" +msgstr "nie określone" + + +msgid "character" +msgstr "znak" + + +msgid "characters" +msgstr "znaki/ów" + + +msgid "Used by objectClasses" +msgstr "Używane przez klasy obiektu" + + +msgid "Used by Attributes" +msgstr "Używane przez atrybuty" + + +msgid "Maximum Length" +msgstr "Maksymalna długość" + + +msgid "Attribute Types" +msgstr "Typy atrybutów" + + +msgid "Syntaxes" +msgstr "Składnie" + + +msgid "ObjectClasses" +msgstr "Klasy Obiektu" + + +msgid "Matching Rules" +msgstr "Reguły Dopasowania" + + +msgid "Obsolete" +msgstr "Przestarzałe " + + +msgid "Ordering" +msgstr "Uporządkowanie" + + +msgid "Substring Rule" +msgstr "Reguła podciągu (Substring Rule)" + + +msgid "Single Valued" +msgstr "Pojedynczo ceniona (Single Valued)" + + +msgid "Collective" +msgstr "Zbiorcza " + + +msgid "User Modification" +msgstr "Modyfikacja użytkownika" + + +msgid "Usage" +msgstr "Użycie" + + +msgid "Could not retrieve schema from" +msgstr "Nie można uzyskać schematu z" + + +msgid "Type" +msgstr "Typ" + + +msgid "No such schema item: \"%s\"" +msgstr "Nie ma takiej pozycji w schemacie: \"%s\"" + + +msgid "A random password was generated for you" +msgstr "Zostało wygenerowane losowe hasło" + + +msgid "Entry %s deleted successfully." +msgstr "Wpis %s został pomyślnie usunięty." + + +msgid "You must specify a DN" +msgstr "Musisz określić DN" + + +msgid "Could not delete the entry: %s" +msgstr "Nie można usunąć wpisu: %s" + + +msgid "No such entry: %s" +msgstr "Nie ma takiego wpisu: %s" + + +msgid "Delete %s" +msgstr "Usuń %s" + + +msgid "Permanently delete all children also?" +msgstr "Czy trwale usunąć także wpisy potomne ?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Ten wpis jest korzeniem poddrzewa zawierającego %s wpisów." + + +msgid "view entries" +msgstr "pokaż wpisy" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin może rekursywnie usunąć ten wpis i wszystkie jego %s wpisy/ów potomne/ych. Sprawdź poniższą listę wpisów przeznaczonych do usunięcia.
    Czy na pewno chcesz to zrobić ?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Uwaga: ta operacja jest potencjalnie bardzo niebezpieczna i wykonujesz ją na własne ryzyko. Ta akcja nie może zostać cofnięta. Weź pod uwagę aliasy, owołania i inne rzeczy, które mogą spowodować problemy." + + +msgid "Delete all %s objects" +msgstr "Usuń wszystkie %s obiekty/ów" + + +msgid "Recursive delete progress" +msgstr "Postęp rekursywnego usuwania" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Wpis %s oraz poddrzewo zostały pomyślnie usunięte." + + +msgid "Failed to delete entry %s" +msgstr "Błąd podczas usuwania wpisu %s" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "Atrybut \"%s\" jest oznaczony jako tylko-do-odczytu w konfiguracji phpLDAPadmin." + + +msgid "No attribute name specified." +msgstr "Nie określono nazwy atrybutu." + + +msgid "No DN specified" +msgstr "Nie określono DN" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Pozostawiłeś/aś pustą wartość atrybutu. Proszę wrócić i spróbować ponownie." + + +msgid "Failed to add the attribute." +msgstr "Błąd podczas dodawania atrybutu." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "Wybrany plik jest pusty lub nie istnieje. Wróć i spróbuj ponownie." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Błąd bezpieczeństwa: Załadowany plik może stanowić zagrożenie." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Twoja konfiguracja PHP uniemożliwia załadowanie plików. Proszę sprawdzić php.ini przed kontynuacją." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "Załadowany plik jest zbyt duży. Proszę sprawdzić ustawienie upload_max_size w php.ini" + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "Wybrany plik został tylko częściowo załadowany, prawdopodobnie wystąpił błąd w sieci." + + +msgid "Maximum file size: %s" +msgstr "Maksymalny rozmiar pliku: %s" + + +msgid "Modification successful!" +msgstr "Modyfikacja zakończona pomyślnie." + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Jeśli zmieniłeś/aś hasło, musisz się zalogować ponownie z nowym hasłem." + + +msgid "New Required Attributes" +msgstr "Nowe atrybuty wymagane" + + +msgid "This action requires you to add" +msgstr "Ta akcja wymaga, abyś dodał/a" + + +msgid "new attributes" +msgstr "nowe atrybuty" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instrukcja: Aby dodać tę/e klasę/y obiektu do tego wpisu, musisz określić" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "co ta klasa obiektu wymaga. Możesz zrobić to w tym formularzu." + + +msgid "Add ObjectClass and Attributes" +msgstr "Dodaj klasę obiektu i atrybuty" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Kliknij aby wywołać okno i wybrać wpis (DN) graficznie" + + +msgid "Click to popup a dialog to select a date graphically" +msgstr "Kliknij aby wywołać okno i wybrać datę graficznie" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Nie możesz wykonać modyfikacji dopóki serwer jest w trybie tylko-do-odczytu" + + +msgid "Bad server id" +msgstr "Zły identyfikator (id) serwera" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Brak wystarczających informacji aby zalogować się do serwera. Proszę sprawdzić konfigurację." + + +msgid "Could not connect to LDAP server." +msgstr "Nie można podłączyć się do serwera LDAP." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Nie można podłączyć się do \"%s\" na port \"%s\"" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Nie można dokonać operacji ldap_mod_add." + + +msgid "Home" +msgstr "Strona główna" + + +msgid "Help" +msgstr "Pomoc" + + +msgid "Success" +msgstr "Sukces" + + +msgid "Server: " +msgstr "Serwer: " + + +msgid "Looking in: " +msgstr "Szukam w: " + + +msgid "No DN specified in query string!" +msgstr "Nie określono DN w zapytaniu !" + + +msgid "Back Up..." +msgstr "Do góry..." + + +msgid "no entries" +msgstr "brak wpisów" + + +msgid "Could not determine base DN" +msgstr "Nie można określić bazowego DN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "To mogło zdarzyć się z kilku powodów, z których najbardziej prawdopodobne to:" + + +msgid "Yes" +msgstr "Tak" + + +msgid "No" +msgstr "Nie" + + +msgid "Go" +msgstr "Idź" + + +msgid "Delete" +msgstr "Usuń" + + +msgid "Back" +msgstr "Powrót" + + +msgid "object" +msgstr "obiekt" + + +msgid "Delete all" +msgstr "Usuń wszystko" + + +msgid "hint" +msgstr "wskazówka" + + +msgid "bug" +msgstr "błąd (bug)" + + +msgid "warning" +msgstr "ostrzeżenie" + + +msgid "light" +msgstr "żarówka" + + +msgid "Proceed >>" +msgstr "Dalej >>" + + +msgid "Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php" +msgstr "Proszę ustawić zmienną $jpeg_temp_dir w config.php na katalog z możliwością zapisu plików" + + +msgid "Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there." +msgstr "Nie można zapisać do katalogu $jpeg_temp_dir %s. Sprawdź proszę czy Twój serwer może zapisywać pliki w tym katalogu." + + +msgid "Could not fetch jpeg data from LDAP server for attribute %s." +msgstr "Nie można pobrać danych jpeg z serwera LDAP dla atrybutu %s." + + +msgid "Delete photo" +msgstr "Usuń zdjęcie" + + +msgid "value to" +msgstr "wartość do" + + +msgid "Distinguished Name" +msgstr "Wyróżniona Nazwa (DN)" + + +msgid "Current list of" +msgstr "Aktualna lista" + + +msgid "values for attribute" +msgstr "wartości dla atrybutu" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Uwaga: Jeśli nie ustawisz reguły EQUALITY dla tego atrybutu na Twoim serwerze LDAP otrzymasz błąd \"niewłaściwe dopasowanie (inappropriate matching)\"" + + +msgid "Enter the value you would like to add:" +msgstr "Wprowadź wartość, którą chcesz dodać:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Uwaga: może być wymagane wprowadzenie nowych atrybutów wymaganych przez tę/e klasę/y obiektu" + + +msgid "Syntax" +msgstr "Składnia" + + +msgid "You left the destination DN blank." +msgstr "Nie wypełniono docelowej DN." + + +msgid "The destination entry (%s) already exists." +msgstr "Docelowy wpis (%s) już istnieje." + + +msgid "The destination container (%s) does not exist." +msgstr "Docelowy kontener (%s) nie istnieje." + + +msgid "The source and destination DN are the same." +msgstr "Źródłowa i docelowa DN są takie same." + + +msgid "Copying " +msgstr "Kopiowanie " + + +msgid "Recursive copy progress" +msgstr "Postęp kopiowania rekursywnego" + + +msgid "Building snapshot of tree to copy... " +msgstr "Budowanie migawki (snapshot) drzewa do skopiowania... " + + +msgid "Copy successful! Would you like to " +msgstr "Kopiowanie zakończone pomyślnie. Czy chcesz " + + +msgid "view the new entry" +msgstr "zobaczyć nowy wpis " + + +msgid "Failed to copy DN: " +msgstr "Błąd podczas kopiowania DN: " + + +msgid "Template" +msgstr "Szablon" + + +msgid "using template" +msgstr "wykorzystując szablon" + + +msgid "Go to %s" +msgstr "Idź do %s" + + +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "To jest strukturalna klasa obiektu i nie może zostać usunięta." + + +msgid "structural" +msgstr "strukturalna" + + +msgid "Copy " +msgstr "Kopiuj " + + +msgid "to a new object" +msgstr "do nowego obiektu" + + +msgid "Destination DN" +msgstr "Docelowa DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Pełna DN nowego wpisu do utworzenia poprzez skopiowanie wpisu źródłowego" + + +msgid "Destination Server" +msgstr "Docelowy serwer" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Wskazówka: Kopiowanie pomiędzy różnymi serwerami działa wtedy, gdy nie występuje naruszenie schematów" + + +msgid "Recursively copy all children of this object as well." +msgstr "Rekursywne kopiowanie wszystkich potomnych obiektów" + + +msgid "Recursive copy" +msgstr "Kopia rekursywna" + + +msgid "Filter" +msgstr "Filtr" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Podczas rekursywnego kopiowania, kopiowane są tylko wpisy pasujące do filtra" + + +msgid "Delete after copy (move):" +msgstr "Usuń po skopiowaniu (przenieś):" + + +msgid "Make sure your filter (above) will select all child records." +msgstr "Upewnij się, że ustawienia filtra (powyżej) pozwalają na wybranie wszystkich rekordów podrzędnych." + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Brak wartości dla wymaganego atrybutu (%s)." + + +msgid "Redirecting..." +msgstr "Przekierowuję" + + +msgid "here" +msgstr "tutaj" + + +msgid "Could not add the object to the LDAP server." +msgstr "Nie można dodać obiektu do serwera LDAP." + + +msgid "Create Object" +msgstr "Utwórz obiekt" + + +msgid "Choose a template" +msgstr "Wybierz szablon" + + +msgid "Select a template for the creation process" +msgstr "Wybierz szablon dla procesu tworzenia" + + +msgid "Save as file" +msgstr "Zapisz jako" + + +msgid "You left the RDN field blank." +msgstr "Pozostawiłeś/aś puste pole RDN." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "Kontener który określiłeś/aś (%s) nie istnieje. Spróbuj ponownie." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Nie wybrałeś/aś żadnych Klas Obiektu dla tego obiektu. Wróć proszę i zrób to." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Wskazówka: Musisz wybrać dokładnie jedną strukturalną klasę obiektu (wyróżnioną pogrubieniem)" + + +msgid "This template is not allowed in this container." +msgstr "Ten szablon nie jest dostępny w tym kontenerze" + + +msgid "This template has been disabled, possibly due to missing schema or missing template XML fields." +msgstr "Ten szablon został zablokowany, prawdopodobnie z powodu brakującego schamatu lub brakujących pól szablonu XML." + + +msgid "Your config specifies a handler of \"%s\" for this template but this file is not readable because the permissions are too strict." +msgstr "Twoja konfiguracja określa obsługę \"%s\" dla tego szablonu, ale tego pliku nie da się odczytać, ponieważ uprawnienia są zbyt restrykcyjne." + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Krok 1 z 2: Nazwa i klasa/y obiektu" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Krok 2 z 2: Określenie atrybutów i wartości" + + +msgid "Relative Distinguished Name" +msgstr "Relatywna Wyróżniona Nazwa (RDN)" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(przykład: cn=MyNewPerson)" + + +msgid "Container" +msgstr "Kontener" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Nie zalogowałeś/aś się jeszcze do wybranego serwera, więc nie możesz go przeszukiwać." + + +msgid "Click here to go to the login form" +msgstr "Kliknij tutaj aby przejść do formularza logowania" + + +msgid "Unrecognized criteria option: " +msgstr "Nierozpoznane kryterium opcji: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Jeśli chcesz dodać własne kryteria do listy, zmodyfikuj plik search.php aby to obsłużyć." + + +msgid "Entries found: " +msgstr "Znaleziono wpisów: " + + +msgid "Filter performed: " +msgstr "Zastosowano filtr: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Wyszukiwanie wykonane przez phpLDAPadmin w" + + +msgid "seconds" +msgstr "sekund(y)" + + +msgid "The scope in which to search" +msgstr "Przeszukiwany zakres" + + +msgid "Sub (entire subtree)" +msgstr "Sub (całe poddrzewo)" + + +msgid "One (one level beneath base)" +msgstr "One (jeden poziom poniżej bazowej)" + + +msgid "Base (base dn only)" +msgstr "Base (tylko bazowa dn)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Standardowy filtr dla LDAP. Na przykład: (&(sn=Kowalski)(givenname=Jan))" + + +msgid "Search Filter" +msgstr "Filtr wyszukiwania" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Lista atrybutów do wyświetlenia rezultatów (rozdzielona przecinkami)" + + +msgid "starts with" +msgstr "zaczyna się od" + + +msgid "ends with" +msgstr "kończy się na" + + +msgid "sounds like" +msgstr "brzmi jak" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Nie można uzyskać informacji od serwera LDAP. Może to być spowodowane błędem w Twojej wersji PHP albo na przykład tym, że Twój serwer LDAP posiada listę kontroli dostępu nie zezwalającą na pobranie RootDSE klientom LDAP" + + +msgid "Server info for: " +msgstr "Informacja o serwerze: " + + +msgid "Server reports the following information about itself" +msgstr "Serwer zwrócił następujące informacje o sobie" + + +msgid "This server has nothing to report." +msgstr "Ten serwer nie chce nic powiedzieć o sobie :)." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "tablica modyfikacji (update_array) jest zniekształcona. To może być błąd (bug) w phpLDAPadmin. Proszę to zgłosić." + + +msgid "Could not perform ldap_modify operation." +msgstr "Nie można wykonać operacji modyfikacji (ldap_modify)." + + +msgid "Do you want to make these changes?" +msgstr "Czy chcesz dokonać tych zmian ?" + + +msgid "Attribute" +msgstr "Atrybuty" + + +msgid "Old Value" +msgstr "Stara wartość" + + +msgid "New Value" +msgstr "Nowa wartość" + + +msgid "[attribute deleted]" +msgstr "[atrybut usunięty]" + + +msgid "Commit" +msgstr "Zatwierdź" + + +msgid "Cancel" +msgstr "Anuluj" + + +msgid "You made no changes" +msgstr "Nie dokonano żadnych zmian" + + +msgid "Use the menu to the left to navigate" +msgstr "Użyj menu z lewej strony do nawigacji" + + +msgid "Credits" +msgstr "Lista płac" + + +msgid "ChangeLog" +msgstr "Historia zmian" + + +msgid "Documentation" +msgstr "Dokumentacja" + + +msgid "Donate" +msgstr "Wesprzyj projekt" + + +msgid "phpLDAPadmin logo" +msgstr "phpLDAPadmin logo" + + +msgid "Purge caches" +msgstr "Wyczyść cache" + + +msgid "No cache to purge." +msgstr "Nie ma czego czyścić." + + +msgid "Purged %s bytes of cache." +msgstr "Wyczyszczono %s bajtów pamięci podręcznej (cache)." + + +msgid "Purge all cached data in phpLDAPadmin, including server schemas." +msgstr "Czyści wszystkie dane podręczne (cache) w phpLDAPadmin, łącznie ze schematami serwera" + + +msgid "Unsafe file name: " +msgstr "Niebezpieczna nazwa pliku: " + + +msgid "No such file: " +msgstr "Nie znaleziono pliku: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Zezwoliłeś/aś na automatyczne nadawanie uid (auto_uid_numbers) dla %s w konfiguracji, ale nie określiłeś/aś mechanizmu (auto_uid_number_mechanism). Proszę skorygować ten problem." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Określiłeś/aś mechanizm autonumerowania uid \"auto_uid_number_mechanism\" jako \"uidpool\" w konfiguracji Twojego serwera %s, lecz nie określiłeś/aś audo_uid_number_uid_pool_dn. Proszę określ to zanim przejdziesz dalej." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Wygląda na to, że uidPool, którą określiłeś/aś w Twojej konfiguracji (\"%s\") nie istnieje." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Określiłeś/aś \"auto_uid_number_mechanism\" jako \"search\" w konfiguracji Twojego serwera %s, ale nie określiłeś/aś bazy \"auto_uid_number_search_base\". Zrób to zanim przejdziesz dalej." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Nie można podłączyć do %s z podaną tożsamością auto_uid. Proszę sprawdzić swój plik konfiguracyjny." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "W Twojej konfiguracji phpLDAPadmin określona jest nieprawidłowa wartość auto_uid_search_base dla serwera %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Określiłeś/aś błędną wartość dla auto_uid_number_mechanism (\"%s\") w konfiguracji. Tylko \"uidpool\" i \"search\" są poprawne. Proszę skorygować ten problem." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Błąd: Masz błąd w pliku konfiguracji. Trzy możliwe wartości dla auth_type w sekcji $servers to 'session', 'cookie' oraz 'config'. Ty wpisałeś/aś '%s', co jest niedozwolone. " + + +msgid "Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file." +msgstr "Nie można podłączyć do %s z podaną tożsamością unique_attrs. Proszę sprawdzić swój plik konfiguracyjny." + + +msgid "Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry." +msgstr "Próba dodania %s (%s) do
    %s
    jest NIEDOZWOLONA. Ten atrybut/wartość należy do innego wpisu.

    Jeśli chcesz, możesz poszukać tego wpisu." + + +msgid "Your PHP install does not support TLS." +msgstr "Twoja instalacja PHP nie wspiera TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Nie można uruchomić TLS. Proszę sprawdzić konfigurację serwera LDAP." + + +msgid "Could not bind anonymously to server." +msgstr "Nie można anonimowo podłączyć do serwera." + + +msgid "Anonymous Bind" +msgstr "Podłączenie anonimowe" + + +msgid "Bad username or password. Please try again." +msgstr "Zła nazwa użytkownika lub hasło. Spróbuj ponownie." + + +msgid "Successfully logged into server %s" +msgstr "Pomyślnie zalogowano do serwera %s" + + +msgid "Could not set cookie." +msgstr "Nie można ustawić ciasteczka (cookie)." + + +msgid "LDAP said: %s" +msgstr "LDAP odpowiedział: %s" + + +msgid "Error" +msgstr "Błąd" + + +msgid "browse" +msgstr "przeglądaj" + + +msgid "Delete Photo" +msgstr "Usuń fotografię" + + +msgid "Your system crypt library does not support extended DES encryption." +msgstr "Twoja systemowa biblioteka crypt nie wspiera rozszerzonego szyfrowania DES" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Twoja systemowa biblioteka crypt nie wspiera szyfrowania blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Twoja systemowa biblioteka crypt nie wspiera szyfrowania md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Twoja instalacja PHP nie posiada funkcji mhash(). Nie mogę tworzyć haszy SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto zawiera błędy
    " + + +msgid "Error number: %s (%s)" +msgstr "Błąd numer: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Opis: %s

    " + + +msgid "Error number: %s

    " +msgstr "Błąd numer: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Opis: (brak dostępnego opisu)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Czy jest to błąd w phpLDAPadmin ? Jeśli tak, proszę go zgłosić." + + +msgid "Unrecognized error number: " +msgstr "Nierozpoznany numer błędu: " + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +" " +" " +"
    " +" Znalazłeś błąd w phpLDAPadmin (nie krytyczny) !
    Błąd:%s (%s)
    Plik:%s linia %s, wywołane z %s
    Wersje:PLA: %s, PHP: %s, SAPI: %s" +"
    Serwer Web:%s
    " +" Sprawdź proszę czy ten błąd nie został już zgłoszony tutaj.
    Jeśli nie został jeszcze zgłoszony, to możesz go zgłosić tutaj.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Gratulacje ! Znalazłeś błąd w phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Błąd:%s
    Poziom:%s
    Plik:%s
    Linia:%s
    Wywołane z:%s
    Wersja PLA:%s
    Wersja PHP:%s
    PHP SAPI:%s
    Serwer Web:%s
    " +"
    " +" Proszę zgłoś ten błąd klikając poniżej !" + + +msgid "Import LDIF File" +msgstr "Importuj plik LDIF" + + +msgid "Select an LDIF file:" +msgstr "Wybierz plik LDIF:" + + +msgid "Don't stop on errors" +msgstr "Nie zatrzymuj się po napotkaniu błędów" + + +msgid "Adding..." +msgstr "Dodawanie..." + + +msgid "Deleting..." +msgstr "Usuwanie..." + + +msgid "Renaming..." +msgstr "Zmiana nazwy..." + + +msgid "Modifying..." +msgstr "Modyfikowanie..." + + +msgid "No version found. Assuming 1." +msgstr "Nie znaleziono numeru wersji. Przyjmuję 1." + + +msgid "A valid dn line is required." +msgstr "Wymagana jest poprawna linia DN." + + +msgid "Missing uploaded file." +msgstr "Brak wgrywanego pliku." + + +msgid "No LDIF file specified. Please try again." +msgstr "Nie określono pliku LDIF. Spróbuj ponownie." + + +msgid "Uploaded LDIF file is empty." +msgstr "Wgrany plik LDIF jest pusty." + + +msgid "empty" +msgstr "pusty" + + +msgid "File" +msgstr "Plik" + + +msgid "%s bytes" +msgstr "%s bajtów" + + +msgid "Your PHP.INI does not have file_uploads = ON. Please enable file uploads in PHP." +msgstr "Twój plik konfiguracyjny PHP.INI nie zawiera file_uploads = ON. Proszę włączyć wgrywanie plików w konfiguracji PHP." + + +msgid "Failed" +msgstr "Nieudane" + + +msgid "LDIF Parse Error" +msgstr "Błąd przetwarzania LDIF (Parse Error)" + + +msgid "Could not add object:" +msgstr "Nie można dodać obiektu:" + + +msgid "Could not rename object:" +msgstr "Nie można zmienić nazwy obiektu:" + + +msgid "Could not delete object:" +msgstr "Nie można usunąć obiektu:" + + +msgid "Could not modify object:" +msgstr "Nie można zmodyfikować obiektu:" + + +msgid "Line Number:" +msgstr "Linia numer:" + + +msgid "Line:" +msgstr "Linia:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Czy na pewno trwale usunąć ten obiekt ?" + + +msgid "List of entries to be deleted:" +msgstr "Lista wpisów do usunięcia:" + + +msgid "DN" +msgstr "DN" + + +msgid "Export format" +msgstr "Format eksportu" + + +msgid "Line ends" +msgstr "Zakończenie linii" + + +msgid "You must choose an export format." +msgstr "Musisz wybrać format eksportu." + + +msgid "Invalid export format" +msgstr "Błędny format eksportu" + + +msgid "No available exporter found." +msgstr "Nie znaleziono dostępnego eksportera." + + +msgid "Encountered an error while performing search." +msgstr "Napotkano błąd podczas szukania." + + +msgid "Showing results %s through %s." +msgstr "Pokazywanie rezultatów %s przez %s." + + +msgid "Searching..." +msgstr "Szukam..." + + +msgid "Notice, search size limit exceeded." +msgstr "Uwaga, przekroczono limit rozmiaru wyszukiwania." + + +msgid "Entry" +msgstr "Wpis" + + +msgid "LDIF Export for: %s" +msgstr "Eksport LDIF dla: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Wygenerowane przez phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) na %s" + + +msgid "Total Entries" +msgstr "Łącznie wpisów" + + +msgid "DSLM Export for: %s" +msgstr "Eksport DSLM dla: %s" + + +msgid "Include system attributes" +msgstr "Zawiera atrybuty systemowe" + + +msgid "CSV (Spreadsheet)" +msgstr "CVS (arkusz)" + + +msgid "You left the password blank." +msgstr "Pozostawiłeś/aś puste hasło." + + +msgid "No one is logged in to that server." +msgstr "Nikt nie jest zalogowany do tego serwera." + + +msgid "Could not logout." +msgstr "Nie można wylogować." + + +msgid "Unknown auth_type: %s" +msgstr "Nieznany auth_type: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Pomyślnie wylogowano z serwera %s" + + +msgid "Authenticate to server %s" +msgstr "Uwierzytelnienie dla serwera %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Uwaga: To połączenie nie jest szyfrowane." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Nie używasz 'https'. Przeglądarka będzie transmitować informację logowania czystym tekstem (clear text)." + + +msgid "Login DN" +msgstr "Login DN" + + +msgid "User name" +msgstr "Nazwa użytkownika" + + +msgid "Password" +msgstr "Hasło" + + +msgid "Authenticate" +msgstr "Zaloguj" + + +msgid "Sorry, you are not allowed to use phpLDAPadmin with this LDAP server." +msgstr "Przykro mi, ale nie masz uprawnień aby korzystać z phpLDAPadmin na tym serwerze LDAP." + + +msgid "Entry Chooser" +msgstr "Wybór wpisu" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Musisz skonfigurować phpLDAPadmin. Wyedytuj plik 'config.php' aby to zrobić. Przykład pliku konfiguracji znajduje się w 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "Usuwanie jest niedozwolone w trybie tylko-do-odczytu." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Błąd podczas wywołania mass_delete.php. Brakująca mass_delete w zmiennych POST." + + +msgid "mass_delete POST var is not an array." +msgstr "zmienna POST mass_delete nie jest w tablicą." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "Masowe usuwanie nie jest dozwolone. Odblokuj to proszę w config.php przed kontynuacją." + + +msgid "Mass Deleting" +msgstr "Masowe usuwanie" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Postęp usuwania na serwerze \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Zniekształcona tablica mass_delete." + + +msgid "You did not select any entries to delete." +msgstr "Nie wybrano żadnegych wpisów do usunięcia." + + +msgid "Deleting %s" +msgstr "Usuwanie %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s z %s wpisów nie zostało usuniętych." + + +msgid "All entries deleted successfully." +msgstr "Wszystkie wpisy pomyślnie usunieto." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Potwierdź masowe usunięcie %s wpisów na serwerze %s" + + +msgid "Yes, delete!" +msgstr "Tak, usuń !" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Nie możesz zmienić nazwy wpisu, posiadającego wpisy potomne (np. operacja zmiany nazwy nie jest dozwolona na wpisach nie będących liścmi)." + + +msgid "You did not change the RDN" +msgstr "Nie zmieniłeś/aś RDN" + + +msgid "Invalid RDN value" +msgstr "Błędna wartość RDN" + + +msgid "Could not rename the entry" +msgstr "Nie można zmienić nazwy wpisu" + + +msgid "Passwords match!" +msgstr "Hasła zgodne !" + + +msgid "Passwords do not match!" +msgstr "Hasła nie zgadzają się !" + + +msgid "Password Checker Tool" +msgstr "Narzędzie do sprawdzania haseł" + + +msgid "To" +msgstr "Do" + + +msgid "Using the" +msgstr "Używając" + + +msgid "You may switch to the " +msgstr "Możesz przełączyć się do " + + +msgid "default template" +msgstr "domyślnego szablonu" + + +msgid "User Account (posixAccount)" +msgstr "Konto Użytkownika (posixAccount)" + + +msgid "Address Book Entry (inetOrgPerson)" +msgstr "Wpis Książki Adresowej (inetOrgPerson)" + + +msgid "Address Book Entry (mozillaOrgPerson)" +msgstr "Wpis Książki Adresowej (mozillaOrgPerson)" + + +msgid "Kolab User Entry" +msgstr "Wpis Użytkownika Kolab" + + +msgid "Organisational Unit" +msgstr "Jednostka Organizacyjna" + + +msgid "New Organisational Unit" +msgstr "Nowa Jednostka Organizacyjna" + + +msgid "Organisational Role" +msgstr "Rola w Organizacji" + + +msgid "Posix Group" +msgstr "Grupa Posix" + + +msgid "Samba NT Machine" +msgstr "Maszyna Samba NT" + + +msgid "Samba 3 NT Machine" +msgstr "Maszyna Samba 3 NT" + + +msgid "Samba User" +msgstr "Użytkownik Samba" + + +msgid "Samba 3 User" +msgstr "Użytkownik Samba 3" + + +msgid "Samba 3 Group Mapping" +msgstr "Przypisanie grupy Samba 3" + + +msgid "DNS Entry" +msgstr "Wpis DNS" + + +msgid "Simple Security Object" +msgstr "Prosty obiekt bezpieczeństwa (SSO)" + + +msgid "Courier Mail Account" +msgstr "Konto Pocztowe w Courier" + + +msgid "Courier Mail Alias" +msgstr "Alias Pocztowy w Courier" + + +msgid "LDAP Alias" +msgstr "Alias w LDAP" + + +msgid "Sendmail Cluster" +msgstr "Klaster Sendmail" + + +msgid "Sendmail Domain" +msgstr "Domena Sendmail" + + +msgid "Sendmail Alias" +msgstr "Alias Sendmail" + + +msgid "Sendmail Virtual Domain" +msgstr "Wirtualna Domena Sendmail" + + +msgid "Sendmail Virtual Users" +msgstr "Wirtualni Użytkownicy Sendmail" + + +msgid "Sendmail Relays" +msgstr "Sendmail Relays" + + +msgid "Custom" +msgstr "Ogólne" + + +msgid "My Samba domain Name" +msgstr "Moja nazwa domeny w Samba" + + +msgid "Administrators" +msgstr "Administratorzy" + + +msgid "Users" +msgstr "Użytkownicy" + + +msgid "Guests" +msgstr "Goście" + + +msgid "Power Users" +msgstr "Użytkownicy zaawansowani" + + +msgid "Account Operators" +msgstr "Operatorzy kont" + + +msgid "Server Operators" +msgstr "Operatorzy serwera" + + +msgid "Print Operators" +msgstr "Operatorzy drukowania" + + +msgid "Backup Operators" +msgstr "Operatorzy archiwizacji danych" + + +msgid "Replicator" +msgstr "Replikator" + + +msgid " Unable to create the Samba passwords. Please, check the configuration in template_config.php" +msgstr " Nie można utworzyć haseł Samba. Proszę sprawdzić konfigurację w template_config.php" + + +msgid "Error: You have an error in your samba confguration." +msgstr "Błąd: masz błąd w konfiguracji samby" + + +msgid "Error: A name and a sid for your samba domain need to be provided." +msgstr "Błąd: musisz wprowadzić nazwę oraz sid dla Twojej domeny samby." + + +msgid "Error: No name provided for samba domain." +msgstr "Błąd: brak nazwy dla domeny samby." + + +msgid "Error: No sid provided for samba domain." +msgstr "Błąd: brak sid dla domeny samby" + + +msgid "Samba Account" +msgstr "Konto Samba" + + +msgid "samba account" +msgstr "konto samba" + + +msgid "New User Account" +msgstr "Nowe konto użytkownika" + + +msgid "Hint: To customize this template, edit the file templates/creation/new_user_template.php" +msgstr "Wskazówka: Aby dostosować ten szablon, wyedytuj plik templates/creation/new_user_template.php" + + +msgid "First name" +msgstr "Imię" + + +msgid "Last name" +msgstr "Nazwisko" + + +msgid "first" +msgstr "imię" + + +msgid "last" +msgstr "nazwisko" + + +msgid "State" +msgstr "Stan" + + +msgid "Encryption" +msgstr "Szyfrowanie" + + +msgid "Login Shell" +msgstr "Powłoka (shell)" + + +msgid "Home Directory" +msgstr "Katalog domowy" + + +msgid "UID Number" +msgstr "Numer UID" + + +msgid "(automatically determined)" +msgstr "(automatycznie określony)" + + +msgid "Group" +msgstr "Grupa" + + +msgid "GID Number" +msgstr "Numer GID" + + +msgid "User ID" +msgstr "ID Użytkownika" + + +msgid "Your passwords don't match. Please go back and try again." +msgstr "Hasła nie zgadzają się. Wróc i spróbuj ponownie." + + +msgid "You cannot leave the %s blank. Please go back and try again." +msgstr "Nie możesz pozostawić pustego pola %s. Wróć i spróbuj ponownie." + + +msgid "You can only enter numeric values for the %s field. Please go back and try again." +msgstr "Pole %s może zawierać tylko wartości numeryczne. Wróć i spróbuj ponownie." + + +msgid "The container you specified (%s) does not exist. Please go back and try again." +msgstr "Kontener który wybrałeś/aś (%s) nie istnieje. Wróć i spróbuj ponownie." + + +msgid "Confirm account creation" +msgstr "Potwierdź utworzenie konta" + + +msgid "[secret]" +msgstr "[tajne]" + + +msgid "Create Account" +msgstr "Utwórz konto" + + +msgid "Verify" +msgstr "Weryfikuj" + + +msgid "New Posix Group" +msgstr "Nowa Grupa Posix" + + +msgid "New Address Book Entry" +msgstr "Nowy wpis w Książce Adresowej" + + +msgid "Organisation" +msgstr "Organizacja" + + +msgid "Address" +msgstr "Adres" + + +msgid "City" +msgstr "Miasto" + + +msgid "Postal code" +msgstr "Kod pocztowy" + + +msgid "Street" +msgstr "Ulica" + + +msgid "Work phone" +msgstr "Telefon służbowy" + + +msgid "Fax" +msgstr "Fax" + + +msgid "Mobile" +msgstr "Telefon komórkowy" + + +msgid "Email" +msgstr "E-mail" + + +msgid "You cannot leave the Common Name blank. Please go back and try again." +msgstr "Nie możesz pozostawić pustego pola Nazwa. Wróć i spróbuj ponownie." + + +msgid "Confirm entry creation:" +msgstr "Potwierdź utworzenie wpisu:" + + +msgid "Create Address" +msgstr "Utwórz adres" + + +msgid "Check password..." +msgstr "Sprawdź hasło" + + +msgid "(Auto evaluated on submission.)" +msgstr "(Automatycznie wyliczane przy wysłaniu)" + + +msgid "Compare" +msgstr "Porównaj" + + +msgid "Comparing the following DNs" +msgstr "Porównuję następujące DN" + + +msgid "Compare another DN with" +msgstr "Porównaj inny DN z" + + +msgid "with " +msgstr "z" + + +msgid "Source DN" +msgstr "Źródłowa DN" + + +msgid "Compare this DN with another" +msgstr "Prównaj tą DN z inną" + + +msgid "Switch Entry" +msgstr "Zamień wpisy" + + +msgid "No Value" +msgstr "Brak wartości" + + +msgid "Compare with another entry" +msgstr "Porównaj z innym wpisem" + + +msgid "You need one of the following ObjectClass(es) to add this attribute %s." +msgstr "Musisz posiadać jedną z następujących klas obiektów, aby dodać ten atrybut %s " + + +msgid "Your Session timed out after" +msgstr "Twoja sesja wygaśnie po" + + +msgid "min. of inactivity. You have been automatically logged out." +msgstr "min. nieaktywności. Zostaniesz automatycznie wylogowany/a." + + +msgid "To log back in please click on the following link:" +msgstr "Aby się zalogować ponownie kliknij w następujący link:" + + +msgid "(Session timed out. Automatically logged out.)" +msgstr "(Sesja wygasła. Automatycznie wylogowano)" + + +msgid "Inactivity will log you off at %s" +msgstr "Brak aktywności wyloguje Cię o %s" + + +msgid "Attribute [%s] is a MUST attribute, so it cannot be disabled." +msgstr "Atrybut [%] jest atrybutem WYMAGANYM, więc nie może być niedostępny." + + +msgid "We are missing a page for [%s] attributes." +msgstr "Brakuje nam strony dla atrybutów [%s]." + + diff --git a/locale/pt_BR/LC_MESSAGES/messages.mo b/locale/pt_BR/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..2b7a4ae2d71ae09a246befb2132d56668f54c4a8 GIT binary patch literal 36779 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 WO~K)_kkyZ*TE>8s+nQ+VF#13ANQ\n" +"Last-Translator: Elton (CLeGi@terra.com.br)\n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Formulário de busca Simples" + + +msgid "Advanced Search Form" +msgstr "Formulário de busca Avançada" + + +msgid "Server" +msgstr "Servidor" + + +msgid "Search for entries whose" +msgstr "Buscar objetos cujo..." + + +msgid "Base DN" +msgstr "Base DN" + + +msgid "Search Scope" +msgstr "Abrangência da Busca" + + +msgid "Show Attributtes" +msgstr "Exibir Atributos" + + +msgid "Search" +msgstr "Buscar" + + +msgid "equals" +msgstr "igual" + + +msgid "contains" +msgstr "contém" + + +msgid "Select a predefined search" +msgstr "Selecione uma busca pré-definida" + + +msgid "Predefined Searches" +msgstr "Buscas pré-definidas" + + +msgid "No queries have been defined in config.php." +msgstr "Nenhum critério de busca foi definido no config.php" + + +msgid "Request feature" +msgstr "Solicitar uma nova função" + + +msgid "Report a bug" +msgstr "Comunicar um bug" + + +msgid "schema" +msgstr "esquema" + + +msgid "search" +msgstr "buscar" + + +msgid "refresh" +msgstr "atualizar" + + +msgid "create" +msgstr "criar" + + +msgid "info" +msgstr "info" + + +msgid "import" +msgstr "importar" + + +msgid "logout" +msgstr "desconectar" + + +msgid "Create new entry here" +msgstr "Criar Novo" + + +msgid "new" +msgstr "Novo" + + +msgid "View schema for" +msgstr "Ver esquemas de" + + +msgid "Refresh all expanded containers for" +msgstr "Atualizar todos containers abertos para" + + +msgid "Create a new entry on" +msgstr "Criar um novo objeto em" + + +msgid "View server-supplied information" +msgstr "Ver informações fornecidas pelo servidor" + + +msgid "Import entries from an LDIF file" +msgstr "Importar objetos de um arquivo LDIF" + + +msgid "Logout of this server" +msgstr "Desconectar deste servidor" + + +msgid "Logged in as: " +msgstr "Conectado como: " + + +msgid "read only" +msgstr "somente leitura" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Este atributo foi marcado como somente leitura pelo administrador do phpLDAPadmin" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Não foi possível determinar a raiz da sua árvore LDAP." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Parece que o servidor LDAP foi configurado para não revelar seu root." + + +msgid "Please specify it in config.php" +msgstr "Por favor especifique-o no config.php" + + +msgid "Login..." +msgstr "Conectar..." + + +msgid "login" +msgstr "conectar" + + +msgid "Delete this entry" +msgstr "Excluir este objeto" + + +msgid "You will be prompted to confirm this decision" +msgstr "Será solicitado que você confirme sua decisão" + + +msgid "Copy or move this entry" +msgstr "Copiar este objeto" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Copiar este objeto para outro local, um novo DN, ou outro servidor" + + +msgid "Export" +msgstr "Exportar" + + +msgid "Save a dump of this object" +msgstr "Salva um arquivo LDIF com os dados deste objeto" + + +msgid "Save a dump of this object and all of its children" +msgstr "Salva um arquivo LDIF com os dados deste objeto e todos os seus filhos" + + +msgid "Export subtree" +msgstr "Exportar sub-árvore para LDIF" + + +msgid "Create a child entry" +msgstr "Criar objeto filho" + + +msgid "Rename Entry" +msgstr "Renomear objeto" + + +msgid "Rename" +msgstr "Renomear" + + +msgid "Add" +msgstr "Inserir" + + +msgid "View" +msgstr "Ver" + + +msgid "View 1 child" +msgstr "Ver 1 filho" + + +msgid "View %s children" +msgstr "Ver %s filhos" + + +msgid "Add new attribute" +msgstr "Inserir Novo Atributo" + + +msgid "Add new ObjectClass" +msgstr "Inserir nova ObjectClass" + + +msgid "Hide internal attributes" +msgstr "Ocultar atributos internos" + + +msgid "Show internal attributes" +msgstr "Exibir atributos internos" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Clique para ver a definição do esquema para atributos do tipo '%s'" + + +msgid "none" +msgstr "nenhum" + + +msgid "No internal attributes" +msgstr "Nenhum atributo interno." + + +msgid "This entry has no attributes" +msgstr "Este objeto não tem atributos." + + +msgid "Save Changes" +msgstr "Salvar Alterações" + + +msgid "add value" +msgstr "inserir valor" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Insere um novo valor para o atributo '%s'" + + +msgid "Refresh" +msgstr "Atualizar" + + +msgid "Refresh this entry" +msgstr "Atualizar este objeto" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Dica: Para apagar um atributo, apague o conteúdo do campo de texto e clique salvar." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Dica: Para ver o esquema de um atributo clique no nome do atributo." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Alguns atributos (%s) foram modificados e estão destacados abaixo." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Um atributo (%s) foi modificado e está destacado abaixo" + + +msgid "Viewing entry in read-only mode." +msgstr "Vizualizando objeto em modo somente-leitura." + + +msgid "no new attributes available for this entry" +msgstr "novos atributos não disponíveis para este objeto." + + +msgid "no new binary attributes available for this entry" +msgstr "novos atributos binários não disponíveis para este objeto." + + +msgid "Binary value" +msgstr "Valor binário" + + +msgid "Add new binary attribute" +msgstr "Inserir novo atributo binário" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Nota: '%s' é um alias para '%s'" + + +msgid "download value" +msgstr "download do valor" + + +msgid "delete attribute" +msgstr "apagar atributo" + + +msgid "true" +msgstr "verdadeiro" + + +msgid "false" +msgstr "falso" + + +msgid "none, remove value" +msgstr "nenhum, remover valor" + + +msgid "Really delete attribute" +msgstr "Deseja realmente apagar atributo" + + +msgid "Add New Value" +msgstr "Inserir novo valor" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "O servidor não suporta o protocolo LDAP completamente." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Sua versão do PHP não executa a consulta corretamente." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "Ou, por fim, o phpLDAPadmin não sabe como buscar o esquema para o seu servidor." + + +msgid "Jump to an objectClass" +msgstr "Ir para uma classe de objetos" + + +msgid "Jump to an attribute type" +msgstr "Ir para um tipo de atributo" + + +msgid "Jump to a matching rule" +msgstr "Ir para regras de consistência" + + +msgid "Schema for server" +msgstr "Esquema para servidor" + + +msgid "Required Attributes" +msgstr "Atributos Obrigatórios" + + +msgid "Optional Attributes" +msgstr "Atributos Opcionais" + + +msgid "Optional Binary Attributes" +msgstr "Atributos Binários Opcionais" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Apelidos" + + +msgid "Description" +msgstr "Descrição" + + +msgid "no description" +msgstr "sem descrição" + + +msgid "Name" +msgstr "Nome" + + +msgid "Equality" +msgstr "Igualdade" + + +msgid "This objectClass is obsolete." +msgstr "Esta classe de objeto está obsoleta." + + +msgid "Inherits from" +msgstr "Herda de" + + +msgid "Inherited from" +msgstr "Herdado de" + + +msgid "Parent to" +msgstr "Pai para" + + +msgid "Jump to this objectClass definition" +msgstr "Ir para definição desta classe de objeto" + + +msgid "Matching Rule OID" +msgstr "OID da Regra de consistência" + + +msgid "Syntax OID" +msgstr "OID da Sintaxe" + + +msgid "not applicable" +msgstr "não aplicável" + + +msgid "not specified" +msgstr "não especificado" + + +msgid "character" +msgstr "caracter" + + +msgid "characters" +msgstr "caracteres" + + +msgid "Used by objectClasses" +msgstr "Usado por classes de objetos" + + +msgid "Used by Attributes" +msgstr "Usado por Atributos" + + +msgid "Obsolete" +msgstr "Obsoleto" + + +msgid "Ordering" +msgstr "Ordenando" + + +msgid "Substring Rule" +msgstr "Regra de substring" + + +msgid "Single Valued" +msgstr "Avaliado sozinho" + + +msgid "Collective" +msgstr "Coletivo" + + +msgid "User Modification" +msgstr "Alteração do usuário" + + +msgid "Usage" +msgstr "Uso" + + +msgid "Maximum Length" +msgstr "Tamanho Máximo" + + +msgid "Syntaxes" +msgstr "Sintaxes" + + +msgid "ObjectClasses" +msgstr "Classe de Objetos" + + +msgid "Matching Rules" +msgstr "Regra de consistência" + + +msgid "Could not retrieve schema from" +msgstr "Não foi possível encontrar esquema de" + + +msgid "Type" +msgstr "Tipo" + + +msgid "Entry %s deleted successfully." +msgstr "Objeto '%s' excluído com sucesso." + + +msgid "You must specify a DN" +msgstr "Você deve especificar um DN" + + +msgid "Could not delete the entry: %s" +msgstr "Não foi possível excluir o objeto: %s" + + +msgid "No such entry: %s" +msgstr "Objeto inexistente: %s" + + +msgid "Delete %s" +msgstr "Excluir %s" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Este objeto é a raiz de uma sub-árvore e contém %s objetos." + + +msgid "view entries" +msgstr "Ver objetos" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "o phpLDAPadmin pode excluir recursivamente este objeto e todos %s filhos. Veja abaixo uma lista de todos os objetos que esta ação vai excluir. Deseja fazer isso?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Nota: isto é potencialmente muito perigoso, faça isso por sua conta e risco. Esta operação não pode ser desfeita. Leve em consideração apelidos, referências e outras coisas que podem causar problemas." + + +msgid "Delete all %s objects" +msgstr "Excluir todos os %s objetos" + + +msgid "Recursive delete progress" +msgstr "Progresso de exclusão recursiva" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Objeto %s e sub-árvore excluído com sucesso." + + +msgid "Failed to delete entry %s" +msgstr "Falha ao excluir objeto %s" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "O atributo %s está marcado como somente leitura na configuração do phpLDAPadmin." + + +msgid "No attribute name specified." +msgstr "Nome de atributo não especificado." + + +msgid "No DN specified" +msgstr "DN não especificado" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Você deixou o valor do atributo vazio. Por favor retorne e tente novamente." + + +msgid "Failed to add the attribute." +msgstr "Falha ao inserir o atributo." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "O arquivo que você escolheu está vazio ou não existe. Por favor retorne e tente novamente." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Erro de segurança: O arquivo que está sendo carregado pode ser malicioso." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Sua configuração do PHP desabilitou o upload de arquivos. Por favor verifique o php.ini antes de continuar." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "O arquivo que você carregou é muito grande. Por favor verifique a configuração do upload_max_size no php.ini" + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "O arquivo que você selecionou foi carregado parcialmente, provavelmente por causa de um erro de rede." + + +msgid "Maximum file size: %s" +msgstr "Tamanho máximo de arquivo: %s" + + +msgid "Modification successful!" +msgstr "Alteração bem sucedida!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Você alterou sua senha, você deve conectar novamente com a sua nova senha." + + +msgid "New Required Attributes" +msgstr "Novos Atributos Obrigatórios" + + +msgid "This action requires you to add" +msgstr "Esta ação requer que você insira" + + +msgid "new attributes" +msgstr "novos atributos" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instruções: Para poder inserir esta Classe de Objetos a este objeto, você deve especificar" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "que esta Classe de Objetos requer. Você pode fazê-lo no formulário abaixo:" + + +msgid "Add ObjectClass and Attributes" +msgstr "Inserir Classe de Objetos e Atributos" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Clique para abrir uma janela e selecionar um objeto (DN) graficamente" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Você não pode realizar atualizações enquanto o servidor estiver em modo somente leitura" + + +msgid "Bad server id" +msgstr "ID do servidor inválido" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Informações insuficientes para a conexão com o servidor. Por favor verifique sua configuração." + + +msgid "Could not connect to LDAP server." +msgstr "Não foi possível conectar com o servidor LDAP." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Não foi possível conectar em \"%s\" na porta \"%s\"" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Não foi possível executar operação ldap_mod_add." + + +msgid "Success" +msgstr "Sucesso" + + +msgid "Server: " +msgstr "Servidor: " + + +msgid "Looking in: " +msgstr "Procurando em: " + + +msgid "No DN specified in query string!" +msgstr "DN não especificado na consulta!" + + +msgid "Back Up..." +msgstr "Backup..." + + +msgid "no entries" +msgstr "nenhum objeto" + + +msgid "Could not determine base DN" +msgstr "Não foi possível determinar a base DN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Isso pode ter acontecido por vários motivos, os mais provável são:" + + +msgid "Yes" +msgstr "Sim" + + +msgid "No" +msgstr "Não" + + +msgid "Go" +msgstr "Ir" + + +msgid "Delete" +msgstr "Excluir" + + +msgid "Back" +msgstr "Voltar" + + +msgid "object" +msgstr "objeto" + + +msgid "Delete all" +msgstr "Excluir tudo" + + +msgid "hint" +msgstr "dica" + + +msgid "bug" +msgstr "bug" + + +msgid "warning" +msgstr "aviso" + + +msgid "light" +msgstr "a palavra \"light\" de \"light bulb\"" + + +msgid "Proceed >>" +msgstr "Continuar >>" + + +msgid "Add new" +msgstr "Inserir novo" + + +msgid "value to" +msgstr "valor para" + + +msgid "Distinguished Name" +msgstr "Nome Distinto" + + +msgid "Current list of" +msgstr "Lista atual de" + + +msgid "values for attribute" +msgstr "valores para atributo" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Nota: Você vai receber um erro de \"inappropriate matching\" se você não configurar uma regra de IGUALDADE no seu servidor LDAP para este atributo." + + +msgid "Enter the value you would like to add:" +msgstr "Entre com o valor que você quer inserir: " + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Nota: talvez seja solicitado que você entre com os atributos necessários para esta classe de objetos" + + +msgid "Syntax" +msgstr "Sintaxe" + + +msgid "You left the destination DN blank." +msgstr "Você deixou o DN de destino vazio." + + +msgid "The destination entry (%s) already exists." +msgstr "O objeto de destino (%s) já existe." + + +msgid "The destination container (%s) does not exist." +msgstr "O container de destino (%s) não existe." + + +msgid "The source and destination DN are the same." +msgstr "O DN de origem e destino são o mesmo." + + +msgid "Copying " +msgstr "Copiando " + + +msgid "Recursive copy progress" +msgstr "Progresso da cópia recursiva" + + +msgid "Building snapshot of tree to copy... " +msgstr "Construindo a imagem da árvore a ser copiada..." + + +msgid "Copy successful! Would you like to " +msgstr "Copiado com sucesso! Você gostaria de " + + +msgid "view the new entry" +msgstr "ver o novo objeto" + + +msgid "Failed to copy DN: " +msgstr "Falha ao copiar DN: " + + +msgid "Template" +msgstr "Modelo" + + +msgid "using template" +msgstr "usando o modelo" + + +msgid "Go to %s" +msgstr "Ir para %s" + + +msgid "Copy " +msgstr "Copiar " + + +msgid "to a new object" +msgstr "para um novo objeto" + + +msgid "Destination DN" +msgstr "DN de destino" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "O DN completo do novo objeto que será criado a partir da cópia da origem" + + +msgid "Destination Server" +msgstr "Servidor de destino" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Dica: Copiando entre diferentes servidores somente funciona se não houver violação de esquema" + + +msgid "Recursively copy all children of this object as well." +msgstr "Copia recursivamente todos filhos deste objeto também." + + +msgid "Recursive copy" +msgstr "Cópia Recursiva" + + +msgid "Filter" +msgstr "Filtro" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Quando executar uma cópia recursiva, copiar somente os objetos que atendem a este filtro" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Você deixou vazio o valor de um atributo obrigatório (%s)." + + +msgid "Redirecting..." +msgstr "Redirecionando..." + + +msgid "here" +msgstr "aqui" + + +msgid "Could not add the object to the LDAP server." +msgstr "Não foi possível inserir o objeto no servidor LDAP." + + +msgid "Create Object" +msgstr "Criar Objeto" + + +msgid "Choose a template" +msgstr "Escolher um modelo" + + +msgid "Select a template for the creation process" +msgstr "Selecionar um modelo para o processo de criação" + + +msgid "You left the RDN field blank." +msgstr "Você deixou o campo RDN vazio." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "O container que você especificou (%s) não existe. Por favor tente novamente." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Você não selecionou nenhuma Classe de Objetos para este objeto. Por favor volte e faça isso." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Dica: Você deve escolher pelo menos uma Classe de Objetos estrutural" + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Passo 1 de 2: Nome e Classe(s) de Objetos" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Passo 2 de 2: Especifica atributos e valores" + + +msgid "Relative Distinguished Name" +msgstr "Nome Distinto Relativo" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "exemplo: cn=MinhaNovaPessoa" + + +msgid "Container" +msgstr "Container" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Você não conectou no servidor selecionado ainda, assim, você não pode realizar buscas nele." + + +msgid "Click here to go to the login form" +msgstr "Clique aqui para conectar-se ao servidor" + + +msgid "Unrecognized criteria option: " +msgstr "Critério desconhecido: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Se você quer inserir seus próprios critérios à lista. Certifique-se de editar o search.php para tratá-los. Saindo." + + +msgid "Entries found: " +msgstr "Objetos encontrados: " + + +msgid "Filter performed: " +msgstr "Filtro aplicado: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Busca realizada pelo phpLDAPadmin em" + + +msgid "seconds" +msgstr "segundos" + + +msgid "The scope in which to search" +msgstr "O escopo no qual procurar" + + +msgid "Sub (entire subtree)" +msgstr "Sub (toda a sub-árvore)" + + +msgid "One (one level beneath base)" +msgstr "One (um nível de profundidade)" + + +msgid "Base (base dn only)" +msgstr "Base (apenas a base dn)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Filtro de busca LDAP padrão. Exemplo: (&(sn=Silva)(givenname=Pedro))" + + +msgid "Search Filter" +msgstr "Filtro de Busca" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "A lista de atributos que devem ser mostrados nos resultados (separados por vírgula)" + + +msgid "starts with" +msgstr "inicia com" + + +msgid "ends with" +msgstr "termina com" + + +msgid "sounds like" +msgstr "é semelhante a" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Não foi possível obter informação LDAP do servidor" + + +msgid "Server info for: " +msgstr "Informações do servidor: " + + +msgid "Server reports the following information about itself" +msgstr "O servidor forneceu a seguinte informação sobre si mesmo" + + +msgid "This server has nothing to report." +msgstr "Este servidor não tem nada a informar" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "update_array danificado. Isto pode ser um bug do phpLDAPadmin. Por favor informe." + + +msgid "Could not perform ldap_modify operation." +msgstr "Não foi possível realizar a operação ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Você confirma estas alterações?" + + +msgid "Attribute" +msgstr "Atributo" + + +msgid "Old Value" +msgstr "Valor Antigo" + + +msgid "New Value" +msgstr "Valor Novo" + + +msgid "[attribute deleted]" +msgstr "[atributo excluído]" + + +msgid "Commit" +msgstr "Confirmar" + + +msgid "Cancel" +msgstr "Cancelar" + + +msgid "You made no changes" +msgstr "Você não fez alterações" + + +msgid "Use the menu to the left to navigate" +msgstr "Use o menu à esquerda para navegar" + + +msgid "Credits" +msgstr "Créditos" + + +msgid "ChangeLog" +msgstr "Log de Alterações" + + +msgid "Donate" +msgstr "Contribuir" + + +msgid "Unsafe file name: " +msgstr "Nome de arquivo inseguro: " + + +msgid "No such file: " +msgstr "Arquivo inexistente: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Você habilitou auto_uid_numbers para %s na sua configuração, mas você não especificou auto_uid_number_mechanism. Por favor corrija este problema." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Você especificou o \"auto_uid_number_mechanism\" como \"uidpool\" na sua configuração para o servidor %s, mas você não especificou o audo_uid_number_uid_pool_dn. Por favor especifique-o antes de continuar." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Parece que o uidPool que você especificou na sua configuração (%s) não existe." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Você especificou o \"auto_uid_number_mechanism\" como \"busca\" na sua configuração para o servidor %s, mas você não especificou o \"auto_uid_number_search_base\". Por favor especifique-o antes de continuar." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Problema ao conectar ao %s com as suas credenciais auto_uid. Por favor verifique seu arquivo de configuração." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "Sua configuração do phpLDAPadmin especifica que o auto_uid_search_base é inválido para o servidor %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Você especificou um valor inválido para auto_uid_number_mechanism (\"%s\") na sua configuração. Somente \"uidpool\" e \"busca\" são válidos. Por favor corrija este problema." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Erro: Você tem um erro no seu arquivo de configuração. Os dois únicos valores permitidos para auth_type na seção $servers são 'config' e 'form'. Você entrou '%s', que não é permitido." + + +msgid "Your PHP install does not support TLS." +msgstr "Sua instalação do PHP não suporta TLS" + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Impossível iniciar TLS. Por favor verifique a configuração do servidor LDAP." + + +msgid "Could not bind anonymously to server." +msgstr "Não foi possível conectar ao servidor anonimamente." + + +msgid "Could not bind to the LDAP server." +msgstr "Não foi possível conectar ao servidor LDAP." + + +msgid "Anonymous Bind" +msgstr "Conexão anônima" + + +msgid "Bad username or password. Please try again." +msgstr "Usuário ou senha inválido. Por favor tente novamente." + + +msgid "Successfully logged into server %s" +msgstr "Conexão estabelecida com sucesso no sevidor %s" + + +msgid "Could not set cookie." +msgstr "Não foi possível criar o cookie." + + +msgid "LDAP said: %s" +msgstr "O servidor LDAP respondeu: %s" + + +msgid "Error" +msgstr "Erro" + + +msgid "browse" +msgstr "procurar" + + +msgid "Delete Photo" +msgstr "Excluir imagem" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Sua instalação do PHP não suporta codificação blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Sua instalação do PHP não suporta codificação md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Sua instalação do PHP não tem a função mhash(). Impossível fazer transformações SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "Foto jpeg contém erros
    " + + +msgid "Error number: %s (%s)" +msgstr "Erro número: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Descrição: %s

    " + + +msgid "Error number: %s

    " +msgstr "Erro número: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Descrição: (descrição não disponível
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Isto é um bug do phpLDAPadmin? Se for, por favor informe." + + +msgid "Unrecognized error number: " +msgstr "Número do erro desconhecido: " + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    Você encontrou um bug não-fatal no phpLDAPadmin!
    Erro:%s (%s)
    Arquivo:%s linha %s, solicitante %s
    Versão:PLA: %s, PHP: %s, SAPI: %s
    Servidor Web:%s
    Por favor informe este bug clicando aqui.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Parabéns! Você encontrou um bug no phpLDAPadmin.

    Erro:%s
    Nível:%s
    Arquivo:%s
    Linha:%s
    Caller:%s
    PLA Vers&atile;o:%s
    PHP Vers&atile;o:%s
    PHP SAPI:%s
    Servidor Web:%s

    Por favor informe o bug clicando abaixo!" + + +msgid "Import LDIF File" +msgstr "Importar arquivo LDIF" + + +msgid "Select an LDIF file:" +msgstr "Selecionar um arquivo LDIF" + + +msgid "Don't stop on errors" +msgstr "Não parar quando der erro" + + +msgid "Adding..." +msgstr "Inserindo..." + + +msgid "Deleting..." +msgstr "Deletando..." + + +msgid "Renaming..." +msgstr "Renomeando..." + + +msgid "Modifying..." +msgstr "Alterando..." + + +msgid "No version found. Assuming 1." +msgstr "Nenhuma versão encontrada. Assumindo 1." + + +msgid "A valid dn line is required." +msgstr "Uma linha dn válida é obrigatória." + + +msgid "Missing uploaded file." +msgstr "Arquivo carregado perdido." + + +msgid "Uploaded LDIF file is empty." +msgstr "Arquivo LDIF carregado está vazio." + + +msgid "empty" +msgstr "vazio" + + +msgid "File" +msgstr "Arquivo" + + +msgid "%s bytes" +msgstr "%s bytes" + + +msgid "Failed" +msgstr "Falhou" + + +msgid "LDIF Parse Error" +msgstr "Erro Analisando Arquivo LDIF" + + +msgid "Could not add object:" +msgstr "Não foi possível inserir objeto:" + + +msgid "Could not rename object:" +msgstr "Não foi possível renomear objeto:" + + +msgid "Could not delete object:" +msgstr "Não foi possível excluir objeto:" + + +msgid "Could not modify object:" +msgstr "Não foi possível alterar objeto:" + + +msgid "Line Number:" +msgstr "Linha Número:" + + +msgid "Line:" +msgstr "Linha:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Você tem certeza que deseja excluir este objeto permanentemente?" + + +msgid "Permanently delete all children also?" +msgstr "Exluir permanentemente todos os objetos filho também?" + + +msgid "List of entries to be deleted:" +msgstr "Lista de objetos a serem deletados: " + + +msgid "DN" +msgstr "DN" + + +msgid "Export format" +msgstr "Formato para exportar" + + +msgid "Line ends" +msgstr "Fins de linha" + + +msgid "You must choose an export format." +msgstr "Você deve especificar um formato para exportar" + + +msgid "Invalid export format" +msgstr "Formato para exportação inválido" + + +msgid "No available exporter found." +msgstr "Nenhum exportador de arquivos encontrado." + + +msgid "Encountered an error while performing search." +msgstr "Erro encontrado enquanto fazia a pesquisa." + + +msgid "Showing results %s through %s." +msgstr "Mostrando resultados %s através %s." + + +msgid "Searching..." +msgstr "Pesquisando..." + + +msgid "Notice, search size limit exceeded." +msgstr "Aviso, limite da pesquisa excedido." + + +msgid "Entry" +msgstr "Objeto" + + +msgid "LDIF Export for: %s" +msgstr "Exportação LDIF para: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Gerado pelo phpLDAPadmin no %s" + + +msgid "Total Entries" +msgstr "Total de objetos" + + +msgid "DSLM Export for: %s" +msgstr "Exportação DSLM para: %s" + + +msgid "You left the password blank." +msgstr "Você deixou a senha vazia." + + +msgid "No one is logged in to that server." +msgstr "Ninguém está conectado neste servidor." + + +msgid "Could not logout." +msgstr "Não foi possível desconectar." + + +msgid "Unknown auth_type: %s" +msgstr "auth_type desconhecido: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Desconectado com sucesso do servidor %s" + + +msgid "Authenticate to server %s" +msgstr "Autenticar no servidor %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Aviso: Esta conexão NÃO é criptografada." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Você não está usando 'https'. O navegador internet vai transmitir as informações de login sem criptografar." + + +msgid "Login DN" +msgstr "Login DN" + + +msgid "User name" +msgstr "Nome de usuário" + + +msgid "Password" +msgstr "Senha" + + +msgid "Authenticate" +msgstr "Autenticar" + + +msgid "Entry Chooser" +msgstr "Selecionador de objeto" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Você deve configurar o phpLDAPadmin. Faça isso editando o arquivo 'config.php'. Um arquivo de exemplo é fornecido em 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "Exclusões não permitidas no modo somente leitura." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Erro chamando mass_delete.php. Faltando mass_delete nas variáveis POST." + + +msgid "mass_delete POST var is not an array." +msgstr "a variável POST mass_delete não é um conjunto" + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "Exclusão em massa não habilitada. Por favor habilite-a no arquivo config.php antes de continuar" + + +msgid "Mass Deleting" +msgstr "Exclusão em massa" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Progresso da exclusão no servidor \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Conjunto mass_delete danificado." + + +msgid "You did not select any entries to delete." +msgstr "Você não selecionou nenhum objeto para excluir" + + +msgid "Deleting %s" +msgstr "Excluindo %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "%s de %s objetos falharam na exclusão." + + +msgid "All entries deleted successfully." +msgstr "Todos objetos foram excluídos com sucesso." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Confirme exclusão em massa de %s objetos no servidor %s" + + +msgid "Yes, delete!" +msgstr "Sim, excluir!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Você não pode renomear um objeto que tem objetos filhos (isto é, a operação de renomear não é permitida em objetos não-folha)" + + +msgid "You did not change the RDN" +msgstr "Você não alterou o RDN" + + +msgid "Invalid RDN value" +msgstr "Valor RDN inválido" + + +msgid "Could not rename the entry" +msgstr "Não foi possível renomear o objeto" + + diff --git a/locale/ru_RU/LC_MESSAGES/messages.mo b/locale/ru_RU/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..64eee2e1b88b0cb129c4e8d080d4e12fe7f2ca75 GIT binary patch literal 45312 zcmd6v37lPJdH)Zx2w_oKWf4vyArr_PzqYqfXuZ>!bXTDPjT)vB#^`S<_*JScMjk0j)=eO_KBhsz;7QMMgPJ1`;XCG?w=Gz2ZE#EDc~mXSn#9Z zbM}p*&w?-G`g1e9{&Qa(Mcj@~1`h>0z!Sl9z}etx@VVeyz$3u7fiD2x2fh$|06Yl% z9C#$y1XcbA;B@e3;JM)QPL86(z)L}0UkR$-ZQvo`U7*H!Ke!+GX>c0&IZ)#o15X40 z9@IDvp6UIZ1giclkpH8z_~!udYEbQ$K#g}D$dsc$0?z|K2zG_G7kToy{HIHFX z?QIJ9PEhqf2p$bS3W|E}e+a7oL(cblb3m=v%Ru$_ zN>KDz4Ql*D;rdPBv0T3!WXYok!}ITh(igu3HSXVmhl3~0cYQVw6u&P6MfcUrg3rfDP1~sk+14b9Rp1B-Ew4?Wd;@2j468L*?8F&JNz8G8wo&atKVVUT!z!!lB zqaF0m8D; z;g`C;TMmj(J_|~}diY`9~HNPVecJa~ap!m8U zoDRML)coELz7yOIeivMPSrq*jcnXXATOo_l2~KAaSAokxnvOmSo&x>~)Hse`f$azD z0Urj%@4p1qZzq!%{T6`-fUf{Whs(qLE5K=7zYaVQTnDOL1AIRCMo@fu3#j#aAE@@W zf-3j%aDO|f_1PKl$?*I$;rff9`0Oj7+WD7&zXH|HZ^4=1K9~FWW`XMWw1C~9#<>JM z6!xEfUd3CNN~uLsrt4q}5Ih|GC8&N6fC=y1 zhdQ9zzyAu?9}k0)pI?A~_8iuN#lDH_ufq)L|Fu{9`rHN1;ripC= zJHSn#==O2&Jn*lyM#sL^<>>X`3%GtaD0%oWDE|HeD1Mu<#`)w-@I_p&1YZYU3tkI; z6)b~`xhc9n2x=Uk1xw)Hf_tFX`CN$3zw32*JFL&gb24}__m_ij0p9~^9gj|Y-lu>| zxV{R!6ub`I2y!IQvSLEV24yafC%criG8 zt?Qj(Q0wsk_;T>aU>A56lT`b?U>$rncszLE>zytqgR{B506YyG1dj#p1U2vNpvwO_ z2sxtff+vFC2gRTJuJd&`9Mt-r3`#Fu3aZ`Lf-}IIK&{WmLD6adLC2%OZmws7TDRAM zTF+}i@!`8b@zFumFN2vhu4_O&e2M=-uF(zP;~rvQ2cS&8+=_lL9I&y>iL_&L&5ien$L$o(d%!(v%#N& z2ZGbz=z8o_P<(VwxPBeDlXW`T8AHkF9DDLBe!cS z!547-4)6f*9F_epy>Y_Q0*N0X4jJ!fM;-B1yye=xBzT|OTg!$6vX#e zfid_d@KW$@@GkI&pxV8DBQ_j-4;aB$XI{@7z_VDK`P{m1v)i%ng5rxGfU5T^@I~N3 zH+Vi|7TC%4>p+d;R#4@>42tgm2#Vi+3yOZvz0v8j8dSYeQ0s6%xG%UH>;|6-&wmTP zjO&iK`u#H4%k_sq(d)psx%{3CF6R1d@MQ1}pvH3#cpUg0a2EKV;7Q>0o19LIK(*5c zz8KsH&ICUMiZ8wdUIj*f?DV`EoW|uF!DGRcL5O^BbJHZ!%-v^HX{{S8W zz5t;(7`mPazMkt-A9Q_k2dH^J3Tix`5BOD3_5Kcg0r(S8-0m^A}zP-pcVkj+cf$I5iz0)Zg>DzZE=yL$tq` zLu}M`4o5%7z8niVj^mJ?N&of@ zbuJ7yz60LL@h==F@(gjZzZ>`$k&nL0v6JI3IP~`_%KV$3M*kQ5ayU;xvNMY^4X`iV zgf+6i**udx%mBsrF9h}XT!-i#AS%Fk?eg$Ud<45h&*Az@VEXq5PCm$S2KV=*H*~Shx6ZXyq!aTrBL@Kzl<*B z`XJ7qpI!$X1Ltyd^ZdWS5%3?uqregHDo}sdJ4Exi{#iH|+!oINBVeD(&#cEiqm87l zlWKp=ze%N0D<}21zf>Mf`r<}4?n&alWH4zYeO*yUa$RX?crfXXdn@yojxI|!tVnA0 zYGrnGelInX+Jf^NrJlhg?j0=E>+@$-s*Q4QGK;%<(iitu2kXP7%KTaLxR=%_4-Lfi zTJQW><)P9*QlGn_RI8LL16{+Ffm!j|q&%>;F@M$>^Jc{x%6*NsoSr!=p1UB<|DE5n z;Hv6K++Q83^u?vPQmu6Mml~zPczEsbWs4WBDD@4MD{;@r!1VLy_AEGmZlh2CXiPS) z1sBz7)mpdT*R!4lGwUiDcVwrt$Je?T5_zTkSYjrcYhkclN#d-PIdN}ka4@O0?u>8t z3P@V6R_d+sthj7ZcdN#nc*UhF3fC(atyq$~Q5?;<$zGZC#Py`MKAC97t>GLr<)W41 zMyWQCurifo1ItuP`sdG@S)a9F#b8pZ!vJfO-gR+_<)|k~T<(t>Ys)a($UwZd1SUx( zt|i0O8f?WH*OK$+mKJoKKR4xxY|zhg6ifQ!azkBJ8pY1$#G^3EP-!%D-x^oXC|q0a zT?gwu&4}h2kHbOfXnSffWV9$AEY};7qf!GQ>KQ?>BtU)T`tTqf!hwyo3H{bb1{?Lb zqqjOVRO+lJ!=+jYGR&rd^`*gbU))!rCAbEH)skyR$~B4JqP{*IF)|llQ5qac>}q+> z>yzHbg_1TS_M)t3dt9o-rM|v$19n0fXniEnh_dm;S~4riDyA6c8qMxyRkAxh-tiqmz78&#p$etdxe5xLS*cS*;D#T3=Tjgry-m4wT9j)kJtYdh{=BP^}D( z&h~qYmqkoU6t`uJE*L2fir#U(QW~zWts3JsY6u%6>#YutGLAU9Q0p)lUAVSX8AvXx z4scej(l+9opvX0=3&r%t@v1pc)xYA?!Ri1U+pnebBHSOY4v!2|xvyN}vD07>24qca zO-JL7#mi>L1GUodT4=^j&2yDjikQ}WvkXlZowO)!-@0dg;i8#Z=<}P zK_V;V22klQ*M^W^_}!VO&2G_LYgs7HP#Po5Qwnu@oHr8EMNBYnA-c{tN%nsaGBsMX zXVjUsAbl{k>BuS4(2$qEELoonwp4p&873>=GBO3bGFkD!AhjO8rqNz(4 z#*Q6|gLQf)wJu%pENhuv^O@#t>SS}@Tf^pa3R*m@rY*dm2cdNHEbK z8%S+Z<7{{oY16+5_)v8{VkmOz=>L?u9Sc5&2_ikl_0h{(v|$AAUj>T!l-$v z+@M%dn2gIi99JqRj!7EotyU^h6_lDWvpxgehB~P=>>}4+uGl0ErE+h|IzO-QK$9`L zcS|+5h|z}+Tf+}bVpFdu)QO&{cCG5_6j!0{#td& z6|-5au6UI=S1yuV|KKsi=a<~co3Xah819}s7m=uUp**`PNkbPpUs&#&KkubypZk&- z3%DbfP8!yzh$)m)D{YPUYF03*t;KTrzp=K|h=*%T zq=FA+)$rQv!sg)>B?cnG7)n2Q`FA>nKVK14OWz%t}c6&N~WXQgx6 z&Fj});SA!4;gGTH%nRj%10&B3YFaTZOxh*q@|FC)v_Y*pfOAY&nGKhspg_I1RvwlD z%%5vA1VwVa{omrljtZW4t7cqUPeiNObatzB1Bc2y5RodWXO}BY5TeDn^9*vNTwlwS zmf^ici>s!!Q%7>BB<;O6v4BS|R(&BwDzh4Ky-^+3L=r`oPz?thU+bbuFCi*w$lO?e z7;k_Z68WSONfD@SUUL_vDQSG{o;%zYZ!q1SS`Ac5w~BeluIRTrw(C*QLTn9$83$aV#*<2TCUgI9*8+s zEMK__N48d{b2SrJMuvI_NHqv~{NwHx7TUvg^XAr;P-*f$t(8>UxERL$5LW68Qzt%b z5T#N$u&B|rZoa_N{KLA$B?5sp=9%7pH7B0sT7)w# z09R5Bv$|~1NU5=aqOUnm)44r{MF^wN%4XDk0(kc>*#XQ|FE!Gu`bdvfJi6EtIRVV6 zz$efIvJk5)_fUaDym%R0g+mow-lgjXJ^{$UOQQszy>ewQRTL@+y1*=WJLjyvLD zJ1`ZphL)A-s$*n(6KFh;m@SECOK#}rk}CgWs|l?@2Ex5d%YDSfBA)``YO zw8U*aNn?Xj3`C6mP#UF}u9h(Z!PmOFCnb1lD~GlS24Q`<8sde}=&Fna3a8V+bWThF z)euvm0g~$)Fk6CB*J4{5A+E!jU9BeC!yjX+LVI4Vur#skeA>uWN?eSPVd(W3j$B-? zBG@V(O}$YY>1|+l27{vZlt2f8;f9I?uBWQO_28J!j!2G}DhbiB{1G!`DvG9sxMkwQ z5Cx(GyW$JzK|wS(WouFm#X9O1!DSyBjFAs@#jhMGH>5SYq9sFScP?AJl^bxurH zR6%>{CRr{lgb?M1Ww)XwIOM~_D0j7n8>6LecYG`}mUnrILUS5g6QQVL$=-})O-UU20^Qhux#1= z96QI-mH8*RrO9sR!X4*V%L!PzDssY<%BU3N-guB2I*z$f@B(b@6s> zj$VViIF?YYT%n7lr9l~dI?WkPbWyE@MP8}|$6^_4%KMe6VHuiW28aRhW?D%kzgF6l zu{a0G1T#yz!M~_gdlQ6LlDRZpzROv@c=?jW#XEH_uPYCY48@lvm4U|E>{3D+*UN7p z|IeDFrhR01uv+Sq(8}CKOD#|50c(zU)BS9OtrX zw5$qcTm0O9t=V2XlHk9f9%y{J3S?T^6lkk5{qivN1Y;L+l!$E{*u#lz3w5Mpq5ELQ zC8k-BVP9FRs!?d`#9R`SV`FFMs@8&7S&{*3b3rOS*d0+2*5ERYmwaULqI!MAe8V$T zy+PIL$N(NeE{tPD3=e8>5=NEg7jwZ%s#-$uNn3O%Wu@uKz9~y9SHe?p{@g5&$Af7? zTD_PXV+o0j-Yv~Gfi@0xH32$RqZ`U3gV{w;&ogkwhvCv;tPe3$s$yoOuALh#BW?u> z5U42?S&1)tZ=B4e<-OnjITk&9HqQj{kvEN8x^ zOtK8R6l$OBp=i`-8OvI^zAl8zS)7h5T+#SYF1X|H4Fwb>z*x%5R_b^#9v(WallmOA zJ6;O5n^Se?NgsNv3

    A81F5SLzWmL^+Wj0P?5d0Il&g2SQ7e?C55de>Dn}qXfL-c zf$7(z&Q-mt&Aezi{(#Haa(KH#3_hsTBm=Jyw63)z$?Ryk#a)=5oOovULP9$KNH&>q zN9biJ3YT!^+3sk?_^dkw_h6X9kfUB*7=`Rxu+ZbwS+s)KNtt8B%6Au-)C$*a@hJn1 z^K?Ym^XPI6Cd(PT*Nj8C-#bDsg0Ml(Zrf!Rgy!yt7NER^r>!TnZvJv%7OBd2dxtfN zHzb3DUDWDhBZpAI_21=5Ke6swZW}5pkvd}enHX&1c}0`Ntc>xW?3YF@AC);w5Tjmh z*&&KplIWsPo{Ow&^UF%wjiVH53(MHgn&aWwwKkmc>%CGjmTw`{BfB7bFJGWI*C`$u zTWgBckPl-C5Y{|e>3ac^&|o8dQKNL{$is|qwGwhC=_AzNa zf2gJEgaX;BYR}(pOl0r$Ky9Wwl{3{D$`FGyQ*$rt6@WNhA$%BavCU*^ve$N+LO?Mb zL_gC2mZx zEx59QSe0shsk3c+lB_dPXb%hEQ6rO#aKN((&Duo9Q0nL! zZBZM^*v=20M5;gLV3*eoCfK4hnNH4JISAJ~ZKF(UX`qcNPMzMfXv;gZ9$n>1c}`GK zYlceKt&v|YugD?>n>V}Za-B^}C+4R)rQjR96VpZ-I2+t%$0YL5g=kg@8TU?&fUcQa zRB|?~j|`g~Q5EyH&}xk;Z}|9pLM!rT@=MEjB&F7ma<7UtK|Z_8q>lJI9;SGtvQmgct7ku3^R4NJ*Zrq9GHiF zNJo`itSm052A?fF4a?#EHY^N>R&Ew3Qq_A;7kPWpDn;R|Em9OgZ8HzdLf4%BHBC&K zv$}>ng1DoPLE#eD+j!5EbwLM&z;AVB9oii~E=`qMl(@Qr*Hay+z@2I}WS6SuR$`S3 zk3ET-rh<7^FZBocl`dBCG}g?LMkdb^zv~=R;b*qv1qX@J56EqZQ0t8r{WE*tI`RcbZ^7d*}<;DFI^Z zN=XNJaL81j6%bDZ_VH~L*Tue#a;3i=CuarL*ucA7tc5mKLuz28l2m$Yqr>Q=uINh1 zc5Y{(1e@f&U$&8z7&kArVcIb;V&HWKMVtzcVIJHQy9%0c%n5$=^yn%St0Y=6&xob^ zXDQ2DpVbv>Kfb3{-5?TLq=yVv>WWa@1IW!A8jv={fwEj`m$e!KsW5z0T^}naU(d1- z;q4mIxa~B`SH{O=rO@Dkpf17^opilY(Zd!GxZH<2t%#1E4SC3N*7B{#J0F+pmTC#a`D8C8AKdK9tR}x60Nf z?*=^WpOHv9nHV@XKT$o)%>C2A1A+hIS-=Hew%fisFTz!4y_l*m+RNKD9g~ah9)n{$2~-% z4jv6GiYPPF{GNgYC7<~YwQ@Oga^QidDP(%;qrZ_Zj9d&TyXM0^P_E$|P!^{x2jyQgIm1?X4M#urnr|5&hQVYz*nB zryM}KjP8QFS7dK6X8K_c83PyeO#OriM}wL2Z`??oJZtnO&WubA`0RL7R_QZFVCk+b zYb{=VX7kThWQwt+wE170ercr7oT{L8yC#JcFs51;uYiAaHkbqQ|>M#wdNf zBcsh{i9*fZvMJ6kPDMTwiyW5)Ki@cd zrYSyBPNQ{_G(ovw8&elv?CO z$*3e6mmclIh1Y&gXwPEgNc(6ODnz6U2??Tp{z)Qx{fGdh5s?xiDHX}1i(WsR4A{#= zQsvf}$GP?J;*Gtu9hnQLf5}xvLnMmAYa`jKA#&`^?INP^O))Y=k+MV?0qPN^4EveA z9>isEgY=|WHn;DSIa}ssr$q^l3NN(7QrS+?xEhs&Y8BG&wZz``bn4r9<<<8}$|#X; zHRI+-?%72}X2wuuE;;KRmc!)P24}`Zk~S0Xq?kPIA_d30jC%Fmn7fp|`DMvuaZKhC z`ff7>g&!0rm@WxkV!XKcP7`vf?iUsZD&Ew4O$za1WfHO7{fS2hqzqbV+)*hXce%PE zC1Wha;LP*gUNUmQ1Yi-iXh{}`!}MBHWbfJqZVTJw3_KT=K`{F$0=*@ZfG_7>gdzbW z9E*i>$N>Fq*+6&RkVqmABGwo~iNQ$esw&s24`tKSuQz>_9= zBX>2}^RN^5t}|wh>4BtIzH$xwFbS~-Zyu#m_?2d;>7whAwX_s5} zw{vNIpxoDa0qz%*1 ztt_CKdZTldqB*u9l$>6fkfa)oSC&TBt(~@F`KrzfrCwmQ&c$e%?s(qmr=Q(<#u=US zUK*eAlJ2w4KJD}~PCuQ3otG!;&1g+f?%eKq^Ss>BB}*@A(c+A*)2CgCW`Sy*%5SiZ z$NM*P`I@0zIZvJ~Zv-^vuU>U==eezN8Y`P@oq7XLo8aB?xjp5^v=xJTXQuOFcz|vH zxH4?l_4)J8P)ZEs5d~8$Hyt}z09^2e}gzMeSJ!998 z-O{?;Ikt&Q72nx>%lnvB1mmd3?X1Tx_=j^S zeY1_n9y~-b>)d3B5pcbu`52-G-%-MNaO}po!^+v{V9^~6`AKiaL~U#f)o(_=_-W$i zz19RhGm%Y9WlL=0$MjfW<7QgjQskSl>-qkwD{8)5WD+GrwXs{q-4Lyq4F_aUzc>XpT(h!`p za}zTT4k9o9%Q54^w&`kU+tr6r0IJzEw@h+dQ`(07FvXzFpfy1jMsk~x{1Luk zI8vswT>y>INS_wkU=3B&XD&jqfY?k?3AvT{JjK8^@_?y!#m##-lU>!kHp@z@!VVN3 zmU^Q`0>$6yBSL*h3yDM!&CU8_+>nWQ9LYy(c**n@IWO*HJWJ7uQ}@*RCf4L8a}uYnW&Ty_GwR#emftwG z<(X6^_w(PV`YgVZ&8ykH8R(?n$~Gkn(znmhs|+S^depp&>Q5p!usCvv!tq;DoIwqm zv_|yQrXKCS99Su%OdZHaQ=7R4f_%GeKo6n=+l+q@mx4W=sz)gjDUh5qhpUVXBFCsI zmvC1PdvJ7l)^exVPD0&;s7ks&tM#}Hg;cKT5cMCXVZoLe!<^^H95gqu-bS~_O@wtf$ z8CA_s=FTlWPbOI**sP3|yDvH z7LQ@=;K~Fdo?%OsMO*G&TTo!ljBS~LP==Nj?&l|*h5ycKny<7408BDng5Q^gxv0uq9`Z^_4(=+I2v?EAu6V`E#=@5$Yhp~&0denpW|$nr!~Exo4& zVFJOxE2z_ooBWH7lv$+)LS%8SMRBH`(Y+E?6Vg_}wgkXLiqH~#=+%~f4%Av0G>BAz z>i{_sjD~-62Hb3C7CP|cMoERV&6CWf;G+?WFf|e|u!3srmf6i!mEo}{PMl#;yqXE= z8rJ`Ip6_5ukpNMkEt!TJB_pO7TAfhfb|pp%8IU$-$n1`C#+Wx}%S;z=<8fXmY`zzn zv(=Q_n7c6XfNVR|QC`(NecGt473oY`m?+C+Dvw!sP@D5%rA``jU>5kDHCwA2zn zf@;g(Nq+Duv<^I%TrsIO_QF-&i$5Atc9pja!cPH6%^}d}bdrF0FWGMbbWZ$B02FEc z5P%2h+ij5%JIm4T#k+QKn*3v$l9s~MntPNhdLVCPqUMK8WR!8(MDj2HOng)*Toh;t zESv&&Asly$psB_+|6!tgPV7QJB4x4>@>m+xn5n%X5m8PYu?RVyNt?I@*duEas7d&J>%NuaGOT4(_o+=n!#~G?(gV zPb>sJ%F5_gC;@X@H9}b2q?>JW(AF!clz3bzDAT+dv9up>4|Gxb7$*k_=U?PTMkPn9 zw64;Fk5YJZ$aV(PB3U5OXPnBA%=FNh-{OX{g3_zo81W{wEXGwe73`($Sr4kfiJ3sN zG$u``bj?#H43lR9;f|-9iiw7QKNaP9SXw*h^t8=B?v$L%G@9H}NfOPN@Sv;(&zwOC zZH_=Y8=kg~(zNCbX0m7OMw?>@n`TT*(bkYclAt|VNSB#AU0`SwF5^_B)#_K5(9x5Y zdX(mq&=Cm0L^P2tGhyCMJFFO#lwHu!om;g2Y@;zXUkpSMovFZ=8?3EZoO|pm!G+>Q zc_8o$Mwo}!N6kCZWmQ*GnoV(vXbU}IS2xE(-4L;Z#rDNEMug1GU9b*pL_ujK2Fn^D zMU2T4@&3k#EK<6CVJtvRmc|=?go=_Hd5t(B#=mSlqTv~{hTMGA!v8xVgFDdn6##PV zh5>D+M~snvt#_&fZ>C^f;T87fRk<@?S(aP&LF^?0XbjrXQTSAN#-vOP?8%)FyG4HO z2I0{+a~##?l}x+=BNfrwjLj5Ub0=gS#~fN{#zrYIhp9*gYdVNwBMNQ4lip!2lrrvM z>XO~b3`5E=KB|JvEhcMVuIP=scxH7{3#5HBLC$Rg{DoKkNa<9NGg1ZCFZ`p zWovhnrzohe`PnSRpt2YFATy`1tz93JQHjZ>Ob|HRB*XL;ZQSA_+1@!XY3j!`@@}Wg zl*v!F0In)Y@ZHX0D5>IY7sh6}448axescq9VE*#f*tT*`bZ)azw%HU@R+jsdoXbZt zDjWO4pn;KL$O-I`1cY@{En_1IxS41OOC&hXe%a!Mt?RMP6Bm$Kkn}4cmQl04FMq?p zHgNLs=C;UFPcl7PRSjpig~Be>1xH1?F^iN7p0E5qi~=27=bWe19;X{xUaZS2Gup-b z9jzekts=ZMm_3M^TeFL8lv30q)yKoUGO-nx!e^NZTR2p?9i9#^(3t*~mvJ9Ww88XX8YlAqI)2&&w~08rRgJ+7CCu$j{ULi*ad$o&o>@&YUZgr z$cYlfH9L}SSD}~laRWU0e&{{bM%L4paB+p|C^YepNfBNbYX45r%GLuHRLdMxq)ZPl z4)TLq_6sLQPvbmy5GyvYJ`u1*<9@A_0P5wG3|OwasoDrratj5xK5b zoGRn(k=dfLO$L&iV9YSKX%f5bru!P1I9iJY?qUsSzKucOtx@G#Ql>$+d`sKF(ge2> zIq-#+nrcspenf?B;gMvBDML+~SB-H#yCTV=KWN(XZt;{WK2ypqVU%)*W{>08A~@px zoo35SKeAS1o4hydt<5j5PMMPVO7i*;5ce<5RY(a@6pU=#(u&p##wq7oID`4rvLdEF zay;myrN2TVMcrFQK%TA{W#j#w2<<%#Mx&NbAglB+6TLO&cWXq%l;$ED)F&bT>^%n`xH*Yj+yLCIdse&7{;;#Djc=k++N7CeOkh zcy+WSd+CWz;|PY93Il@-eg<5%MP$(^q)RL^;i<_^kze#SkH%%>@E76I_TWo(;d~_S z%bCv!2dA*XsE(wElp>YTr|B!2GnkNGO;Si{W&{bx&5-C!=r}ZY%wTlPLDXUPAuh2w zrEZ6OcNQSM+(WL{uTVQy5KnqWNBSc@v&F)&OzJH?;d>tWRg}K)HOLvXBGEi?*1kGk z+(-a5)xEMZsWL`*#BaKNiwPG^+6EeWg0<4r+;OouSR^s|_3=_t0fA-pwF+(^q*#OA z#e1U6F8J>O`c~c(GK(>t#oz`gUtk>KUlv+Jp+ZYhZwo9ez6*&^dKNPkcoD6Wa;&`% zh6#qbcEd?bhX2z|WlJiE4cU|!$7sgK?9qs&#hVtU`k+j;k{FO5N5TvVX%hw-QyEhK z=D=78?=K`57|p~(mWy6KA}9io|?3D@x?{fw4nYqv8^m=KK{hIDV=LW zPWuilE;l-RgDq;_%c|~@K^OnHvU-}A`5?a(AXdl}5!JLG20<1=V9u15a5hTWIqx~q zy^-Iuh_1F%-(8H&I7Coi#+`bhQ(Px~QTU}L?#rUNP*`ul0UG!2AuNXYyBM;5J46@X zG~38L6!pun(5>b$F2&`;^(`+cRXlsKz%UHj$~!+yvzpK0u2sjFu>6;B=wrj9Zw8)Z(N|uaTGoCLWh2+@VYU z)d~kYImM&45lqko{HbP~ILI9Th3tYW_=iM^bi-sv*xk|c`!pzox6H7|2xjlK@lEZ{ zN~{aHM9r_w$9CawDeDTKf79{=QHsS*~T_4K+70D8*k-)B>5lTR9MXZ-!bm9Xy*t;VHIo~evwyah zOobO)=}Iah7;#fR>_|03>c8ky;r5#EqS1NK^cWq7B)2kG=E@m+`ZTs1KS(V)+q;!F zS${;f5Z=q>X5A1@rbOvHqgSYE@(|Q=?zP<95{1_w=$suCQw=%PbrA*dL$dbJ_GMtkygODhnVes+*)W)&5O}Opyxy$ zXE?`|z#P!N$C^`bkyyj2MsTxG_+$i)hq=&8wX6lmBFgkx{09$B@fE?nUFOyq|Fq=Y zxd&3XTWE|Zc4h}3&&UdkA6nUbF2ZZnVnWw}dNoj@C-%_RKO@#ivPP{GlQIs<+ysU$ zKS&Q#6JhM>eha!DeJlsWRDT?RkBY46u7`UZ4RyfJRFQE?=EFr%kJ*QOFg(G?#kse^=W=KZw=t-yP#pgNkKUB z%p7z$epyf=MjQKmI95e!i9xpK%wy9!ZfRuQeJctY7QP9wuDO}Mq@#X|V+nFIX+NzT zvN9T$_sc9HX3<7T_wwvDPO~`XE_3cFpJ2Bpp0t82H#p7^!FEkH9C5iZPI&1-QpSwh zHfUHJF_T!DrIkN@i!r;H`ROS3j7A&2nQ9qd$e?ghyTIuyVbC5+&Mo&Rb-tbt~0W={Bo|;CnH)?6xkFfZa$X&RyD_ z8=^2WST7S7P14K=U3r=jcBQT<6!|o{;7|gP%N77-`K2j!@C`1H1`!5FI{( z6+__}WmKM8%vi>l)N7u{D5=+XEU{>sT=7pBqzvK15X=0W)+@RGt*Dq!6ZT-wSr%t8 zEERN6_xSiQtx(xE5#HV%D{!&dWJOrbJ$PyA8fMOzLh>h(rUAuCT9zUSXqBD0396CT z2w(m{F@NvgNI+{ErnpS;7vYlgn%_VlSoTkm=(x{~()H6Ia<-HlyNRi%ZNwo)K&&ut zo#afELP+P45SSDl$jrB7yxM;?dz#B^Qpn$AHw!^Z~M zS40d3H;f4?0E9oX-+mG`WX2?)-0zx5%)Mf^6Emp^W8il)N_mA^W~nb1`|J&|R)$@C z>7JfB6JZ4CgyJg}=IW&x7vA-;9*n8mD%0GSydq4?%0*{9AvDs6I8Q_IY)X2K$RpzM zdq{;~LbSFOXRhdima8gWG(uVyr|<~97VNBr`=}i%N*u(0K?oU^J4f0bP?~nhEnQ69HX12TEq>j_5T9_553q%h1XFd>-HHJMm= zlG|y(LHk)^ZnB~{we*>l#ATbXCur#rz2v|Y+GGVG>bRgxV!_xmPtpv z)U$b!TLZTM(FE0ABI8=Fv-VI-Vd#e|_4+@&$tVWg zywsbU4iuyf)=1@2rhJA}6kW8`AQzfND`jYQv-O_c6A-^OG$~)?}m72ll{V5`a`Cng_Z-L(9<0N z{0Nu!38K)wc;Q-{OjDlhK+hBd(6)i(f7^88pi7>O#0K-1d#5G!Y9u+58T_e~mL9A! z3OJ)JDUgc`vz^GCc6R{_Yby_}H4B-qrxj!CQkq$=F6A}!UFonw>Wm@zis)xjtrWwT zVla-DlQmfd7=RA&o-@r~@b@*{d@GYMqIKzNXz~C*TfD$@9u|clS$04+Cyo9WFH1*k z^4WSppRV#rIBT?>3i%<6#oJ~W*gO{j*+SS}Q2XrtM_XG z_|7)MVj42l4W{r&`zcUD=a|XD0+@qm**kp)I<9_;_pQEO)%9M|^* z1l*fnv>i`e3j|VmOv(GdLcuA2>h^z-dZ;V{d>JLv{c;kOsnCsaKf;o+n)#5#7Qx_{ z^5POh)2_2p|4qNj>NW$7B10T}YxyqeMxuWEE>%EuzddLug)X>)#mwO|XA>r>5vFMu zaWxIQTP@?VMNWbG(cb(P`x#lvV1ZlyDv{J??%79b1moccdKu>3DwifzXdomZ-8S5a z-#{3q-|Uqsc-G^vC4txE7UwgL_Upd+PXH%((u$uO+Zq@yIID-DW5S2 zzmff7Km_0TNG#lL%PU1Ti&UgTi8lMMv6)xvg{9v0V{7)UlA?Z(R1wMuRu|!LP9j7V zN1F^0PjA%#XoWk4Px>O86u0Gh>B90hx!+MPOpU=2&}Br~8GconGExN8w=HS;Qk>%N z*|u{u;pe@kKMLOgo9e(g%O})p{hFM9sLs_6>L#4hF1n+z)S4{SZFJ00!GaR4Xr=6a zE9A4>Zt#XZ_H2&`LsQsI29keA+s9(BYZnIqSxJxo_Zuy|;Wx<(-Zr|7A+%qWXD`ua z9P?1cnA;UIgdxadb&NQ99|cmw^axsbF|6&inJjRdFymDi200A{f7mCNQLTyc96K#9 zIq@4qW)^HqKV|`QU%X^*8Wk21KP$_VI8WHN7IH!oEEPEHEgM3ZVa3o&8%*-9Ap2St z0$4iFxI$wHc?RZj%R;4R75wC*h*(?~=+Ky9?ZLpWgL={He(Iw;RQ9R9Q~MZctA=7pT(m;$u}ZzGZ9CkU2@!) znE}&XDH9j%0uxUg%c4EDGV?#StufNBGVw}0&{;afoG#l|SXioTrLYFm`gJi|ZT*C@ zDHy3zMMHXXhHVBsCCi@>&`U=8%jPGxF@MEXL4P`Y)JGET\n" +"Last-Translator: Sergey Saukh\n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Простая форма поиска" + + +msgid "Advanced Search Form" +msgstr "Расширенная форма поиска" + + +msgid "Server" +msgstr "Сервер" + + +msgid "Search for entries whose" +msgstr "Искать записи, которые:" + + +msgid "Base DN" +msgstr "Базовый DN" + + +msgid "Search Scope" +msgstr "Область поиска" + + +msgid "Show Attributtes" +msgstr "Показать атрибуты" + + +msgid "Search" +msgstr "Поиск" + + +msgid "Select a predefined search" +msgstr "Выбрать предопределенный поиск" + + +msgid "Predefined Searches" +msgstr "Предопределенные поиски" + + +msgid "No queries have been defined in config.php." +msgstr "Не определено ни одного запроса в config.php." + + +msgid "Request feature" +msgstr "Запросить фичу" + + +msgid "Report a bug" +msgstr "Сообщить об ошибке" + + +msgid "schema" +msgstr "схема" + + +msgid "search" +msgstr "поиск" + + +msgid "create" +msgstr "создать" + + +msgid "info" +msgstr "инфо" + + +msgid "import" +msgstr "импорт" + + +msgid "refresh" +msgstr "обновить" + + +msgid "logout" +msgstr "выйти" + + +msgid "Create new entry here" +msgstr "Создать новый" + + +msgid "View schema for" +msgstr "Просмотреть схему для" + + +msgid "Refresh all expanded containers for" +msgstr "Обновить все открытые контейнеры для" + + +msgid "Create a new entry on" +msgstr "Создать новую запись на" + + +msgid "new" +msgstr "новая" + + +msgid "View server-supplied information" +msgstr "Просмотреть информацию с сервера" + + +msgid "Import entries from an LDIF file" +msgstr "Импортировать записи из LDIF-файла" + + +msgid "Logout of this server" +msgstr "Выйти из этого сервера" + + +msgid "Logged in as: " +msgstr "Вошли как: " + + +msgid "read only" +msgstr "только для чтения" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "Этот атрибут установлен администратором только для чтения" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Не могу найти корень вашего LDAP дерева." + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Похоже что ваш LDAP сервер сконфигурирован не показывать свой корень." + + +msgid "Please specify it in config.php" +msgstr "Укажите это в config.php" + + +msgid "Create a new entry in" +msgstr "Создать новую запись в" + + +msgid "Login..." +msgstr "Вход..." + + +msgid "login" +msgstr "войти" + + +msgid "Delete this entry" +msgstr "Удалить эту запись" + + +msgid "You will be prompted to confirm this decision" +msgstr "Вас попросят подтвердить Ваше решение" + + +msgid "Copy or move this entry" +msgstr "Скопировать эту запись" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Скопировать этот объект в другое место, в новый DN или на другой сервер" + + +msgid "Export" +msgstr "Экспорт" + + +msgid "Save a dump of this object" +msgstr "Сохранить дамп этого объекта" + + +msgid "Save a dump of this object and all of its children" +msgstr "Сохранить дамп этого объекта и всех его потомков" + + +msgid "Export subtree" +msgstr "Экспортировать ветвь" + + +msgid "Create a child entry" +msgstr "Создать потомка" + + +msgid "Rename Entry" +msgstr "Переименовать запись" + + +msgid "Rename" +msgstr "Переименовать" + + +msgid "Add" +msgstr "Добавить" + + +msgid "View" +msgstr "Просмотреть" + + +msgid "View 1 child" +msgstr "Просмотреть 1 потомка" + + +msgid "View %s children" +msgstr "Просмотреть %s потомков" + + +msgid "Add new attribute" +msgstr "Добавить новый атрибут" + + +msgid "Add new ObjectClass" +msgstr "Добавить новый объект" + + +msgid "Hide internal attributes" +msgstr "Скрыть внутренние атрибуты" + + +msgid "Show internal attributes" +msgstr "Показать внутренние атрибуты" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Нажмите чтобы просмотреть описание схемы для атрибута '%s'" + + +msgid "none" +msgstr "нет" + + +msgid "No internal attributes" +msgstr "Нет внутренних атрибутов" + + +msgid "This entry has no attributes" +msgstr "Эта запись не имеет атрибутов" + + +msgid "Save Changes" +msgstr "Сохранить изменения" + + +msgid "add value" +msgstr "добавить значение" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Добавить дополнительное значение для атрибута '%s'" + + +msgid "Refresh" +msgstr "Обновить" + + +msgid "Refresh this entry" +msgstr "Обновить эту запись" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Подсказка: Чтобы удалить атрибут - очистите текстовое поле и нажмите \"сохранить\"" + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Подсказка: Чтобы просмотреть схему атрибута - нажмите на его названии." + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Некоторые атрибуты (%s) были модифицированы и теперь подсвечены ниже." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Атрибут (%s) был модифицирован и теперь подсвечен ниже." + + +msgid "Viewing entry in read-only mode." +msgstr "Просмотр записи в режиме \"только для чтения\"." + + +msgid "no new attributes available for this entry" +msgstr "для этой записи нет доступных новых атрибутов" + + +msgid "no new binary attributes available for this entry" +msgstr "для этой записи нет доступных новых бинарных атрибутов" + + +msgid "Binary value" +msgstr "Бинарное значение" + + +msgid "Add new binary attribute" +msgstr "Добавить новый бинарный атрибут" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Алиас для %s" + + +msgid "download value" +msgstr "загрузить значение" + + +msgid "delete attribute" +msgstr "удалить атрибут" + + +msgid "true" +msgstr "правда" + + +msgid "false" +msgstr "ложь" + + +msgid "none, remove value" +msgstr "пусто, удалите значение" + + +msgid "Really delete attribute" +msgstr "Действительно удалить значение" + + +msgid "Add New Value" +msgstr "Добавить новое значение" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "Этот сервер не полностью поддерживает LDAP протокол." + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "Ваша версия PHP неправильно обработала запрос." + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "Или phpLDAPadmin не знает как получить схему для вашего сервера." + + +msgid "Jump to an objectClass" +msgstr "Перейти к объекту" + + +msgid "Jump to an attribute type" +msgstr "Перейти к типам атрибутов" + + +msgid "Jump to a matching rule" +msgstr "Перейти к правилам соответствия" + + +msgid "Schema for server" +msgstr "Схема для сервера" + + +msgid "Required Attributes" +msgstr "Требуемые атрибуты" + + +msgid "Optional Attributes" +msgstr "Необязательные атрибуты" + + +msgid "Optional Binary Attributes" +msgstr "Необязательные бинарные атрибуты" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "Алиасы" + + +msgid "Description" +msgstr "Описание" + + +msgid "no description" +msgstr "нет описания" + + +msgid "Name" +msgstr "Имя" + + +msgid "Equality" +msgstr "Равенство" + + +msgid "This objectClass is obsolete." +msgstr "Этот объект устарел." + + +msgid "Inherits from" +msgstr "Заимствует из" + + +msgid "Inherited from" +msgstr "Заимствован из" + + +msgid "Parent to" +msgstr "Родитель для" + + +msgid "Jump to this objectClass definition" +msgstr "Перейти к определению этого объекта" + + +msgid "Matching Rule OID" +msgstr "OID правила соответствия" + + +msgid "Syntax OID" +msgstr "OID синтаксиса" + + +msgid "not applicable" +msgstr "неприменимый" + + +msgid "not specified" +msgstr "не указано" + + +msgid "character" +msgstr "символ" + + +msgid "characters" +msgstr "символы" + + +msgid "Used by objectClasses" +msgstr "Используется объектами" + + +msgid "Used by Attributes" +msgstr "Использован атрибутами" + + +msgid "Maximum Length" +msgstr "Максимальная длина" + + +msgid "Syntaxes" +msgstr "Синтаксисы" + + +msgid "Matching Rules" +msgstr "Правила соответствия" + + +msgid "Obsolete" +msgstr "Устаревший" + + +msgid "Ordering" +msgstr "Сортировка" + + +msgid "Substring Rule" +msgstr "Правило подстроки" + + +msgid "Single Valued" +msgstr "Однозначный" + + +msgid "Collective" +msgstr "Совместный" + + +msgid "User Modification" +msgstr "Изменение пользователем" + + +msgid "Usage" +msgstr "Использование" + + +msgid "Could not retrieve schema from" +msgstr "Не могу получить схему из" + + +msgid "Type" +msgstr "Тип" + + +msgid "Entry %s deleted successfully." +msgstr "Запись %s успешно удалена." + + +msgid "You must specify a DN" +msgstr "Вы должны указать DN" + + +msgid "Could not delete the entry: %s" +msgstr "Не удалось удалить запись: %s" + + +msgid "No such entry: %s" +msgstr "Нет такой записи: %s" + + +msgid "Delete %s" +msgstr "Удалить %s" + + +msgid "Permanently delete all children also?" +msgstr "Также окончательно удалить всех потомков?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "Эта запись является корнем дерева содержащего %s записей." + + +msgid "view entries" +msgstr "просмотреть записи" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin может рекурсивно удалить эту запись и %s его потомков. Ниже список всех записей, которые будут удалены. Вы действительно хотите это сделать?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "Внимание: это потенциально очень опасно и вы делаете это на свой собственный риск. Эта операция не может быть отменена. Примите во внимание алиасы, ссылки и другие вещи, которые могум вызвать проблемы." + + +msgid "Delete all %s objects" +msgstr "Удалить все %s объектов" + + +msgid "Recursive delete progress" +msgstr "Прогресс рекурсивного удаления" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "Запись %s и ее потомки успешно удалены." + + +msgid "Failed to delete entry %s" +msgstr "Не удалось удалить запись %s" + + +msgid "List of entries to be deleted:" +msgstr "Список записей на удаление:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "Вы уверены, что хотите окончательно удалить этот объект?" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "Этот атрибут \"%s\" установлен \"только для чтения\" в конфигурации phpLDAPadmin." + + +msgid "No attribute name specified." +msgstr "Не указано имя атрибута." + + +msgid "No DN specified" +msgstr "Не указан DN" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "Вы оставили значение атрибута пустым. Вернитесь и попробуйте еще раз." + + +msgid "Failed to add the attribute." +msgstr "Не удалось добавить атрибут." + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "Файл, который Вы выбрали или не существует или пуст. Пожалуйста вернитесь и попробуйте еще раз." + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "Ошибка безопасности: Файл который Вы загрузили может иметь вредоносный код." + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "Ваша конфигурация PHP запрещает загрузку файлов. Проверьте php.ini перед тем как продолжить." + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "Файл, который Вы загрузили слишком велик. Проверьте php.ini, опцию upload_max_size" + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "Файл, который Вы выбрали был загружен только частично, вероятно из-за ошибки в сети." + + +msgid "Maximum file size: %s" +msgstr "Максимальный размер файла: %s" + + +msgid "Modification successful!" +msgstr "Изменения успешно произведены!" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Т.к. Вы изменили свой пароль, Вы должны войти заново, используя свой новый пароль." + + +msgid "New Required Attributes" +msgstr "Новые требуемые атрибуты" + + +msgid "This action requires you to add" +msgstr "Это действие требует добавить" + + +msgid "new attributes" +msgstr "новые атрибуты" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Инструкция: Чтобы добавить этот объект к этой записи, Вы должны указать" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "что требует этот объект. Вы можете это сделать в этой форме." + + +msgid "Add ObjectClass and Attributes" +msgstr "Добавить объект и атрибуты" + + +msgid "ObjectClasses" +msgstr "Объекты" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Нажмите чтобы вызвать диалог для визуального выбора записи(DN)" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Вы не можете производить обновления до тех пор, пока сервер находится в режиме \"только для чтения\"" + + +msgid "Bad server id" +msgstr "Неправильный id сервера" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Недостаточно информации чтобы подключиться к серверу. Проверьте Вашу конфигурацию." + + +msgid "Could not connect to LDAP server." +msgstr "Не могу подключиться к LDAP-серверу." + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "Не могу подключиться к \"%s\" на порт \"%s\"" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Не удалось произвести операцию ldap_mod_add." + + +msgid "Success" +msgstr "Успешно" + + +msgid "Server: " +msgstr "Сервер: " + + +msgid "Looking in: " +msgstr "Ищу в: " + + +msgid "No DN specified in query string!" +msgstr "Не указан DN в строке запроса!" + + +msgid "Back Up..." +msgstr "Back Up..." + + +msgid "no entries" +msgstr "нет записей" + + +msgid "Could not determine base DN" +msgstr "Не могу выяснить основной DN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "Это могло случится по нескольким причинам, наиболее вероятные это:" + + +msgid "Yes" +msgstr "Да" + + +msgid "No" +msgstr "Нет" + + +msgid "Go" +msgstr "Перейти" + + +msgid "Delete" +msgstr "Удалить" + + +msgid "Back" +msgstr "Назад" + + +msgid "object" +msgstr "объект" + + +msgid "Delete all" +msgstr "Удалить все" + + +msgid "hint" +msgstr "подсказка" + + +msgid "bug" +msgstr "ошибка" + + +msgid "warning" +msgstr "предупреждение" + + +msgid "light" +msgstr "свет" + + +msgid "Proceed >>" +msgstr "Далее >>" + + +msgid "Add new" +msgstr "Добавить новый" + + +msgid "value to" +msgstr "значение для" + + +msgid "Distinguished Name" +msgstr "Отличительное имя" + + +msgid "Current list of" +msgstr "Текущий список" + + +msgid "values for attribute" +msgstr "значений атрибутов" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Внимание: Вы получите ошибку \"неподходящее соответствие\", если Вы выставили правило \"равенство\"(EQUALITY) на Вашем LDAP-сервере для этого атрибута." + + +msgid "Enter the value you would like to add:" +msgstr "Введите значение, которое Вы хотите добавить:" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Внимание: Вам может потребоваться ввести новые атрибуты, которые требует этот объект" + + +msgid "Syntax" +msgstr "Синтакс" + + +msgid "You left the destination DN blank." +msgstr "Вы не заполнили конечный DN." + + +msgid "The destination entry (%s) already exists." +msgstr "Конечная запись (%s) уже сужествует." + + +msgid "The destination container (%s) does not exist." +msgstr "Конечный контейнер (%s) не существует." + + +msgid "The source and destination DN are the same." +msgstr "Исходный и конечный DN одинаковы." + + +msgid "Copying " +msgstr "Сопирую " + + +msgid "Recursive copy progress" +msgstr "Прогресс рекурсивного копирования" + + +msgid "Building snapshot of tree to copy... " +msgstr "Создаю копию состояния дерева для копирования... " + + +msgid "Copy successful! Would you like to " +msgstr "Копирование прошло успешно! Вы хотите " + + +msgid "view the new entry" +msgstr "просмотреть новую запись" + + +msgid "Failed to copy DN: " +msgstr "Не удалось скопировать DN: " + + +msgid "Template" +msgstr "Шаблон" + + +msgid "using template" +msgstr "использую шаблон" + + +msgid "Go to %s" +msgstr "Перейти к %s" + + +msgid "Copy " +msgstr "Копировать " + + +msgid "to a new object" +msgstr "в новый объект" + + +msgid "Destination DN" +msgstr "Конечный DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Полный DN новой записи будет создан при копировании исходной" + + +msgid "Destination Server" +msgstr "Конечный сервер" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Подсказка: Копирование между различными серверами сработает, если между ними нет противоречий в схемах" + + +msgid "Recursively copy all children of this object as well." +msgstr "Рекурсивно скопировать и всех потомков этого объекта." + + +msgid "Recursive copy" +msgstr "Рекурсивное копирование" + + +msgid "Filter" +msgstr "Фильтр" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "Если производите рекурсивное копирование - копируйте только те записи, которые соответствуют этому фильтру" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Вы оставили пустым значение для требуемого атрибута (%s)." + + +msgid "Redirecting..." +msgstr "Переназначаю..." + + +msgid "here" +msgstr "сюда" + + +msgid "Could not add the object to the LDAP server." +msgstr "Не удалось добавить объект на LDAP-сервер." + + +msgid "Create Object" +msgstr "Создать объект" + + +msgid "Choose a template" +msgstr "Выберите шаблон" + + +msgid "Select a template for the creation process" +msgstr "Выберите шаблон для создания объекта" + + +msgid "You left the RDN field blank." +msgstr "Вы оставили RDN поле пустым." + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "Контейнер, который Вы указали (%s) не существует. Попробуйте еще раз." + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "Вы не выбрали ни одного класса для этого объекта. Вернитесь и сделайте это." + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "Подсказка: Вы должны выбрать как минимум один структурный класс" + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "Шаг 1 из 2: Имя и класс(ы) объекта" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "Шаг 2 из 2: Определение атрибутов и значений" + + +msgid "Relative Distinguished Name" +msgstr "Относительное оттличительное имя" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(пример: cn=MyNewPerson)" + + +msgid "Container" +msgstr "Контейнер" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Вы еще на вошли на выбранный сервер, поэтому Вы не можете производить на нем поиск." + + +msgid "Click here to go to the login form" +msgstr "Нажмите здесь чтобы перейти на форму входа на сервер" + + +msgid "Unrecognized criteria option: " +msgstr "Нераспознанный критерий поиска: " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Если Вы хотите добавить свои критерии поиска в список, отредактируйте search.php, чтобы они поддерживались. Выхожу." + + +msgid "Entries found: " +msgstr "Найдено записей: " + + +msgid "Filter performed: " +msgstr "Применен фильтр: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "phpLDAPadmin произвел поиск за" + + +msgid "seconds" +msgstr "секунд" + + +msgid "Sub (entire subtree)" +msgstr "Все (все поддерево)" + + +msgid "One (one level beneath base)" +msgstr "Один (один уровень под базовым)" + + +msgid "Base (base dn only)" +msgstr "База (только базовый dn)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Стандартный фильтр поиска LDAP. Пример: (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "Фильтр поиска" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "Список атрибутов, которые отображать в результатах (разделенные запятыми)" + + +msgid "equals" +msgstr "равны" + + +msgid "starts with" +msgstr "начинаются с" + + +msgid "contains" +msgstr "содержат" + + +msgid "ends with" +msgstr "заканчиваются на" + + +msgid "sounds like" +msgstr "похожи на" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Не могу получить LDAP-информацию с сервера" + + +msgid "Server info for: " +msgstr "Информация о сервере: " + + +msgid "Server reports the following information about itself" +msgstr "Сервер сообщил о себе следующую информацию" + + +msgid "This server has nothing to report." +msgstr "Этому серверу нечего о себе сообщить." + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "неправильно сформирован update_array. Возможно это ошибка phpLDAPadmin. Сообщите о ней." + + +msgid "Could not perform ldap_modify operation." +msgstr "Не удалось произвести операцию ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Вы действительно хотите произвести эти изменения?" + + +msgid "Attribute" +msgstr "Атрибут" + + +msgid "Old Value" +msgstr "Старое значение" + + +msgid "New Value" +msgstr "Новое значение" + + +msgid "[attribute deleted]" +msgstr "[атрибут удален]" + + +msgid "Commit" +msgstr "Подтвердить" + + +msgid "Cancel" +msgstr "Отменить" + + +msgid "You made no changes" +msgstr "Вы не сделали никаких изменений" + + +msgid "Go back" +msgstr "Вернуться" + + +msgid "Use the menu to the left to navigate" +msgstr "Используйте меню слева для навигации" + + +msgid "Credits" +msgstr "Создатели" + + +msgid "ChangeLog" +msgstr "Список изменений" + + +msgid "Donate" +msgstr "Спонсировать" + + +msgid "Unsafe file name: " +msgstr "Небезопастное имя файла: " + + +msgid "No such file: " +msgstr "Нет такого файла: " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Вы разрешили auto_uid_numbers для %s в Вашей конфигурации," +" но Вы не указали auto_uid_number_mechanism. Пожалуйста исправьте эту проблему." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Вы указали \"auto_uid_number_mechanism\" как \"uidpool\"" +" в Вашей конфигурации для сервера %s, но не указали" +" audo_uid_number_uid_pool_dn. Исправьте это перед тем как продолжить." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Похоже что uidPool, который Вы указали в Вашей конфигурации (\"%s\")" +" не существует." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Вы указали \"auto_uid_number_mechanism\" как \"search\" в Вашей кофигурации" +" для сервера %s, но не указали" +" \"auto_uid_number_search_base\". Исправьте это перед тем как продолжить." + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "Не могу привязаться к %s с Вашими auto_uid данными. Проверьте Ваш файл конфигурации." + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "В Вашей конфигурации phpLDAPadmin указано неверное значение для auto_uid_search_base для сервера %s" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Вы указали неверное значение для auto_uid_number_mechanism (\"%s\")" +" в Вашей конфигурации. Возможны только \"uidpool\" и \"search\"." +" Пожалуйста исправьте эту проблему." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Ошибка: В Вашем конфигурационном файле ошибка. Единственные три допустимых значения" +" для auth_type в секции $servers - 'session', 'cookie', и 'config'. Вы ввели '%s'," +" что недопустимо. " + + +msgid "Your PHP install does not support TLS." +msgstr "Ваша установленная версия PHP не поддерживает TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Не могу запустить TLS. Проверьте конфигурацию Вашего LDAP-сервера." + + +msgid "Could not bind anonymously to server." +msgstr "Не могу анонимно привязаться к серверу." + + +msgid "Could not bind to the LDAP server." +msgstr "Не удалось привязаться к LDAP-серверу." + + +msgid "Anonymous Bind" +msgstr "Анонимная привязка" + + +msgid "Bad username or password. Please try again." +msgstr "Неверное имя или пароль. Попробуйте еще раз." + + +msgid "Successfully logged into server %s" +msgstr "Успешно вошли на сервер %s" + + +msgid "Could not set cookie." +msgstr "Не удалось установить cookie." + + +msgid "LDAP said: %s" +msgstr "LDAP ответил: %s" + + +msgid "Error" +msgstr "Ошибка" + + +msgid "browse" +msgstr "просмотр" + + +msgid "Delete Photo" +msgstr "Удалить фотографию" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Ваша установленная версия PHP не поддерживает шифрование blowfish." + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "Ваша установленная версия PHP не поддерживает шифрование md5crypt." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Ваша установленная версия PHP не имеет функцию mhash(). Не могу создать хэши SHA." + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto содержит ошибки
    " + + +msgid "Error number: %s (%s)" +msgstr "Номер ошибки: %s (%s)" + + +msgid "Description: %s

    " +msgstr "Описание: %s

    " + + +msgid "Error number: %s

    " +msgstr "Номер ошибки: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Описание: (нет описания)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "Если это ошибка phpLDAPadmin - пожалуйста, сообщите о ней." + + +msgid "Unrecognized error number: " +msgstr "Нераспознанная ошибка: " + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" Вы нашли нефатальную ошибку phpLDAPadmin!
    Ошибка:%s (%s)
    Файл:%s строка %s, вызвано %s
    Версии:PLA: %s, PHP: %s, SAPI: %s" +"
    Web сервер:%s
    " +" Сообщите об этой ошибке нажав здесь.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Поздравляем! Вы нашли ошибку в phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Ошибка:%s
    Уровень:%s
    Файл:%s
    Строка:%s
    Вызвано:%s
    PLA Версия:%s
    PHP Версия:%s
    PHP SAPI:%s
    Web сервер:%s
    " +"
    " +" Сообщите об этой ошибке нажав ниже!" + + +msgid "Import LDIF File" +msgstr "Иморт LDIF файла" + + +msgid "Select an LDIF file:" +msgstr "Выберите LDIF файл:" + + +msgid "Don't stop on errors" +msgstr "Не останавливаться на ошибках" + + +msgid "Adding..." +msgstr "Добавляю..." + + +msgid "Deleting..." +msgstr "Удаляю..." + + +msgid "Renaming..." +msgstr "Переименовываю..." + + +msgid "Modifying..." +msgstr "Изменяю..." + + +msgid "No version found. Assuming 1." +msgstr "Не найдено номера версии. Предполагаю 1." + + +msgid "A valid dn line is required." +msgstr "Требуется правильная строка с dn." + + +msgid "Missing uploaded file." +msgstr "Отсутствует загруженный файл." + + +msgid "Uploaded LDIF file is empty." +msgstr "Загруженный LDIF файл пуст." + + +msgid "empty" +msgstr "пуст" + + +msgid "File" +msgstr "Файл" + + +msgid "%s bytes" +msgstr "%s байт" + + +msgid "Failed" +msgstr "Не удалось" + + +msgid "LDIF Parse Error" +msgstr "Ошибка интерпретации LDIF файла" + + +msgid "Could not add object:" +msgstr "Не удалось добавить объект:" + + +msgid "Could not rename object:" +msgstr "Не удалось переименовать объект:" + + +msgid "Could not delete object:" +msgstr "Не удалось удалить объект:" + + +msgid "Could not modify object:" +msgstr "Не удалось изменить объект:" + + +msgid "Line Number:" +msgstr "Номер строки:" + + +msgid "Line:" +msgstr "Строка:" + + +msgid "Export format" +msgstr "Формат экспорта" + + +msgid "Line ends" +msgstr "Конец строки" + + +msgid "You must choose an export format." +msgstr "Вы должны выбрать формат экспорта." + + +msgid "Invalid export format" +msgstr "Неверный формат экспорта" + + +msgid "No available exporter found." +msgstr "Нет доступных экспортеров." + + +msgid "Encountered an error while performing search." +msgstr "Произошла ошибка во время поиска." + + +msgid "Showing results %s through %s." +msgstr "Показываю результаты с %s по %s." + + +msgid "Searching..." +msgstr "Поиск..." + + +msgid "Notice, search size limit exceeded." +msgstr "Внимание, превышен размер поиска." + + +msgid "Entry" +msgstr "Запись" + + +msgid "LDIF Export for: %s" +msgstr "LDIF экспорт для: %s" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "Сгенерировано phpLDAPadmin %s" + + +msgid "Total Entries" +msgstr "Всего записей" + + +msgid "DSLM Export for: %s" +msgstr "DSLM экспорт для: %s" + + +msgid "You left the password blank." +msgstr "Вы не ввели пароль." + + +msgid "No one is logged in to that server." +msgstr "На этом сервере сейчас никого нет." + + +msgid "Could not logout." +msgstr "Не удалось выйти." + + +msgid "Unknown auth_type: %s" +msgstr "Неизвестный auth_type: %s" + + +msgid "Logged out successfully from server %s" +msgstr "Успешно вышли с сервера %s" + + +msgid "Authenticate to server %s" +msgstr "Авторизация на сервере %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "Предупреждение: Это web-соединение нешифровано." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "Вы не используете 'https'. Web-браузер передает авторизационные данные открытым текстом." + + +msgid "Login DN" +msgstr "Login DN" + + +msgid "User name" +msgstr "Имя пользователя" + + +msgid "Password" +msgstr "Пароль" + + +msgid "Authenticate" +msgstr "Авторизация" + + +msgid "Entry Chooser" +msgstr "Выбор записи" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "Вам надо сконфигурировать phpLDAPadmin. Отредактируйте файл 'config.php'. Примерный файл настроек - 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "Удаление невозможно в режиме \"только для чтения\"." + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "Ошибка вызова mass_delete.php. Отсутствует mass_delete в POST переменных." + + +msgid "mass_delete POST var is not an array." +msgstr "POST переменная mass_delete не в массиве." + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "Массовое удаление не разрешено. Испровьте это в config.php перед тем как продолжить." + + +msgid "Mass Deleting" +msgstr "Массовое удаление" + + +msgid "Deletion progress on server \"%s\"" +msgstr "Прогресс удаления на сервере \"%s\"" + + +msgid "Malformed mass_delete array." +msgstr "Неправильно сформированный массив mass_delete." + + +msgid "You did not select any entries to delete." +msgstr "Вы не выбрали ни одной записи для удаления." + + +msgid "Deleting %s" +msgstr "Удаляю %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "Не удалось удалить %s из %s записей." + + +msgid "All entries deleted successfully." +msgstr "Все записи успешно удалены." + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "Подтвердите массовое удаление %s записей на сервере %s" + + +msgid "Yes, delete!" +msgstr "Да, удалить!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "Вы не можете переименовать запись, которая имеет потомков (т.е., операция переименования не допустима для дерева)" + + +msgid "You did not change the RDN" +msgstr "Вы не изменили RDN" + + +msgid "Invalid RDN value" +msgstr "Неверное значение RDN" + + +msgid "Could not rename the entry" +msgstr "Не удалось переименовать запись" + + diff --git a/locale/sv_FI/LC_MESSAGES/messages.mo b/locale/sv_FI/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..95e1f69d11a21a566ebd289df83aaf51b3130c2c GIT binary patch literal 22193 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 HtnU8;TWFYZ literal 0 HcmV?d00001 diff --git a/locale/sv_FI/LC_MESSAGES/messages.po b/locale/sv_FI/LC_MESSAGES/messages.po new file mode 100644 index 0000000..ec709bd --- /dev/null +++ b/locale/sv_FI/LC_MESSAGES/messages.po @@ -0,0 +1,905 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Gunnar Nystrom\n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "Enkel sökning" + + +msgid "Advanced Search Form" +msgstr "Expertsökning" + + +msgid "Server" +msgstr "Server" + + +msgid "Search for entries whose" +msgstr "Sök efter poster som:" + + +msgid "Base DN" +msgstr "Base DN" + + +msgid "Search Scope" +msgstr "Sökomfång" + + +msgid "Show Attributtes" +msgstr "Visa attribut" + + +msgid "Search" +msgstr "Sök" + + +msgid "equals" +msgstr "är lika med" + + +msgid "contains" +msgstr "innehåller" + + +msgid "Request feature" +msgstr "Begär en ny funktion" + + +msgid "Report a bug" +msgstr "Rapportera ett fel" + + +msgid "schema" +msgstr "schema" + + +msgid "search" +msgstr "sökning" + + +msgid "create" +msgstr "skapa" + + +msgid "info" +msgstr "information" + + +msgid "import" +msgstr "importera" + + +msgid "refresh" +msgstr "uppdatera" + + +msgid "logout" +msgstr "logga ut" + + +msgid "Create new entry here" +msgstr "Skapa ny" + + +msgid "View schema for" +msgstr "Titta på schema för" + + +msgid "Refresh all expanded containers for" +msgstr "Uppdatera alla öpnna behållare för" + + +msgid "Create a new entry on" +msgstr "Skapa en ny post för" + + +msgid "View server-supplied information" +msgstr "Titta på information som servern tillhandahållit" + + +msgid "Import entries from an LDIF file" +msgstr "Importera rader från LDIF file" + + +msgid "Logout of this server" +msgstr "Logga ut från den här servern" + + +msgid "Logged in as: " +msgstr "/Inloggad som" + + +msgid "read only" +msgstr "Enbart läsning" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "Kan inte bestämma roten för ditt LDAP träd" + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "Det ser ut som om LDAP-servern har konfigurerats att inte avslöja sin rot." + + +msgid "Please specify it in config.php" +msgstr "Var snäll och specificera i config.php" + + +msgid "Create a new entry in" +msgstr "Skapa en ny post i" + + +msgid "Login..." +msgstr "Logga in..." + + +msgid "Delete this entry" +msgstr "Ta bort den här posten" + + +msgid "You will be prompted to confirm this decision" +msgstr "Du kommer att bli tillfrågad för att konfirmera det här beslutet" + + +msgid "Copy or move this entry" +msgstr "Kopiera den här posten" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "Kopiera det här objektet till en annan plats, ett nytt DN, eller en annan server" + + +msgid "Create a child entry" +msgstr "Skapa en subpost" + + +msgid "Rename Entry" +msgstr "Döp om posten" + + +msgid "Rename" +msgstr "Döp om " + + +msgid "Add" +msgstr "Lägg till" + + +msgid "View" +msgstr "Titta" + + +msgid "Add new attribute" +msgstr "Lägg till ett nytt attribut" + + +msgid "Hide internal attributes" +msgstr "Göm interna attribut" + + +msgid "Show internal attributes" +msgstr "Visa interna attribut" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "Klicka för att titta på schemadefinitionen för attributtyp '%s'" + + +msgid "none" +msgstr "inget" + + +msgid "Save Changes" +msgstr "Spara ändringar" + + +msgid "add value" +msgstr "lägg till värde" + + +msgid "Add an additional value to attribute '%s'" +msgstr "Lägg till ett ytterligare värde till attribut '%s'" + + +msgid "Refresh" +msgstr "Uppdatera" + + +msgid "Refresh this entry" +msgstr "Uppdatera denna post" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "Tips: För att ta bort ett attribut, ta bort all text i textfältet och klicka 'Spara ändringar'." + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "Tips: För att titta på ett attributs schema, klicka på attributnamnet" + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "Några attribut var ändrade och är markerade nedan." + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "Ett attribut var ändrat och är markerat nedan." + + +msgid "Viewing entry in read-only mode." +msgstr "Titta på en post med enbart lästiilstånd" + + +msgid "no new attributes available for this entry" +msgstr "inga nya attribut tillgängliga för denna post" + + +msgid "Binary value" +msgstr "Binärt värde" + + +msgid "Add new binary attribute" +msgstr "Lägg till nytt binärt attribut" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Observera: '%s' är ett alias for '%s'" + + +msgid "download value" +msgstr "ladda ner värde" + + +msgid "delete attribute" +msgstr "ta bort attribut" + + +msgid "true" +msgstr "Sant" + + +msgid "false" +msgstr "Falskt" + + +msgid "none, remove value" +msgstr "inget, ta bort värdet" + + +msgid "Really delete attribute" +msgstr "Ta definitivt bort värdet" + + +msgid "Jump to an objectClass" +msgstr "Välj en objectClass" + + +msgid "Jump to an attribute type" +msgstr "Välj en attributtyp" + + +msgid "Schema for server" +msgstr "Schema för servern" + + +msgid "Required Attributes" +msgstr "Nödvändiga attribut" + + +msgid "Optional Attributes" +msgstr "Valfria attribut" + + +msgid "OID" +msgstr "OID" + + +msgid "Description" +msgstr "Beskrivning" + + +msgid "Name" +msgstr "Namn" + + +msgid "This objectClass is obsolete." +msgstr "Denna objectClass är föråldrad" + + +msgid "Inherits from" +msgstr "ärver" + + +msgid "Jump to this objectClass definition" +msgstr "Gå till definitionen av denna objectClass" + + +msgid "Matching Rule OID" +msgstr "Matchande regel-OID" + + +msgid "Syntax OID" +msgstr "Syntax-OID" + + +msgid "not applicable" +msgstr "inte tillämplig" + + +msgid "not specified" +msgstr "inte specificerad" + + +msgid "Entry %s deleted successfully." +msgstr "Borttagning av posten '%s' lyckades" + + +msgid "You must specify a DN" +msgstr "Du måste specificera ett DN" + + +msgid "Could not delete the entry: %s" +msgstr "Det gick inte att ta bort posten" + + +msgid "New Required Attributes" +msgstr "Nya nödvändiga attribut" + + +msgid "This action requires you to add" +msgstr "Den här åtgärden kräver att du lägger till" + + +msgid "new attributes" +msgstr "nya attribut" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "Instruktioner: För att kunna lägga till objektklassen till denna post, måste du specificera" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "att objektklassen kräver. Det kan göras i detta formulär." + + +msgid "Add ObjectClass and Attributes" +msgstr "Lägg till objektklass och attribut" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "Klicka för att öppna ett fönster för att välja ett grafiskt." + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "Du kan inte göra uppdateringar medan servern är i lästillstånd" + + +msgid "Bad server id" +msgstr "Felaktigt server-id" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "Det saknas information för att logga in på servern. Var vänlig och kontrollera din konfiguration." + + +msgid "Could not connect to LDAP server." +msgstr "Det gick inte att ansluta till LDAP-servern." + + +msgid "Could not perform ldap_mod_add operation." +msgstr "Det gick inte att utföra ldap_mod_add operationen." + + +msgid "Success" +msgstr "Det lyckades" + + +msgid "Looking in: " +msgstr "Tittar in" + + +msgid "No DN specified in query string!" +msgstr "Inget DN specificerat i frågesträgen!" + + +msgid "Back Up..." +msgstr "Tillbaka" + + +msgid "no entries" +msgstr "inga poster" + + +msgid "Could not determine base DN" +msgstr "Det gick inte att bestämma 'base DN'" + + +msgid "Add new" +msgstr "Lägg till nytt" + + +msgid "value to" +msgstr "värde till" + + +msgid "Distinguished Name" +msgstr "Distinguished Name" + + +msgid "Current list of" +msgstr "Aktuell lista av" + + +msgid "values for attribute" +msgstr "attributvärden" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "Observera: Du kommer att få ett 'inappropriate matching'-fel om du inte har
    satt upp en EQUALITY-regel på din LDAP-server för detta attribut." + + +msgid "Enter the value you would like to add:" +msgstr "Skriv in värdet du vill lägga till" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "Observera: Du kan bli tvungen att skriva in de nya attribut som denna objectClass behöver" + + +msgid "Syntax" +msgstr "Syntax" + + +msgid "You left the destination DN blank." +msgstr "Du lämnade destinations-DN tomt" + + +msgid "The destination entry (%s) already exists." +msgstr "Destinationen finns redan" + + +msgid "The destination container (%s) does not exist." +msgstr "Destinations-behållaren (%s) finns inte" + + +msgid "The source and destination DN are the same." +msgstr "Käll- och destinations-DN är samma." + + +msgid "Copying " +msgstr "Kopierar" + + +msgid "Recursive copy progress" +msgstr "Rekursiv kopiering pågår" + + +msgid "Building snapshot of tree to copy... " +msgstr "Bygger en ögonblicksbild av det träd som ska kopieras" + + +msgid "Copy successful! Would you like to " +msgstr "Kopieringen lyckades! Vill du" + + +msgid "view the new entry" +msgstr "titta på den nya posten" + + +msgid "Failed to copy DN: " +msgstr "Kopiering av DN misslyckades" + + +msgid "Copy " +msgstr "Kopiera" + + +msgid "to a new object" +msgstr "till ett nytt objekt" + + +msgid "Destination DN" +msgstr "Destinations-DN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "Den nya postens fullständiga DN skapas när källposten kopieras" + + +msgid "Destination Server" +msgstr "Destinations-server" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "Tips: Kopiering mellan olika servrar fungerar bara om det inte finns några brott mot schemorna." + + +msgid "Recursively copy all children of this object as well." +msgstr "Kopiera även rekursivt alla underobjekt till detta objekt." + + +msgid "You left the value blank for required attribute (%s)." +msgstr "Du lämnade ett värde tomt för ett nödvändigt attribut %s." + + +msgid "Could not add the object to the LDAP server." +msgstr "Det gick inte att lägga till objektet till LDAP-servern." + + +msgid "Create Object" +msgstr "Skapa objekt" + + +msgid "Choose a template" +msgstr "Välj en mall" + + +msgid "Select a template for the creation process" +msgstr "Välj en mall för att skapa objekt" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "Du har inte loggat in till den valda servern ännu, så du kan inte göra sökningar på den." + + +msgid "Click here to go to the login form" +msgstr "Klicka här för att komma till login-formuläret" + + +msgid "Unrecognized criteria option: " +msgstr "Känner inte till detta urvals-kriterium" + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Om du vill lägga till ditt eget kriterium till listan, kom ihåg att ändra search.php för att hantera det. Avslutar." + + +msgid "Entries found: " +msgstr "Poster funna:" + + +msgid "Filter performed: " +msgstr "Filtrering utförd: " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "Sökning utförd av phpLDAPadmin på" + + +msgid "seconds" +msgstr "sekunder" + + +msgid "The scope in which to search" +msgstr "Sökomfattning" + + +msgid "Sub (entire subtree)" +msgstr "Sub (Base DN och hela trädet under)" + + +msgid "One (one level beneath base)" +msgstr "One (en nivå under Base DN)" + + +msgid "Base (base dn only)" +msgstr "Base (endast Base DN)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "Standard LDAP sökfilter. Exempel: (&(sn=Smith)(givenname=David))" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "En lista med attribut att visa i resultatet (komma-separerad)" + + +msgid "starts with" +msgstr "börjar med" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "Det gick inte att hämta LDAP information från servern." + + +msgid "Server info for: " +msgstr "Serverinformation för" + + +msgid "Server reports the following information about itself" +msgstr "Servern rapporterar följande information om sig själv" + + +msgid "This server has nothing to report." +msgstr "Servern har inget att rapportera" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "update_array är felaktig. Detta kan vara ett phpLDAPadmin-fel. Var vänlig och rapportera det." + + +msgid "Could not perform ldap_modify operation." +msgstr "Det gick inte att utföra operationen ldap_modify." + + +msgid "Do you want to make these changes?" +msgstr "Vill du göra dessa ändringar?" + + +msgid "Attribute" +msgstr "Attribut" + + +msgid "Old Value" +msgstr "Föregående värde" + + +msgid "New Value" +msgstr "Nytt värde" + + +msgid "[attribute deleted]" +msgstr "[attributet borttaget]" + + +msgid "Commit" +msgstr "Bekräfta" + + +msgid "Cancel" +msgstr "ångra" + + +msgid "You made no changes" +msgstr "Du gjorde inga ändringar" + + +msgid "Go back" +msgstr "Gå tillbaka" + + +msgid "Use the menu to the left to navigate" +msgstr "Navigera med hjälp av menyn till vänster" + + +msgid "Credits" +msgstr "Tack till" + + +msgid "ChangeLog" +msgstr "ändringslogg" + + +msgid "Documentation" +msgstr "Dokumentation" + + +msgid "Unsafe file name: " +msgstr "Osäkert filnamn" + + +msgid "No such file: " +msgstr "Filen finns inte" + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Du har slagit på auto_uid_numbers för %s i din konfiguration, " +" men du har inte specificerat auto_uid_number_mechanism. Var vänlig och rätta till " +" detta problem." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "Du har specificerat auto_uid_number_mechanism som uidpool " +" i din konfiguration för server%s, men du specificerade inte " +" audo_uid_number_uid_pool_dn. Var vänlig och specificera den innan du fortsätter." + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "Det ser ut som om den uidPool du specificerade i din konfiguration (%s) " +" inte existerar." + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "Du specificerade auto_uid_number_mechanism som search i din " +" konfiguration för server%s, men du specificerade inte " +" auto_uid_number_search_base. Var vänlig och specificera den innan du fortsätter." + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "Du specificerade ett ogiltigt värde för auto_uid_number_mechanism (%s) " +" i din konfiguration. Endast uidpool och search are giltiga. " +" Var vänlig och rätta till detta problem." + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "Fel: Du har ett fel i din konfigurationsfil. De enda tillåtna värdena " +" för auth_type i $servers-sektionen är 'config' and 'form'. Du skrev in '%s', " +" vilket inte är tillåtet. " + + +msgid "Your PHP install does not support TLS." +msgstr "Din PHP-installation stödjer inte TLS" + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "Det gick inte att starta TLS.
    Var vänlig och kontrollera din LDAP-serverkonfiguration." + + +msgid "LDAP said: %s" +msgstr "LDAP sa: %s

    " + + +msgid "Error" +msgstr "Fel" + + +msgid "browse" +msgstr "titta" + + +msgid "Delete Photo" +msgstr "Ta bort foto" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "Din PHP-installation stödjer inte blowfish-kryptering." + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "Din PHP-installation har inte funktionen mash(). Det går inte att göra SHA hashes." + + +msgid "jpegPhoto contains errors
    " +msgstr "JPEG-fotot innehåller fel
    " + + +msgid "Error number: %s (%s)" +msgstr "Felnummer: %s (%s)

    " + + +msgid "Description: %s

    " +msgstr "Beskrivning: %s

    " + + +msgid "Error number: %s

    " +msgstr "Felnummer: %s

    " + + +msgid "Description: (no description available)
    " +msgstr "Beskrivning: (ingen beskrivning tillgänglig)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "är det här ett phpLDAPadmin-fel? Om så är fallet, var vänlig och rapportera det." + + +msgid "Unrecognized error number: " +msgstr "Okänt felnummer" + + +msgid "
    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" Du har hittat en icke-kritisk phpLDAPadmin bug!
    Fel:%s (%s)
    Fil:%s rad %s, anropande %s
    Versioner:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    " +" Var vänlig och rapportera felet genom att klicka här.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "Gratulerar! Du har hittat en bug i phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Fel:%s
    Nivå:%s
    Fil:%s
    Rad:%s
    Anropare:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Var vänlig och rapportera den här buggen genom att klicak här nedan!" + + +msgid "Import LDIF File" +msgstr "Importera LDIF-fil" + + +msgid "Select an LDIF file:" +msgstr "Välj en LDIF-fil:" + + +msgid "Adding..." +msgstr "Lägger till..." + + +msgid "Deleting..." +msgstr "Tar bort..." + + +msgid "Renaming..." +msgstr "Döper om..." + + +msgid "Modifying..." +msgstr "ändrar..." + + +msgid "Failed" +msgstr "misslyckades" + + +msgid "LDIF Parse Error" +msgstr "LDIF parsningsfel" + + +msgid "Could not add object:" +msgstr "Det gick inte att lägga till objekt" + + +msgid "Could not rename object:" +msgstr "Det gick inte att lägga döpa om objekt" + + +msgid "Could not delete object:" +msgstr "Det gick inte att ta bort objekt" + + +msgid "Could not modify object:" +msgstr "Det gick inte att ändra objekt" + + +msgid "Line Number:" +msgstr "Radnummer" + + +msgid "Line:" +msgstr "Rad:" + + diff --git a/locale/zh_CN/LC_MESSAGES/messages.po b/locale/zh_CN/LC_MESSAGES/messages.po new file mode 100644 index 0000000..276586d --- /dev/null +++ b/locale/zh_CN/LC_MESSAGES/messages.po @@ -0,0 +1,2117 @@ +# : $ + + +msgid "" +msgstr "" +"Project-Id-Version: messages\n" +"Report-Msgid-Bugs-To: phpldapadmin-devel@lists.sourceforge.net\n" +"Language-Team: phpLDAPadmin \n" +"Last-Translator: Unknown \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "" + + +msgid "Server" +msgstr "" + + +msgid "Search for entries whose" +msgstr "Ŀ" + + +msgid "Base DN" +msgstr "DN" + + +msgid "Search Scope" +msgstr "Χ" + + +msgid "Show Attributtes" +msgstr "ʾ" + + +msgid "Search" +msgstr "" + + +msgid "Select a predefined search" +msgstr "ѡһԤ" + + +msgid "Predefined Searches" +msgstr "Ԥ" + + +msgid "No queries have been defined in config.php." +msgstr "config.phpûĿ塣" + + +msgid "export results" +msgstr "" + + +msgid "Unrecognized search result format: %s" +msgstr "ʶʽ %s" + + +msgid "Format" +msgstr "ʽ" + + +msgid "list" +msgstr "б" + + +msgid "table" +msgstr "" + + +msgid "Your config.php specifies an invalid value for $default_search_display: %s. Please fix it" +msgstr "config.php $default_search_displayָһǷֵ %s" + + +msgid "Page %d" +msgstr "%dҳ" + + +msgid "The search found no results." +msgstr "ûҵ" + + +msgid "Request feature" +msgstr "" + + +msgid "Report a bug" +msgstr "©" + + +msgid "create" +msgstr "" + + +msgid "info" +msgstr "Ϣ" + + +msgid "import" +msgstr "" + + +msgid "refresh" +msgstr "ˢ" + + +msgid "logout" +msgstr "˳" + + +msgid "Create new entry here" +msgstr "Ŀ" + + +msgid "View schema for" +msgstr "鿴ʽ" + + +msgid "Refresh all expanded containers for" +msgstr "ˢչ" + + +msgid "Create a new entry on" +msgstr "Ŀ" + + +msgid "new" +msgstr "½" + + +msgid "View server-supplied information" +msgstr "鿴ӵķϢ" + + +msgid "Import entries from an LDIF file" +msgstr "LDIFļĿ" + + +msgid "Logout of this server" +msgstr "˳" + + +msgid "Logged in as: " +msgstr "¼Ϊ " + + +msgid "This is not a valid DN." +msgstr "DNЧ" + + +msgid "This entry does not exist." +msgstr "Ŀڡ" + + +msgid "read only" +msgstr "ֻ" + + +msgid "This attribute has been flagged as read only by the phpLDAPadmin administrator" +msgstr "ѾphpLDAPadmin ԱʶΪֻ" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "ⲻLDAPĸ" + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "LDAP˲Ҫ¶ĸ" + + +msgid "Please specify it in config.php" +msgstr "config.phpָ" + + +msgid "Create a new entry in" +msgstr "Ŀ" + + +msgid "Login..." +msgstr "¼" + + +msgid "login" +msgstr "¼" + + +msgid "This base entry does not exist." +msgstr "û׼Ŀڡ" + + +msgid "Create it?" +msgstr "Ҫ" + + +msgid "Delete this entry" +msgstr "ɾĿ" + + +msgid "You will be prompted to confirm this decision" +msgstr "õʾҪȷϸѡ" + + +msgid "Copy or move this entry" +msgstr "ƺƶĿ" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "ƵһλãһDNһ" + + +msgid "Export" +msgstr "" + + +msgid "Save a dump of this object" +msgstr "һöĵ" + + +msgid "Save a dump of this object and all of its children" +msgstr "һöкӵĵ" + + +msgid "Export subtree" +msgstr "" + + +msgid "Create a child entry" +msgstr "һĿ" + + +msgid "Rename Entry" +msgstr "Ŀ" + + +msgid "Rename" +msgstr "" + + +msgid "Add" +msgstr "" + + +msgid "View" +msgstr "鿴" + + +msgid "View 1 child" +msgstr "鿴1Ŀ" + + +msgid "View %s children" +msgstr "鿴%sĿ" + + +msgid "Add new attribute" +msgstr "µ" + + +msgid "Add new ObjectClass" +msgstr "µObjectClass" + + +msgid "Hide internal attributes" +msgstr "ڲ" + + +msgid "Show internal attributes" +msgstr "ʾڲ" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "鿴'%s'ĸʽ" + + +msgid "none" +msgstr "ʲôû" + + +msgid "No internal attributes" +msgstr "ûڲ" + + +msgid "This entry has no attributes" +msgstr "Ŀû" + + +msgid "Save Changes" +msgstr "" + + +msgid "add value" +msgstr "ֵ" + + +msgid "Add an additional value to attribute '%s'" +msgstr "'%s'һӵֵ" + + +msgid "Refresh this entry" +msgstr "ˢĿ" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "ʾ Ҫɾһԣ뽫ıֶգȻ档" + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "ʾ Ҫ鿴һԵĸʽԵơ" + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "һЩ(%s) ޸ˣұʶΪ" + + +msgid "An attribute (%s) was modified and is highlighted below." +msgstr "һ(%s) ޸ˣұʶΪ" + + +msgid "Viewing entry in read-only mode." +msgstr "ֻģʽ鿴Ŀ" + + +msgid "no new attributes available for this entry" +msgstr "Ŀûṩµ" + + +msgid "no new binary attributes available for this entry" +msgstr "ĿûṩµĶ" + + +msgid "Binary value" +msgstr "ֵ" + + +msgid "Add new binary attribute" +msgstr "µĶֵ" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "ע⣺ '%s''%s'һ" + + +msgid "Required attribute for objectClass(es) %s" +msgstr "objectClass(es) %s" + + +msgid "download value" +msgstr "ֵ" + + +msgid "delete attribute" +msgstr "ɾ" + + +msgid "true" +msgstr "" + + +msgid "false" +msgstr "ٵ" + + +msgid "none, remove value" +msgstr "ʲôûУֵƳ" + + +msgid "Really delete attribute" +msgstr "ɾ" + + +msgid "Add New Value" +msgstr "µֵ" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "ȫ֧LDAP Э顣" + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "PHP汾ȷɲѯ" + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "phpLDAPadmin֪ȡķĸʽ" + + +msgid "Or lastly, your LDAP server doesnt provide this information." +msgstr "LDAPûṩϢ" + + +msgid "Jump to an objectClass" +msgstr "תһobjectClass" + + +msgid "View the schema description for this objectClass" +msgstr "鿴objectClassĸʽ" + + +msgid "Jump to an attribute type" +msgstr "תһ" + + +msgid "Jump to a matching rule" +msgstr "תһƥĹ" + + +msgid "Schema for server" +msgstr "ĸʽ" + + +msgid "Required Attributes" +msgstr "" + + +msgid "required" +msgstr "" + + +msgid "Optional Attributes" +msgstr "ѡ" + + +msgid "Optional Binary Attributes" +msgstr "ѡĶ" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "" + + +msgid "Description" +msgstr "" + + +msgid "no description" +msgstr "û" + + +msgid "Name" +msgstr "" + + +msgid "Equality" +msgstr "" + + +msgid "This objectClass is obsolete." +msgstr "objectClassˡ" + + +msgid "Inherits from" +msgstr "̳" + + +msgid "Inherited from" +msgstr "̳" + + +msgid "Parent to" +msgstr "˫ָ" + + +msgid "Jump to this objectClass definition" +msgstr "תobjectClassĶ崦" + + +msgid "Matching Rule OID" +msgstr "ƥ OID" + + +msgid "Syntax OID" +msgstr "﷨OID" + + +msgid "not applicable" +msgstr "Ӧ" + + +msgid "not specified" +msgstr "δָ" + + +msgid "character" +msgstr "ַ" + + +msgid "characters" +msgstr "ַ" + + +msgid "Used by objectClasses" +msgstr "objectClassesʹõ" + + +msgid "Used by Attributes" +msgstr "ʹõ" + + +msgid "Maximum Length" +msgstr "󳤶" + + +msgid "Attribute Types" +msgstr "" + + +msgid "Syntaxes" +msgstr "﷨" + + +msgid "Matching Rules" +msgstr "ƥ" + + +msgid "Obsolete" +msgstr "ϵ" + + +msgid "Ordering" +msgstr "" + + +msgid "Substring Rule" +msgstr "Ӵ" + + +msgid "Single Valued" +msgstr "ֵ" + + +msgid "Collective" +msgstr "" + + +msgid "User Modification" +msgstr "û޸" + + +msgid "Usage" +msgstr "ʹøʽ" + + +msgid "Could not retrieve schema from" +msgstr "һظʽĵط" + + +msgid "Type" +msgstr "" + + +msgid "No such schema item: \"%s\"" +msgstr "ûĸʽĿ \"%s\"" + + +msgid "Entry %s deleted successfully." +msgstr "ɹɾĿ%s" + + +msgid "You must specify a DN" +msgstr "ָһDN" + + +msgid "Could not delete the entry: %s" +msgstr "ɾĿ %s" + + +msgid "No such entry: %s" +msgstr "ûĿ %s" + + +msgid "Delete %s" +msgstr "ɾ%s" + + +msgid "Permanently delete all children also?" +msgstr "ҲҪɾĿ" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "ĿǸаĿ%s" + + +msgid "view entries" +msgstr "鿴Ŀ" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadminԵݹɾĿĿеģ%s ܻɾĿб鿴档 " + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "עͣ DZΣգԸ ɻָ һҪǵaliases referralsԼ顣" + + +msgid "Delete all %s objects" +msgstr "ɾеĶ%s " + + +msgid "Recursive delete progress" +msgstr "ݹʽɾ" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "ɹɾĿ%s " + + +msgid "Failed to delete entry %s" +msgstr "ɾĿ%s ʧ" + + +msgid "List of entries to be deleted:" +msgstr "ɾĿб" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "ȷɾ" + + +msgid "DN" +msgstr "DN" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr " phpLDAPadminУ\"%s\"ʶΪֻ" + + +msgid "No attribute name specified." +msgstr "ûָơ" + + +msgid "No DN specified" +msgstr "ûָDN " + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "ֵΪհס 뷵ԡ" + + +msgid "Failed to add the attribute." +msgstr "ʧܡ" + + +msgid "The file you chose is either empty or does not exist. Please go back and try again." +msgstr "ѡļΪջ򲻴ڡ 뷵ԡ" + + +msgid "Security error: The file being uploaded may be malicious." +msgstr "ȫ ϴļܴڰȫΣա" + + +msgid "Your PHP configuration has disabled file uploads. Please check php.ini before proceeding." +msgstr "PHPòϴļ ڽ²֮ǰһphp.ini" + + +msgid "The file you uploaded is too large. Please check php.ini, upload_max_size setting" +msgstr "ϴļ̫ php.iniеupload_max_size " + + +msgid "The file you selected was only partially uploaded, likley due to a network error." +msgstr "ѡļϴΪԵʡ" + + +msgid "Maximum file size: %s" +msgstr "ļߴ磺 %s" + + +msgid "Modification successful!" +msgstr "ɹ޸ģ" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "Ϊ룬ڱʹµµ¼" + + +msgid "New Required Attributes" +msgstr "" + + +msgid "This action requires you to add" +msgstr "Ҫ" + + +msgid "new attributes" +msgstr "" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "ָ ΪobjectClass Ŀָ" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "objectClassġ ɡ" + + +msgid "Add ObjectClass and Attributes" +msgstr "ObjectClass " + + +msgid "ObjectClasses" +msgstr "ObjectClasses" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "һԻͼηʽѡһĿ(DN) " + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "ֻʽУ㲻ɸ" + + +msgid "Bad server id" +msgstr "ķid" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "û㹻Ϣ¼ á" + + +msgid "Could not connect to LDAP server." +msgstr "ӵLDAP" + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "ӵ\"%s\" \"%s\"˿" + + +msgid "Could not perform ldap_mod_add operation." +msgstr "ldap_mod_add " + + +msgid "Home" +msgstr "ҳ" + + +msgid "Help" +msgstr "" + + +msgid "Success" +msgstr "ɹ" + + +msgid "Server: " +msgstr "" + + +msgid "Looking in: " +msgstr "ڲ鿴" + + +msgid "No DN specified in query string!" +msgstr "ڲѯûָDN" + + +msgid "Back Up..." +msgstr "..." + + +msgid "no entries" +msgstr "ûĿ" + + +msgid "Could not determine base DN" +msgstr "ȷbase DNDN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "мԭпܵǣ" + + +msgid "Yes" +msgstr "" + + +msgid "No" +msgstr "" + + +msgid "Go" +msgstr "ʼ" + + +msgid "Delete" +msgstr "ɾ" + + +msgid "Back" +msgstr "" + + +msgid "object" +msgstr "" + + +msgid "Delete all" +msgstr "ɾе" + + +msgid "hint" +msgstr "ʾ" + + +msgid "bug" +msgstr "©" + + +msgid "warning" +msgstr "" + + +msgid "light" +msgstr "light" + + +msgid "Proceed >>" +msgstr " >>" + + +msgid "Please set $jpeg_temp_dir to a writable directory in the phpLDAPadmin config.php" +msgstr "phpLDAPadminconfig.php$jpeg_temp_dirõһдĿ¼" + + +msgid "Could not write to the $jpeg_temp_dir directory %s. Please verify that your web server can write files there." +msgstr "ܽ%sд$jpeg_temp_dirĿ¼ȷwebܹдļ" + + +msgid "Could not fetch jpeg data from LDAP server for attribute %s." +msgstr "ܴLDAPΪ%sjpegݡ" + + +msgid "Delete photo" +msgstr "ɾͼƬ" + + +msgid "Add new" +msgstr "" + + +msgid "value to" +msgstr "ֵ" + + +msgid "Distinguished Name" +msgstr "ʶDN" + + +msgid "Current list of" +msgstr "ǰб" + + +msgid "values for attribute" +msgstr "ֵ" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "עͣ LDAPûΪEQUALITY Ļܻ\"inappropriate matchingȷƥ䣩\"Ĵ" + + +msgid "Enter the value you would like to add:" +msgstr "ӵֵ" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "עͣ ܻҪobjectClassԡ" + + +msgid "Syntax" +msgstr "" + + +msgid "You left the destination DN blank." +msgstr " ĿDNΪա" + + +msgid "The destination entry (%s) already exists." +msgstr "ĿĿ (%s) Ѿڡ" + + +msgid "The destination container (%s) does not exist." +msgstr "Ŀ (%s) ڡ" + + +msgid "The source and destination DN are the same." +msgstr "ԴĿDN ͬ" + + +msgid "Copying " +msgstr "ڸ " + + +msgid "Recursive copy progress" +msgstr "ݹָƹ" + + +msgid "Building snapshot of tree to copy... " +msgstr "ڽڸƵĿա " + + +msgid "Copy successful! Would you like to " +msgstr "Ƴɹ 㻹Ҫ " + + +msgid "view the new entry" +msgstr "鿴Ŀ" + + +msgid "Failed to copy DN: " +msgstr "DNɹ " + + +msgid "Template" +msgstr "" + + +msgid "using template" +msgstr "ʹ" + + +msgid "Go to %s" +msgstr "ת %s" + + +msgid "This is a structural ObjectClass and cannot be removed." +msgstr "ǸṹObjectClass˲Ƴ" + + +msgid "structural" +msgstr "ṹ" + + +msgid "Copy " +msgstr "" + + +msgid "to a new object" +msgstr "ΪһµĶ" + + +msgid "Destination DN" +msgstr "ĿDN" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "ڸƸԴĿʱĿDN " + + +msgid "Destination Server" +msgstr "Ŀ" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "ʾ ͬķ֮临ʱҪû\"schemaʽͻ\"" + + +msgid "Recursively copy all children of this object as well." +msgstr "⻹Ҫݹ鸴ƴ˶ݡ" + + +msgid "Recursive copy" +msgstr "ݹ鸴" + + +msgid "Filter" +msgstr "" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "һݹ鸴ʱֻḴЩƥĿ" + + +msgid "Delete after copy (move):" +msgstr "ƺɾƶ" + + +msgid "Make sure your filter (above) will select all child records." +msgstr "ȷĹ棩ѡеӼ¼" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "(%s)ֵΪհס" + + +msgid "Redirecting..." +msgstr "ض..." + + +msgid "here" +msgstr "" + + +msgid "Could not add the object to the LDAP server." +msgstr "ӸöLDAP" + + +msgid "Create Object" +msgstr "" + + +msgid "Choose a template" +msgstr "ѡ" + + +msgid "Select a template for the creation process" +msgstr "ѡڴ̵" + + +msgid "Save as file" +msgstr "Ϊļ" + + +msgid "You left the RDN field blank." +msgstr "RDNΪհס" + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "ָ(%s)ڡ ԡ" + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "ûΪöѡκObjectClasses 뷵" + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "ʾ ѡһṹobjectClass (ʾ)" + + +msgid "Your config specifies a handler of \"%s\" for this template but this file is not readable because the permissions are too strict." +msgstr "ָڸ\"%s\"ֱļΪֹȨ̫ϸɶ" + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "һ Name ObjectClass(es)" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "ڶ ָԺֵ" + + +msgid "Relative Distinguished Name" +msgstr "Relative Distinguished NameԱʶ" + + +msgid "RDN" +msgstr "RDN" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(磺 cn=MyNewPerson)" + + +msgid "Container" +msgstr "Container" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "㻹ûеѡķ㲻" + + +msgid "Click here to go to the login form" +msgstr "ת¼" + + +msgid "Unrecognized criteria option: " +msgstr "ʶcriteria׼ѡ " + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "Լcriteria б ǵñ༭search.php ǡ ˳" + + +msgid "Entries found: " +msgstr "ҵĿ " + + +msgid "Filter performed: " +msgstr "Ӧ˵Ĺ " + + +msgid "Search performed by phpLDAPadmin in" +msgstr "phpLDAPadminʱ" + + +msgid "seconds" +msgstr "" + + +msgid "The scope in which to search" +msgstr "ķΧ" + + +msgid "Sub (entire subtree)" +msgstr "Sub ()" + + +msgid "One (one level beneath base)" +msgstr "One (base֮µһ)" + + +msgid "Base (base dn only)" +msgstr "Base (base dn)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "׼LDAP 磺 (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "ʾڽеб(ԶŸ)" + + +msgid "equals" +msgstr "" + + +msgid "starts with" +msgstr "ʼ" + + +msgid "contains" +msgstr "" + + +msgid "ends with" +msgstr "" + + +msgid "sounds like" +msgstr "" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "ܴӷȡLDAPϢ ΪPHP©LDAPָ\"ʿ\"ֹLDAPͻ˷RootDSE" + + +msgid "Server info for: " +msgstr "Ϣ " + + +msgid "Server reports the following information about itself" +msgstr "ϢǷĹԼϢ" + + +msgid "This server has nothing to report." +msgstr "÷ûбκϢ" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "update_array phpLDAPadminĴ© 뱨档" + + +msgid "Could not perform ldap_modify operation." +msgstr "ldap_modify " + + +msgid "Do you want to make these changes?" +msgstr "ӦЩ仯" + + +msgid "Attribute" +msgstr "" + + +msgid "Old Value" +msgstr "ֵ" + + +msgid "New Value" +msgstr "ֵ" + + +msgid "[attribute deleted]" +msgstr "[ɾ]" + + +msgid "Commit" +msgstr "ύ" + + +msgid "Cancel" +msgstr "ȡ" + + +msgid "You made no changes" +msgstr "ûни" + + +msgid "Go back" +msgstr "" + + +msgid "Use the menu to the left to navigate" +msgstr "ʹ߲˵" + + +msgid "Credits" +msgstr "" + + +msgid "ChangeLog" +msgstr "¼" + + +msgid "Donate" +msgstr "" + + +msgid "phpLDAPadmin logo" +msgstr "phpLDAPadmin ʶ" + + +msgid "Purge caches" +msgstr "ջ" + + +msgid "No cache to purge." +msgstr "ûлա" + + +msgid "Purged %s bytes of cache." +msgstr "ջ%s ֽڡ" + + +msgid "Purge all cached data in phpLDAPadmin, including server schemas." +msgstr "phpLDAPadminлݣschemaʽ" + + +msgid "Unsafe file name: " +msgstr "ȫļ " + + +msgid "No such file: " +msgstr "ûļ " + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "Ϊ %s auto_uid_numbers" +" ûָauto_uid_number_mechanism " +" " + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "ڷ%sָ\"auto_uid_number_mechanism\" Ϊ \"uidpool\"" +" ûָ" +" audo_uid_number_uid_pool_dn ڽ²ǰָ" + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "(\"%s\")ָuidPool" +" ڡ" + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "ڷ%sļָ\"auto_uid_number_mechanism\" Ϊ \"search\"" +" ûָ" +" \"auto_uid_number_search_base\" ڽ²ǰָ" + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "ʹauto_uid credentialsܰ󶨵%s ļ" + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "phpLDAPadminΪ%sָһǷauto_uid_search_base " + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "ļΪauto_uid_number_mechanism (\"%s\")ָһǷֵ" +" ֻ\"uidpool\" \"search\" ǺϷġ" +" ⡣" + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr " ļи " +" $serversֵauth_typeֵΪ 'session', 'cookie', and 'config' '%s'" +" Dzġ " + + +msgid "Unable to bind to %s with your with unique_attrs credentials. Please check your configuration file." +msgstr "ʹunique_attrs 󶨵%s ļ" + + +msgid "Your attempt to add %s (%s) to
    %s
    is NOT allowed. That attribute/value belongs to another entry.

    You might like to search for that entry." +msgstr "ͼ%s (%s)
    %s
    Dzġ /ֵκĿ

    Ŀ" + + +msgid "Your PHP install does not support TLS." +msgstr "㰲װPHP ֧TLS" + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "TLS LDAP á" + + +msgid "Could not bind anonymously to server." +msgstr "󶨵" + + +msgid "Could not bind to the LDAP server." +msgstr "ܰ󶨵LDAP" + + +msgid "Anonymous Bind" +msgstr "" + + +msgid "Bad username or password. Please try again." +msgstr "û롣 ԡ" + + +msgid "Successfully logged into server %s" +msgstr "ɹ¼%s" + + +msgid "Could not set cookie." +msgstr "cookie" + + +msgid "LDAP said: %s" +msgstr "LDAP˵ %s" + + +msgid "Error" +msgstr "" + + +msgid "browse" +msgstr "" + + +msgid "Your system crypt library does not support extended DES encryption." +msgstr "ϵͳܿⲻ֧չDESܡ" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "ϵͳܿⲻ֧blowfishܡ" + + +msgid "Your system crypt library does not support md5crypt encryption." +msgstr "ϵͳܿⲻ֧md5cryptܡ" + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto д
    " + + +msgid "Error number: %s (%s)" +msgstr " %s" + + +msgid "Description: %s

    " +msgstr " %s

    " + + +msgid "Error number: %s

    " +msgstr "ţ %s

    " + + +msgid "Description: (no description available)
    " +msgstr " (ûṩ)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "ǸphpLDAPadmin © ǣһ" + + +msgid "Unrecognized error number: " +msgstr "ʶĴţ " + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" 㷢һʹphpLDAPadmin ©
    %s (%s)
    ļ%s %sú %s
    PLA: %s, PHP: %s, SAPI: %s" +"
    Web %s
    " +" ﱨô©

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "ϲ㣡 㷢phpLDAPadminһ©

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    %s
    :%s
    ļ%s
    У%s
    ߣ%s
    PLA 汾%s
    PHP 汾%s
    PHP SAPI:%s
    PHP %s
    " +"
    " +" ͨ©" + + +msgid "Import LDIF File" +msgstr "LDIFļ" + + +msgid "Select an LDIF file:" +msgstr "ѡһLDIFļ" + + +msgid "Don't stop on errors" +msgstr "ʱֹͣ" + + +msgid "Adding..." +msgstr "..." + + +msgid "Deleting..." +msgstr "ɾ..." + + +msgid "Renaming..." +msgstr "..." + + +msgid "Modifying..." +msgstr "޸..." + + +msgid "No version found. Assuming 1." +msgstr "ûҵ汾š 1" + + +msgid "A valid dn line is required." +msgstr "ҪһϷdnС" + + +msgid "Missing uploaded file." +msgstr "ʧϴļ" + + +msgid "No LDIF file specified. Please try again." +msgstr "ûָLDIFļ ԡ" + + +msgid "Uploaded LDIF file is empty." +msgstr "ϴLDIF ļΪա" + + +msgid "empty" +msgstr "յ" + + +msgid "File" +msgstr "ļ" + + +msgid "%s bytes" +msgstr "%s ֽ" + + +msgid "Failed" +msgstr "ʧ" + + +msgid "LDIF Parse Error" +msgstr "LDIF" + + +msgid "Could not add object:" +msgstr "Ӷ" + + +msgid "Could not rename object:" +msgstr "ܸ" + + +msgid "Could not delete object:" +msgstr "ɾ" + + +msgid "Could not modify object:" +msgstr "޸Ķ" + + +msgid "Line Number:" +msgstr "кţ" + + +msgid "Line:" +msgstr ":" + + +msgid "Export format" +msgstr "ʽ" + + +msgid "Line ends" +msgstr "н" + + +msgid "You must choose an export format." +msgstr "ѡһʽ" + + +msgid "Invalid export format" +msgstr "Ƿĵʽ" + + +msgid "No available exporter found." +msgstr "ûҵõ" + + +msgid "Encountered an error while performing search." +msgstr "ִʱһ" + + +msgid "Showing results %s through %s." +msgstr "ʾ%sͨ%sɵġ" + + +msgid "Searching..." +msgstr "..." + + +msgid "Notice, search size limit exceeded." +msgstr "ע⣬Сơ" + + +msgid "Entry" +msgstr "Ŀ" + + +msgid "LDIF Export for: %s" +msgstr "Ϊ %sLDIF" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) %sɵ" + + +msgid "Total Entries" +msgstr "Ŀ" + + +msgid "DSLM Export for: %s" +msgstr "Ϊ %sDSLM" + + +msgid "Include system attributes" +msgstr "ϵͳ" + + +msgid "CSV (Spreadsheet)" +msgstr "CSV (Spreadsheet)" + + +msgid "You left the password blank." +msgstr "Ϊա" + + +msgid "No one is logged in to that server." +msgstr "û˵¼÷" + + +msgid "Could not logout." +msgstr "˳" + + +msgid "Unknown auth_type: %s" +msgstr "ʶauth_type %s" + + +msgid "Logged out successfully from server %s" +msgstr "ɹ%s˳" + + +msgid "Authenticate to server %s" +msgstr "֤%s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "棺 webûмܡ" + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "ûʹ'https' WebĴ¼Ϣ" + + +msgid "Login DN" +msgstr "¼DN" + + +msgid "User name" +msgstr "û" + + +msgid "Password" +msgstr "" + + +msgid "Authenticate" +msgstr "֤" + + +msgid "Sorry, you are not allowed to use phpLDAPadmin with this LDAP server." +msgstr "Բ̨LDAPʹphpLDAPadmin" + + +msgid "Entry Chooser" +msgstr "Ŀѡ" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "ҪphpLDAPadmin ༭ļ'config.php'Ϳԡ иļṩ 'config.php.example'" + + +msgid "Deletes not allowed in read only mode." +msgstr "ֻģʽ²ɾ" + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "mass_delete.phpPOSTжʧ mass_delete" + + +msgid "mass_delete POST var is not an array." +msgstr "mass_delete POST Ǹ顣" + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "Mass deletion(ɾ)ûá ڽһǰconfig.php" + + +msgid "Mass Deleting" +msgstr "ڴɾ" + + +msgid "Deletion progress on server \"%s\"" +msgstr "\"%s\"ϵɾ" + + +msgid "Malformed mass_delete array." +msgstr "mass_delete 顣" + + +msgid "You did not select any entries to delete." +msgstr "ûѡκҪɾĿ" + + +msgid "Deleting %s" +msgstr "ɾ %s" + + +msgid "%s of %s entries failed to be deleted." +msgstr "ɾĿ%s%sʧܡ" + + +msgid "All entries deleted successfully." +msgstr "Ŀɾɹ" + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "ȷϴɾĿ%sڷ%sϣ" + + +msgid "Yes, delete!" +msgstr "ǵģɾ" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "㲻ܸһĿĿڷҶĿ" + + +msgid "You did not change the RDN" +msgstr "㲻ܸRDN" + + +msgid "Invalid RDN value" +msgstr "ЧRDNֵ" + + +msgid "Could not rename the entry" +msgstr "ܸĿ" + + +msgid "Passwords match!" +msgstr "ƥ䣡" + + +msgid "Passwords do not match!" +msgstr "벻ƥ䣡" + + +msgid "Password Checker Tool" +msgstr "鹤" + + +msgid "Compare" +msgstr "Ƚ" + + +msgid "To" +msgstr "" + + +msgid "Using the" +msgstr "ʹø" + + +msgid "You may switch to the " +msgstr "ת" + + +msgid "default template" +msgstr "Ĭģ" + + +msgid "User Account (posixAccount)" +msgstr "û˺(posixAccount)" + + +msgid "Address Book Entry (inetOrgPerson)" +msgstr "ַĿ(inetOrgPerson)" + + +msgid "Address Book Entry (mozillaOrgPerson)" +msgstr "ַĿ(mozillaOrgPerson)" + + +msgid "Kolab User Entry" +msgstr "KolabûĿ" + + +msgid "Organisational Unit" +msgstr "֯Ԫ(Organizational Unit)" + + +msgid "Organisational Role" +msgstr "֯ɫ" + + +msgid "Posix Group" +msgstr "Posix" + + +msgid "Samba NT Machine" +msgstr "Samba NT " + + +msgid "Samba 3 NT Machine" +msgstr "Samba 3 NT " + + +msgid "Samba User" +msgstr "Samba û" + + +msgid "Samba 3 User" +msgstr "Samba 3 û" + + +msgid "Samba 3 Group Mapping" +msgstr "Samba 3 ӳ(Mapping)" + + +msgid "DNS Entry" +msgstr "DNS Ŀ" + + +msgid "Simple Security Object" +msgstr "򵥰ȫ(Simple Security Object)" + + +msgid "Courier Mail Account" +msgstr "Courier ʼ˺" + + +msgid "Courier Mail Alias" +msgstr "Courier ʼ" + + +msgid "LDAP Alias" +msgstr "LDAP " + + +msgid "Sendmail Cluster" +msgstr "Sendmail Ⱥ" + + +msgid "Sendmail Domain" +msgstr "Sendmail " + + +msgid "Sendmail Alias" +msgstr "Sendmail " + + +msgid "Sendmail Virtual Domain" +msgstr "Sendmail " + + +msgid "Sendmail Virtual Users" +msgstr "Sendmail û" + + +msgid "Sendmail Relays" +msgstr "Sendmail ظ" + + +msgid "Custom" +msgstr "Զ" + + +msgid "My Samba domain Name" +msgstr "ҵSamba" + + +msgid "Administrators" +msgstr "Ա" + + +msgid "Users" +msgstr "û" + + +msgid "Guests" +msgstr "һû(Guests)" + + +msgid "Power Users" +msgstr "ǿû(Power Users)" + + +msgid "Account Operators" +msgstr "˺ŹԱ" + + +msgid "Server Operators" +msgstr "Ա" + + +msgid "Print Operators" +msgstr "ӡԱ" + + +msgid "Backup Operators" +msgstr "ݹԱ" + + +msgid "Replicator" +msgstr "(Replicator)" + + +msgid " Unable to create the Samba passwords. Please, check the configuration in template_config.php" +msgstr "ܽSamba롣ļtemplate_config.phpá" + + +msgid "Error: You have an error in your samba confguration." +msgstr "sambaи" + + +msgid "Error: A name and a sid for your samba domain need to be provided." +msgstr "ҪΪsambaṩһ(name)һsid" + + +msgid "Error: No name provided for samba domain." +msgstr "ûΪsambaṩ֡" + + +msgid "Error: No sid provided for samba domain." +msgstr "ûΪsambaṩsid" + + +msgid "Samba Account" +msgstr "Samba ˺" + + +msgid "samba account" +msgstr "samba ˺" + + +msgid "New User Account" +msgstr "½û˺" + + +msgid "Hint: To customize this template, edit the file templates/creation/new_user_template.php" +msgstr "ʾҪģĻԱ༭ļtemplates/creation/new_user_template.php" + + +msgid "First name" +msgstr "һ" + + +msgid "Last name" +msgstr "һ" + + +msgid "first" +msgstr "һ" + + +msgid "last" +msgstr "һ" + + +msgid "Common name" +msgstr "(Common name)" + + +msgid "Encryption" +msgstr "ܷ" + + +msgid "Login Shell" +msgstr "¼Shell" + + +msgid "Home Directory" +msgstr "Ŀ¼" + + +msgid "UID Number" +msgstr "UID" + + +msgid "(automatically determined)" +msgstr "Զ⵽ģ" + + +msgid "Group" +msgstr "" + + +msgid "GID Number" +msgstr "GID" + + +msgid "Your passwords don't match. Please go back and try again." +msgstr "벻ƥ䡣뷵ԡ" + + +msgid "You cannot leave the %s blank. Please go back and try again." +msgstr "%sΪա뷵ԡ" + + +msgid "You can only enter numeric values for the %s field. Please go back and try again." +msgstr "%sֶβֻ֡뷵ԡ" + + +msgid "The container you specified (%s) does not exist. Please go back and try again." +msgstr "ָ(%s)ڡ뷵ԡ" + + +msgid "Confirm account creation" +msgstr "ȷϴ˺" + + +msgid "[secret]" +msgstr "[]" + + +msgid "Create Account" +msgstr "˺" + + +msgid "New Address Book Entry" +msgstr "½ַĿ" + + +msgid "Organisation" +msgstr "֯" + + +msgid "Address" +msgstr "ַ" + + +msgid "City" +msgstr "" + + +msgid "Postal code" +msgstr "" + + +msgid "Street" +msgstr "ֵ" + + +msgid "Work phone" +msgstr "绰" + + +msgid "Fax" +msgstr "(Fax)" + + +msgid "Mobile" +msgstr "ƶ绰(Mobile)" + + +msgid "Email" +msgstr "ʼ" + + +msgid "You cannot leave the Common Name blank. Please go back and try again." +msgstr "(Common Name)Ϊա뷵ԡ" + + +msgid "Confirm entry creation:" +msgstr "ȷϴĿ" + + +msgid "Create Address" +msgstr "ַ" + + +msgid "Check password..." +msgstr "ڼ롭" + + +msgid "Comparing the following DNs" +msgstr "ȽϽŵDN" + + +msgid "Compare another DN with" +msgstr "ȽһDN" + + +msgid "with " +msgstr "ͬ " + + +msgid "Source DN" +msgstr "ԴDN" + + +msgid "Compare this DN with another" +msgstr "DNһȽ" + + +msgid "Switch Entry" +msgstr "лĿ" + + +msgid "No Value" +msgstr "ûֵ" + + +msgid "Compare with another entry" +msgstr "ͬһĿбȽ" + + +msgid "You need one of the following ObjectClass(es) to add this attribute %s." +msgstr "Ҫ%sҪObjectClass(es)ࡣ" + + +msgid "Your Session timed out after" +msgstr "ĻỰڽ޻" + + +msgid "min. of inactivity. You have been automatically logged out." +msgstr "Ӻڡ㽫Զ˳" + + +msgid "To log back in please click on the following link:" +msgstr "¼ӣ" + + +msgid "(Session timed out. Automatically logged out.)" +msgstr "(ỰʱԶ˳)" + + +msgid "Inactivity will log you off at %s" +msgstr "%s㽫dz" + + diff --git a/locale/zh_TW/LC_MESSAGES/messages.mo b/locale/zh_TW/LC_MESSAGES/messages.mo new file mode 100644 index 0000000000000000000000000000000000000000..d42218ee1681d482349d0cc3bf43ac420f7f63c5 GIT binary patch literal 31298 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 bP8itogcFk\n" +"Last-Translator: Unknown \n" +"POT-Creation-Date: 2005-11-29 17:45+0100\n" +"PO-Revision-Date: 2005-11-29 18:22+0100\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" + + +msgid "Simple Search Form" +msgstr "簡易搜尋表單" + + +msgid "Advanced Search Form" +msgstr "進階搜尋表單" + + +msgid "Server" +msgstr "伺服器" + + +msgid "Search for entries whose" +msgstr "選擇搜尋條件" + + +msgid "Base DN" +msgstr "基礎識別名稱" + + +msgid "Search Scope" +msgstr "搜尋範圍" + + +msgid "Show Attributtes" +msgstr "顯示屬性" + + +msgid "Search" +msgstr "搜尋" + + +msgid "Select a predefined search" +msgstr "以預先定義好的條件搜尋" + + +msgid "Predefined Searches" +msgstr "預先定義好的搜尋" + + +msgid "No queries have been defined in config.php." +msgstr "config.php中沒有預先定義的搜尋條件" + + +msgid "Request feature" +msgstr "建議新功能" + + +msgid "Report a bug" +msgstr "回報問題" + + +msgid "schema" +msgstr "schema" + + +msgid "create" +msgstr "建立" + + +msgid "info" +msgstr "系統資訊" + + +msgid "import" +msgstr "匯入" + + +msgid "refresh" +msgstr "重新整理" + + +msgid "logout" +msgstr "登出" + + +msgid "Create new entry here" +msgstr "建立新紀錄" + + +msgid "View schema for" +msgstr "查閱schema" + + +msgid "Refresh all expanded containers for" +msgstr "重新整理所有展開的集合" + + +msgid "Create a new entry on" +msgstr "建立新紀錄於" + + +msgid "new" +msgstr "新" + + +msgid "View server-supplied information" +msgstr "查閱伺服器提供的資訊" + + +msgid "Import entries from an LDIF file" +msgstr "從LDIF檔案匯入紀錄" + + +msgid "Logout of this server" +msgstr "登出此伺服器" + + +msgid "Logged in as: " +msgstr "登入為" + + +msgid "read only" +msgstr "唯讀" + + +msgid "Could not determine the root of your LDAP tree." +msgstr "找不到LDAP根目錄" + + +msgid "It appears that the LDAP server has been configured to not reveal its root." +msgstr "此LDAP伺服器設定為不顯示根節點" + + +msgid "Please specify it in config.php" +msgstr "請在config.php中指定" + + +msgid "Login..." +msgstr "登入..." + + +msgid "login" +msgstr "登入" + + +msgid "Delete this entry" +msgstr "刪除此紀錄" + + +msgid "You will be prompted to confirm this decision" +msgstr "在您確認之後刪除此記錄" + + +msgid "Copy or move this entry" +msgstr "複製此記錄" + + +msgid "Copy this object to another location, a new DN, or another server" +msgstr "將此記錄複製到您選擇的目的地" + + +msgid "Export" +msgstr "匯出" + + +msgid "Save a dump of this object" +msgstr "將此物件匯出" + + +msgid "Save a dump of this object and all of its children" +msgstr "將此物件及所有子物件匯出" + + +msgid "Export subtree" +msgstr "將此子樹匯出" + + +msgid "Create a child entry" +msgstr "建立子記錄" + + +msgid "Rename Entry" +msgstr "重新命名" + + +msgid "Rename" +msgstr "更名" + + +msgid "Add" +msgstr "新增" + + +msgid "View" +msgstr "查閱" + + +msgid "View 1 child" +msgstr "查閱 1 子紀錄" + + +msgid "View %s children" +msgstr "查閱 %s 子紀錄" + + +msgid "Add new attribute" +msgstr "新增屬性" + + +msgid "Add new ObjectClass" +msgstr "新增ObjectClass" + + +msgid "Hide internal attributes" +msgstr "不顯示隱藏屬性" + + +msgid "Show internal attributes" +msgstr "顯示隱藏屬性" + + +msgid "Click to view the schema defintion for attribute type '%s'" +msgstr "查閱屬性 " + + +msgid "none" +msgstr "none" + + +msgid "Save Changes" +msgstr "儲存" + + +msgid "add value" +msgstr "加入新數值" + + +msgid "Add an additional value to attribute '%s'" +msgstr "增加一個附加值到屬性 \\\"%s\\\"" + + +msgid "Refresh this entry" +msgstr "重整此筆資" + + +msgid "Hint: To delete an attribute, empty the text field and click save." +msgstr "提示: 將欄位數值刪除並按存檔即可刪除該屬性" + + +msgid "Hint: To view the schema for an attribute, click the attribute name." +msgstr "提示: 在該屬性上點一下即可查閱所使用的schema" + + +msgid "Some attributes (%s) were modified and are highlighted below." +msgstr "修改後的屬性為 (%s) 並以不同的顏色區分" + + +msgid "Viewing entry in read-only mode." +msgstr "以唯讀模式查閱資料" + + +msgid "no new attributes available for this entry" +msgstr "此筆資料沒有新屬性" + + +msgid "no new binary attributes available for this entry" +msgstr "此筆資料沒有二進位屬性" + + +msgid "Binary value" +msgstr "二進位數值" + + +msgid "Add new binary attribute" +msgstr "新增二進位屬性" + + +msgid "Note: '%s' is an alias for '%s'" +msgstr "Alias for %s" + + +msgid "download value" +msgstr "下載數值" + + +msgid "delete attribute" +msgstr "刪除屬性" + + +msgid "true" +msgstr "true" + + +msgid "false" +msgstr "false" + + +msgid "none, remove value" +msgstr "空白, 移除該值" + + +msgid "Really delete attribute" +msgstr "確定要刪除屬性?" + + +msgid "Add New Value" +msgstr "新增數值" + + +msgid "The server does not fully support the LDAP protocol." +msgstr "此伺服器並未完全支援LDAP協定" + + +msgid "Your version of PHP does not correctly perform the query." +msgstr "您的php版本並未正確執行此查詢" + + +msgid "phpLDAPadmin doesn't know how to fetch the schema for your server." +msgstr "或是phpLDAPadmin不知道如何從您的伺服器擷取schema" + + +msgid "Jump to an objectClass" +msgstr "選擇objectClass" + + +msgid "Jump to an attribute type" +msgstr "選擇屬性" + + +msgid "Jump to a matching rule" +msgstr "選擇配對規則" + + +msgid "Schema for server" +msgstr "伺服器的schema" + + +msgid "Required Attributes" +msgstr "必要屬性" + + +msgid "Optional Attributes" +msgstr "選擇性屬性" + + +msgid "Optional Binary Attributes" +msgstr "選擇性二進位屬性" + + +msgid "OID" +msgstr "OID" + + +msgid "Aliases" +msgstr "別名" + + +msgid "Description" +msgstr "說明" + + +msgid "no description" +msgstr "沒有說明" + + +msgid "Name" +msgstr "名稱" + + +msgid "Equality" +msgstr "相同" + + +msgid "This objectClass is obsolete." +msgstr "這個 objectClass 是必須得." + + +msgid "Inherits from" +msgstr "繼承" + + +msgid "Inherited from" +msgstr "已繼承於" + + +msgid "Jump to this objectClass definition" +msgstr "選擇此objectClass定義" + + +msgid "Matching Rule OID" +msgstr "OID配對規則" + + +msgid "Syntax OID" +msgstr "OID語法" + + +msgid "not applicable" +msgstr "未應用的" + + +msgid "not specified" +msgstr "未指定的" + + +msgid "character" +msgstr "字元" + + +msgid "characters" +msgstr "字元集" + + +msgid "Used by objectClasses" +msgstr "已被 objectClasses 使用" + + +msgid "Used by Attributes" +msgstr "已被屬性使用" + + +msgid "Maximum Length" +msgstr "最大長度" + + +msgid "Syntaxes" +msgstr "語法" + + +msgid "Matching Rules" +msgstr "配對規則" + + +msgid "Obsolete" +msgstr "必要" + + +msgid "Ordering" +msgstr "排序中" + + +msgid "Substring Rule" +msgstr "子字串規則" + + +msgid "Single Valued" +msgstr "單一值" + + +msgid "Collective" +msgstr "集合" + + +msgid "User Modification" +msgstr "使用者修改" + + +msgid "Usage" +msgstr "使用量" + + +msgid "Could not retrieve schema from" +msgstr "無法恢復 Schema 於" + + +msgid "Type" +msgstr "類型" + + +msgid "Entry %s deleted successfully." +msgstr "資料 %s 成功的刪除" + + +msgid "You must specify a DN" +msgstr "您必須指定一個識別名稱" + + +msgid "Could not delete the entry: %s" +msgstr "無法刪除記錄 %s" + + +msgid "No such entry: %s" +msgstr "無此記錄 %s" + + +msgid "Delete %s" +msgstr "刪除 %s" + + +msgid "Permanently delete all children also?" +msgstr "永久刪除所有子資料?" + + +msgid "This entry is the root of a sub-tree containing %s entries." +msgstr "此資料" + + +msgid "view entries" +msgstr "查閱資料" + + +msgid "phpLDAPadmin can recursively delete this entry and all %s of its children. See below for a list of all the entries that this action will delete. Do you want to do this?" +msgstr "phpLDAPadmin可以幫您刪除此資料與所有 %s 子資料.下列資料將會被刪除,您確定要刪除?" + + +msgid "Note: this is potentially very dangerous and you do this at your own risk. This operation cannot be undone. Take into consideration aliases, referrals, and other things that may cause problems." +msgstr "請注意:這項功能無法還原,且可能是非常危險的,且可能因此而造成問題" + + +msgid "Delete all %s objects" +msgstr "刪除所有 %s 物件" + + +msgid "Recursive delete progress" +msgstr "遞迴刪除進度" + + +msgid "Entry %s and sub-tree deleted successfully." +msgstr "成功刪除資料 %s 與子資料" + + +msgid "Failed to delete entry %s" +msgstr "無法刪除資料 %s" + + +msgid "List of entries to be deleted:" +msgstr "下列資料將被刪除:" + + +msgid "Are you sure you want to permanently delete this object?" +msgstr "您確定要永久刪除此物件?" + + +msgid "DN" +msgstr "識別名稱" + + +msgid "The attribute \"%s\" is flagged as read-only in the phpLDAPadmin configuration." +msgstr "屬性 \\\"%s\\\" 在phpLDAPadmin中被設定成唯讀" + + +msgid "No attribute name specified." +msgstr "請指定屬性名稱" + + +msgid "No DN specified" +msgstr "請指定識別名稱" + + +msgid "You left the attribute value blank. Please go back and try again." +msgstr "您沒有輸入屬性數值,請重新輸入" + + +msgid "Failed to add the attribute." +msgstr "無法新增此屬性" + + +msgid "Modification successful!" +msgstr "修改成功" + + +msgid "Since you changed your password, you must now login again with your new password." +msgstr "您的密碼已更新,請登出並以新密碼重新登入" + + +msgid "New Required Attributes" +msgstr "新必須屬性" + + +msgid "This action requires you to add" +msgstr "執行此項操作前您必須先加入" + + +msgid "new attributes" +msgstr "新屬性" + + +msgid "Instructions: In order to add these objectClass(es) to this entry, you must specify" +msgstr "作法:在新增objectClass之前,您必須指定" + + +msgid "that this objectClass requires. You can do so in this form." +msgstr "此objectClass為必須,您可以在此表單中指定" + + +msgid "Add ObjectClass and Attributes" +msgstr "新增ObjectClass與屬性" + + +msgid "ObjectClasses" +msgstr "ObjectClasses" + + +msgid "Click to popup a dialog to select an entry (DN) graphically" +msgstr "點選此處即可以圖形介面選擇資料(識別名稱)" + + +msgid "You cannot perform updates while server is in read-only mode" +msgstr "伺服器為唯讀模式,無法更新資料" + + +msgid "Bad server id" +msgstr "錯誤的 server id" + + +msgid "Not enough information to login to server. Please check your configuration." +msgstr "沒有足夠的資訊以進行登入伺服器,請檢查您的設定值" + + +msgid "Could not connect to LDAP server." +msgstr "無法連接LDAP伺服器" + + +msgid "Could not connect to \"%s\" on port \"%s\"" +msgstr "無法透過port \\\"%s\\\" 連接到 \\\"%s\\\" " + + +msgid "Could not perform ldap_mod_add operation." +msgstr "無法執行ldap_mod_add操作" + + +msgid "Success" +msgstr "成功" + + +msgid "Server: " +msgstr "伺服器:" + + +msgid "Looking in: " +msgstr "登入:" + + +msgid "No DN specified in query string!" +msgstr "查詢字串中並未指定識別名稱" + + +msgid "Back Up..." +msgstr "備份..." + + +msgid "no entries" +msgstr "沒有任何紀錄" + + +msgid "Could not determine base DN" +msgstr "無法確定 Base DN" + + +msgid "This could happen for several reasons, the most probable of which are:" +msgstr "此問題可能有好幾個原因,最有可能的是:" + + +msgid "Yes" +msgstr "確定" + + +msgid "No" +msgstr "否" + + +msgid "Go" +msgstr "衝!!" + + +msgid "Delete" +msgstr "刪除" + + +msgid "Back" +msgstr "返回" + + +msgid "object" +msgstr "物件" + + +msgid "Delete all" +msgstr "刪除全部" + + +msgid "hint" +msgstr "提示" + + +msgid "bug" +msgstr "臭蟲" + + +msgid "warning" +msgstr "警告" + + +msgid "light" +msgstr "light" + + +msgid "Proceed >>" +msgstr "下一步 >>" + + +msgid "value to" +msgstr "數值至" + + +msgid "Current list of" +msgstr "此屬性有" + + +msgid "values for attribute" +msgstr "下列數值:" + + +msgid "Note: You will get an \"inappropriate matching\" error if you have not setup an EQUALITY rule on your LDAP server for this attribute." +msgstr "請注意:若您的LDAP伺服器中並未設定等式規則,您將會遇到\\\"無適合的比對\\\"錯誤" + + +msgid "Enter the value you would like to add:" +msgstr "請輸入您要加入的數值" + + +msgid "Note: You may be required to enter new attributes that these objectClass(es) require" +msgstr "請注意:由於此objectClass定義的" + + +msgid "Syntax" +msgstr "語法,您必須輸入新屬性" + + +msgid "You left the destination DN blank." +msgstr "目的地識別名稱不能是空白" + + +msgid "The destination entry (%s) already exists." +msgstr "目的地識別名稱 (%s) 已經存在" + + +msgid "The destination container (%s) does not exist." +msgstr "目的地集合 (%s) 不存在" + + +msgid "The source and destination DN are the same." +msgstr "來源識別名稱與目的地識別名稱重複" + + +msgid "Copying " +msgstr "複製中" + + +msgid "Recursive copy progress" +msgstr "遞迴複製作業" + + +msgid "Building snapshot of tree to copy... " +msgstr "對資料樹建立副本來複製" + + +msgid "Copy successful! Would you like to " +msgstr "複製成功!!您要" + + +msgid "view the new entry" +msgstr "查閱此新紀錄?" + + +msgid "Failed to copy DN: " +msgstr "以下 DN 複製失敗:" + + +msgid "Template" +msgstr "樣版" + + +msgid "using template" +msgstr "使用樣版" + + +msgid "Go to %s" +msgstr "到 %s" + + +msgid "Copy " +msgstr "複製" + + +msgid "to a new object" +msgstr "成新物件" + + +msgid "Destination DN" +msgstr "目的地識別名稱" + + +msgid "The full DN of the new entry to be created when copying the source entry" +msgstr "來源資料複製後的完整識別名稱" + + +msgid "Destination Server" +msgstr "目的伺服器" + + +msgid "Hint: Copying between different servers only works if there are no schema violations" +msgstr "提示:只有當不同的伺服器間的schema相容才能在不同的伺服器之間進行複製" + + +msgid "Recursively copy all children of this object as well." +msgstr "遞迴複製所有此物件的子資料" + + +msgid "Recursive copy" +msgstr "遞迴複製" + + +msgid "Filter" +msgstr "過濾條件" + + +msgid "When performing a recursive copy, only copy those entries which match this filter" +msgstr "只有符合過濾條件的資料會被遞迴複製" + + +msgid "You left the value blank for required attribute (%s)." +msgstr "必要的屬性 (%s) 必須有資料" + + +msgid "Redirecting..." +msgstr "正在轉換至..." + + +msgid "here" +msgstr "這裡" + + +msgid "Could not add the object to the LDAP server." +msgstr "不能新增物件到此LDAP伺服器" + + +msgid "Create Object" +msgstr "創造物件" + + +msgid "Choose a template" +msgstr "選擇樣版" + + +msgid "Select a template for the creation process" +msgstr "請選擇一個你要建立的紀錄模板" + + +msgid "You left the RDN field blank." +msgstr "相對識別名稱欄位不能是空白" + + +msgid "The container you specified (%s) does not exist. Please try again." +msgstr "您指定的集合 (%s) 不存在,請重新指定" + + +msgid "You did not select any ObjectClasses for this object. Please go back and do so." +msgstr "您必須為此物件指定ObjectClasses" + + +msgid "Hint: You must choose exactly one structural objectClass (shown in bold above)" +msgstr "提示:您必須在伺服器上至少" + + +msgid "Step 1 of 2: Name and ObjectClass(es)" +msgstr "步驟 1 之 2:名稱與ObjectClass(es)" + + +msgid "Step 2 of 2: Specify attributes and values" +msgstr "步驟 2 之 2:指定屬性與數值" + + +msgid "Relative Distinguished Name" +msgstr "相對識別名稱" + + +msgid "(example: cn=MyNewPerson)" +msgstr "(範例: cn=MyNewPerson)(範例: cn=MyNewPerson)" + + +msgid "You have not logged into the selected server yet, so you cannot perform searches on it." +msgstr "您必須先登入伺服器才能在伺服器執行搜尋" + + +msgid "Click here to go to the login form" +msgstr "點選這邊回去登入表單" + + +msgid "Unrecognized criteria option: " +msgstr "無法辨識的基準" + + +msgid "If you want to add your own criteria to the list. Be sure to edit search.php to handle them. Quitting." +msgstr "如果您要加入自己的基準到項目列表中,請編輯search.php" + + +msgid "Entries found: " +msgstr "找到的紀錄:" + + +msgid "Filter performed: " +msgstr "執行過濾條件" + + +msgid "Search performed by phpLDAPadmin in" +msgstr "phpLDAPadmin將會" + + +msgid "seconds" +msgstr "馬上執行查詢" + + +msgid "Sub (entire subtree)" +msgstr "Sub (整個子樹)" + + +msgid "One (one level beneath base)" +msgstr "One (單一階層下)" + + +msgid "Base (base dn only)" +msgstr "Base (只有基礎識別名稱)" + + +msgid "Standard LDAP search filter. Example: (&(sn=Smith)(givenname=David))" +msgstr "標準的LDAP搜尋條件. 如: (&(sn=Smith)(givenname=David))" + + +msgid "Search Filter" +msgstr "過濾搜尋" + + +msgid "A list of attributes to display in the results (comma-separated)" +msgstr "下列為搜尋結果(以 , 區隔)" + + +msgid "equals" +msgstr "等於" + + +msgid "starts with" +msgstr "開始於" + + +msgid "contains" +msgstr "內含" + + +msgid "ends with" +msgstr "結束於" + + +msgid "sounds like" +msgstr "喜愛的聲音" + + +msgid "Could not retrieve LDAP information from the server. This may be due to a bug in your version of PHP or perhaps your LDAP server has access control specified that prevents LDAP clients from accessing the RootDSE." +msgstr "無法從伺服器取得 LDAP 資訊" + + +msgid "Server info for: " +msgstr "伺服器資訊:" + + +msgid "Server reports the following information about itself" +msgstr "伺服器回報下列資訊:" + + +msgid "This server has nothing to report." +msgstr "此伺服器沒有資訊可以回報" + + +msgid "update_array is malformed. This might be a phpLDAPadmin bug. Please report it." +msgstr "無法更新陣列,可能是phpLDAPadmin的bug,請回報此問題" + + +msgid "Could not perform ldap_modify operation." +msgstr "無法執行ldap_modify操作" + + +msgid "Do you want to make these changes?" +msgstr "您確定要做這些更動?" + + +msgid "Attribute" +msgstr "屬性" + + +msgid "Old Value" +msgstr "原設定值" + + +msgid "New Value" +msgstr "新設定植" + + +msgid "[attribute deleted]" +msgstr "[屬性已刪除]" + + +msgid "Commit" +msgstr "送出" + + +msgid "Cancel" +msgstr "取消" + + +msgid "You made no changes" +msgstr "您並沒有做任何更動" + + +msgid "Go back" +msgstr "回上頁" + + +msgid "Use the menu to the left to navigate" +msgstr "請用左邊的選單瀏覽" + + +msgid "Credits" +msgstr "成員列表" + + +msgid "ChangeLog" +msgstr "更新紀錄" + + +msgid "Donate" +msgstr "捐獻" + + +msgid "Unsafe file name: " +msgstr "不安全的檔案名稱:" + + +msgid "No such file: " +msgstr "沒有以下檔案:" + + +msgid "You have enabled auto_uid_numbers for %s in your configuration," +" but you have not specified the auto_uid_number_mechanism. Please correct" +" this problem." +msgstr "您在設定中開啟 %s的auto_uid_numbers功能,但並未指定auto_uid_number_mechanism,請修正此問題" + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"uidpool\"" +" in your configuration for server %s, but you did not specify the" +" audo_uid_number_uid_pool_dn. Please specify it before proceeding." +msgstr "伺服器%s的auto_uid_number_mechanism指定為uidpool,但並未指定audo_uid_number_uid_pool_dn,請修正此問題再繼續" + + +msgid "It appears that the uidPool you specified in your configuration (\"%s\")" +" does not exist." +msgstr "您再設定檔(\\\"%s\\\")中指定的uidPool機制並不存在" + + +msgid "You specified the \"auto_uid_number_mechanism\" as \"search\" in your" +" configuration for server %s, but you did not specify the" +" \"auto_uid_number_search_base\". Please specify it before proceeding." +msgstr "伺服器%s的auto_uid_number_mechanism指定為search,但您並未指定auto_uid_number_search_base,請修正此問題再繼續" + + +msgid "Unable to bind to %s with your with auto_uid credentials. Please check your configuration file." +msgstr "無法以您的auto_uid設定登入%s,請檢查您的設定檔" + + +msgid "Your phpLDAPadmin configuration specifies an invalid auto_uid_search_base for server %s" +msgstr "您在phpLDAPadmin設定中對伺服器%s指定了無效的auto_uid_search_base" + + +msgid "You specified an invalid value for auto_uid_number_mechanism (\"%s\")" +" in your configration. Only \"uidpool\" and \"search\" are valid." +" Please correct this problem." +msgstr "您的auto_uid_number_mechanism (\\\"%s\\\") 設定是無效的,只有uidpool與search為有效設定,請修正此問題" + + +msgid "Error: You have an error in your config file. The only three allowed values" +" for auth_type in the $servers section are 'session', 'cookie', and 'config'. You entered '%s'," +" which is not allowed. " +msgstr "錯誤:您的設定有錯誤,變數auth_type只允許session , cookie與config,您的設定值 " + + +msgid "Your PHP install does not support TLS." +msgstr "您安裝的 php 並沒有支援 TLS." + + +msgid "Could not start TLS. Please check your LDAP server configuration." +msgstr "無法啟動 TLS 請檢查您的 LDAP 伺服器設定." + + +msgid "Could not bind anonymously to server." +msgstr "伺服器不接受匿名登入" + + +msgid "Anonymous Bind" +msgstr "匿名登入" + + +msgid "Bad username or password. Please try again." +msgstr "錯誤的 使用者名稱 或 密碼.請重新輸入一次." + + +msgid "Successfully logged into server %s" +msgstr "成功登入伺服器 %s" + + +msgid "Could not set cookie." +msgstr "不能設定 cookie" + + +msgid "LDAP said: %s" +msgstr "伺服器回應: %s" + + +msgid "Error" +msgstr "錯誤" + + +msgid "browse" +msgstr "瀏覽" + + +msgid "Delete Photo" +msgstr "刪除相片" + + +msgid "Your system crypt library does not support blowfish encryption." +msgstr "您所安裝的 PHP 並不支援 Blowfish 加密" + + +msgid "Your PHP install does not have the mhash() function. Cannot do SHA hashes." +msgstr "您所安裝的 PHP 並沒有 mhash() 函數,無法進行 SHA 加密" + + +msgid "jpegPhoto contains errors
    " +msgstr "jpegPhoto 內容發生錯誤
    " + + +msgid "Error number: %s (%s)" +msgstr "錯誤碼: %s (%s)" + + +msgid "Description: %s

    " +msgstr "說明: %s

    " + + +msgid "Error number: %s

    " +msgstr "錯誤編號: %s" + + +msgid "Description: (no description available)
    " +msgstr "說明: (無任何說明內容)
    " + + +msgid "Is this a phpLDAPadmin bug? If so, please report it." +msgstr "這是 phpLDAPadmin 的 bug? 如果是,請回報這個Bug." + + +msgid "Unrecognized error number: " +msgstr "無法辨識的錯誤代碼:" + + +msgid "

    " +" " +" " +" " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s" +"
    Web server:%s
    Please check and see if this bug has been reported here.
    If it hasnt been reported, you may report this bug by clicking here.

    " +msgstr "
    " +"
    " +" You found a non-fatal phpLDAPadmin bug!
    Error:%s (%s)
    File:%s line %s, caller %s
    Versions:PLA: %s, PHP: %s, SAPI: %s " +"
    Web server:%s
    " +" Please report this bug by clicking here.

    " + + +msgid "Congratulations! You found a bug in phpLDAPadmin.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" +msgstr "恭喜! 您發現了phpLDAPadmin的bug.

    " +" " +" " +" " +" " +" " +" " +" " +" " +" " +"
    Error:%s
    Level:%s
    File:%s
    Line:%s
    Caller:%s
    PLA Version:%s
    PHP Version:%s
    PHP SAPI:%s
    Web server:%s
    " +"
    " +" Please report this bug by clicking below!" + + +msgid "Import LDIF File" +msgstr "匯入 LDIF 檔案" + + +msgid "Select an LDIF file:" +msgstr "選擇一個 LDIF 檔案:" + + +msgid "Adding..." +msgstr "增加中..." + + +msgid "Deleting..." +msgstr "刪除中..." + + +msgid "Renaming..." +msgstr "更名中..." + + +msgid "Modifying..." +msgstr "改變中..." + + +msgid "No version found. Assuming 1." +msgstr "找不到版本資訊,預設使用版本1" + + +msgid "A valid dn line is required." +msgstr "需要有效的識別名稱行" + + +msgid "Missing uploaded file." +msgstr "找不到指定的上傳檔案" + + +msgid "Uploaded LDIF file is empty." +msgstr "上傳的 LDIF 檔案是空白的" + + +msgid "File" +msgstr "檔案" + + +msgid "%s bytes" +msgstr "%s bytes" + + +msgid "Failed" +msgstr "失敗" + + +msgid "LDIF Parse Error" +msgstr "LDIF 解析錯誤" + + +msgid "Could not add object:" +msgstr "無法新增 object:" + + +msgid "Could not rename object:" +msgstr "無法重新命名 object:" + + +msgid "Could not delete object:" +msgstr "無法刪除 object:" + + +msgid "Could not modify object:" +msgstr "無法修改 object:" + + +msgid "Line Number:" +msgstr "行數:" + + +msgid "Line:" +msgstr "行:" + + +msgid "Export format" +msgstr "匯出格式" + + +msgid "Line ends" +msgstr "斷行" + + +msgid "You must choose an export format." +msgstr "你必須選擇一種匯出格式" + + +msgid "Invalid export format" +msgstr "無效的匯出格式" + + +msgid "No available exporter found." +msgstr "沒有可用的匯出程式" + + +msgid "Encountered an error while performing search." +msgstr "在執行搜尋時發生錯誤" + + +msgid "Showing results %s through %s." +msgstr "透過 %s 顯示結果 %s" + + +msgid "Searching..." +msgstr "搜索中..." + + +msgid "Notice, search size limit exceeded." +msgstr "注意:到達搜尋大小上限" + + +msgid "Entry" +msgstr "紀錄" + + +msgid "LDIF Export for: %s" +msgstr "匯出 LDIF :" + + +msgid "Generated by phpLDAPadmin ( http://phpldapadmin.sourceforge.net/ ) on %s" +msgstr "由" + + +msgid "Total Entries" +msgstr "全部的紀錄" + + +msgid "DSLM Export for: %s" +msgstr "匯出 DSLM :" + + +msgid "You left the password blank." +msgstr "您沒有輸入密碼欄位." + + +msgid "No one is logged in to that server." +msgstr "在此伺服器尚無人登入." + + +msgid "Could not logout." +msgstr "無法登出." + + +msgid "Unknown auth_type: %s" +msgstr "未知的認證模式: %s" + + +msgid "Logged out successfully from server %s" +msgstr "成功的從 %s 伺服器登出" + + +msgid "Authenticate to server %s" +msgstr "登入伺服器 %s" + + +msgid "Warning: This web connection is unencrypted." +msgstr "警告: 這個網頁連線是沒有加密的." + + +msgid "You are not using 'https'. Web browser will transmit login information in clear text." +msgstr "您並未使用https加密連線,您的瀏覽器將直接以明碼傳送您的帳號與密碼" + + +msgid "Login DN" +msgstr "登入 DN" + + +msgid "User name" +msgstr "使用者名稱" + + +msgid "Password" +msgstr "密碼" + + +msgid "Authenticate" +msgstr "驗證" + + +msgid "Entry Chooser" +msgstr "紀錄選擇器" + + +msgid "You need to configure phpLDAPadmin. Edit the file 'config/config.php' to do so. An example config file is provided in 'config/config.php.example'" +msgstr "您必須先設定phpLDAPadmin,請依照config.php.example編輯config.php" + + +msgid "Deletes not allowed in read only mode." +msgstr "在唯讀模式時不允許刪除資料" + + +msgid "Error calling mass_delete.php. Missing mass_delete in POST vars." +msgstr "呼叫mass_delete.php時發生錯誤,mass_delete不在POST變數中" + + +msgid "mass_delete POST var is not an array." +msgstr "mass_delete POST變數不是陣列" + + +msgid "Mass deletion is not enabled. Please enable it in config.php before proceeding." +msgstr "大量刪除功能並未開啟,請在config.php中開啟此功能" + + +msgid "Mass Deleting" +msgstr "大量刪除" + + +msgid "Deletion progress on server \"%s\"" +msgstr "正在 \\\"%s\\\" 伺服器上進行刪除程序" + + +msgid "Malformed mass_delete array." +msgstr "錯誤的大量刪除陣列" + + +msgid "You did not select any entries to delete." +msgstr "您沒有選擇任何要刪除的紀錄" + + +msgid "%s of %s entries failed to be deleted." +msgstr "無法刪除紀錄 %s %s" + + +msgid "All entries deleted successfully." +msgstr "全部刪除完成" + + +msgid "Confirm mass delete of %s entries on server %s" +msgstr "確認要刪除 %s 登入在伺服器 %s上" + + +msgid "Yes, delete!" +msgstr "沒錯,刪除吧!" + + +msgid "You cannot rename an entry which has children entries (eg, the rename operation is not allowed on non-leaf entries)" +msgstr "當此記錄有子紀錄時無法重新命名" + + +msgid "You did not change the RDN" +msgstr "您並沒有改變相對識別名稱" + + +msgid "Invalid RDN value" +msgstr "無效的相對識別名稱" + + +msgid "Could not rename the entry" +msgstr "無法重新命名" + + diff --git a/templates/SUSE-posixGroup.xml b/templates/SUSE-posixGroup.xml new file mode 100644 index 0000000..038e5fa --- /dev/null +++ b/templates/SUSE-posixGroup.xml @@ -0,0 +1,43 @@ + + + diff --git a/templates/SUSE-sambaGroupMapping.xml b/templates/SUSE-sambaGroupMapping.xml new file mode 100644 index 0000000..5b7c2d8 --- /dev/null +++ b/templates/SUSE-sambaGroupMapping.xml @@ -0,0 +1,71 @@ + + + diff --git a/templates/alias.xml b/templates/alias.xml index a06589e..e55ecde 100644 --- a/templates/alias.xml +++ b/templates/alias.xml @@ -2,7 +2,7 @@