diff options
Diffstat (limited to 'lib/plugins')
229 files changed, 2277 insertions, 319 deletions
diff --git a/lib/plugins/acl/admin.php b/lib/plugins/acl/admin.php index de38aedd5..ebb097a04 100644 --- a/lib/plugins/acl/admin.php +++ b/lib/plugins/acl/admin.php @@ -779,8 +779,8 @@ class admin_plugin_acl extends DokuWiki_Admin_Plugin { } echo '<select name="acl_t" class="edit">'.NL; - echo ' <option value="__g__" class="aclgroup"'.$gsel.'>'.$this->getLang('acl_group').':</option>'.NL; - echo ' <option value="__u__" class="acluser"'.$usel.'>'.$this->getLang('acl_user').':</option>'.NL; + echo ' <option value="__g__" class="aclgroup"'.$gsel.'>'.$this->getLang('acl_group').'</option>'.NL; + echo ' <option value="__u__" class="acluser"'.$usel.'>'.$this->getLang('acl_user').'</option>'.NL; if (!empty($this->specials)) { echo ' <optgroup label=" ">'.NL; foreach($this->specials as $ug){ diff --git a/lib/plugins/acl/lang/ar/lang.php b/lib/plugins/acl/lang/ar/lang.php index 4e44dab5f..89fe27a76 100644 --- a/lib/plugins/acl/lang/ar/lang.php +++ b/lib/plugins/acl/lang/ar/lang.php @@ -9,8 +9,8 @@ * @author uahello@gmail.com */ $lang['admin_acl'] = 'إدارة قوائم التحكم بالدخول'; -$lang['acl_group'] = 'مجموعة'; -$lang['acl_user'] = 'مستخدم'; +$lang['acl_group'] = 'مجموعة:'; +$lang['acl_user'] = 'مستخدم:'; $lang['acl_perms'] = 'ترخيص لـ'; $lang['page'] = 'صفحة'; $lang['namespace'] = 'فضاء التسمية'; diff --git a/lib/plugins/acl/lang/bg/lang.php b/lib/plugins/acl/lang/bg/lang.php index 14e7d311c..648b91ef4 100644 --- a/lib/plugins/acl/lang/bg/lang.php +++ b/lib/plugins/acl/lang/bg/lang.php @@ -8,8 +8,8 @@ * @author Kiril <neohidra@gmail.com> */ $lang['admin_acl'] = 'Управление на списъците за достъп'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Потребител'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Потребител:'; $lang['acl_perms'] = 'Права за'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Именно пространство'; diff --git a/lib/plugins/acl/lang/ca-valencia/lang.php b/lib/plugins/acl/lang/ca-valencia/lang.php index ef0ae92eb..bdfa7da22 100644 --- a/lib/plugins/acl/lang/ca-valencia/lang.php +++ b/lib/plugins/acl/lang/ca-valencia/lang.php @@ -8,8 +8,8 @@ * @author Bernat Arlandis <berarma@llenguaitecnologia.com> */ $lang['admin_acl'] = 'Gestor de les llistes de control d\'accés'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Usuari'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Usuari:'; $lang['acl_perms'] = 'Permissos per a'; $lang['page'] = 'Pàgina'; $lang['namespace'] = 'Espai de noms'; diff --git a/lib/plugins/acl/lang/ca/lang.php b/lib/plugins/acl/lang/ca/lang.php index 183db711b..bead981f0 100644 --- a/lib/plugins/acl/lang/ca/lang.php +++ b/lib/plugins/acl/lang/ca/lang.php @@ -10,8 +10,8 @@ * @author daniel@6temes.cat */ $lang['admin_acl'] = 'Gestió de la Llista de Control d\'Accés'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Usuari'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Usuari:'; $lang['acl_perms'] = 'Permisos per a'; $lang['page'] = 'Pàgina'; $lang['namespace'] = 'Espai'; diff --git a/lib/plugins/acl/lang/cs/lang.php b/lib/plugins/acl/lang/cs/lang.php index 8031612f7..497d53a4a 100644 --- a/lib/plugins/acl/lang/cs/lang.php +++ b/lib/plugins/acl/lang/cs/lang.php @@ -15,8 +15,8 @@ * @author mkucera66@seznam.cz */ $lang['admin_acl'] = 'Správa přístupových práv'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Uživatel'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Uživatel:'; $lang['acl_perms'] = 'Práva pro'; $lang['page'] = 'Stránka'; $lang['namespace'] = 'Jmenný prostor'; diff --git a/lib/plugins/acl/lang/da/lang.php b/lib/plugins/acl/lang/da/lang.php index 2558795fd..2f8086ac1 100644 --- a/lib/plugins/acl/lang/da/lang.php +++ b/lib/plugins/acl/lang/da/lang.php @@ -16,8 +16,8 @@ * @author Mikael Lyngvig <mikael@lyngvig.org> */ $lang['admin_acl'] = 'Rettighedsadministration'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Bruger'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Bruger:'; $lang['acl_perms'] = 'Rettigheder for'; $lang['page'] = 'Dokument'; $lang['namespace'] = 'Navnerum'; diff --git a/lib/plugins/acl/lang/de-informal/lang.php b/lib/plugins/acl/lang/de-informal/lang.php index 35df13dc0..6a04cc520 100644 --- a/lib/plugins/acl/lang/de-informal/lang.php +++ b/lib/plugins/acl/lang/de-informal/lang.php @@ -13,8 +13,8 @@ * @author Volker Bödker <volker@boedker.de> */ $lang['admin_acl'] = 'Zugangsverwaltung'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Benutzer'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Benutzer:'; $lang['acl_perms'] = 'Rechte für'; $lang['page'] = 'Seite'; $lang['namespace'] = 'Namensraum'; diff --git a/lib/plugins/acl/lang/de/lang.php b/lib/plugins/acl/lang/de/lang.php index 77de4b097..f25a2ea71 100644 --- a/lib/plugins/acl/lang/de/lang.php +++ b/lib/plugins/acl/lang/de/lang.php @@ -23,8 +23,8 @@ * @author Pierre Corell <info@joomla-praxis.de> */ $lang['admin_acl'] = 'Zugangsverwaltung'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Benutzer'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Benutzer:'; $lang['acl_perms'] = 'Berechtigungen für'; $lang['page'] = 'Seite'; $lang['namespace'] = 'Namensraum'; diff --git a/lib/plugins/acl/lang/el/lang.php b/lib/plugins/acl/lang/el/lang.php index dc4a9f034..09c8691e7 100644 --- a/lib/plugins/acl/lang/el/lang.php +++ b/lib/plugins/acl/lang/el/lang.php @@ -14,8 +14,8 @@ * @author Vasileios Karavasilis vasileioskaravasilis@gmail.com */ $lang['admin_acl'] = 'Διαχείριση Δικαιωμάτων Πρόσβασης'; -$lang['acl_group'] = 'Ομάδα'; -$lang['acl_user'] = 'Χρήστης'; +$lang['acl_group'] = 'Ομάδα:'; +$lang['acl_user'] = 'Χρήστης:'; $lang['acl_perms'] = 'Δικαιώματα για'; $lang['page'] = 'Σελίδα'; $lang['namespace'] = 'Φάκελος'; diff --git a/lib/plugins/acl/lang/en/lang.php b/lib/plugins/acl/lang/en/lang.php index 779614d32..0c8648974 100644 --- a/lib/plugins/acl/lang/en/lang.php +++ b/lib/plugins/acl/lang/en/lang.php @@ -9,8 +9,8 @@ */ $lang['admin_acl'] = 'Access Control List Management'; -$lang['acl_group'] = 'Group'; -$lang['acl_user'] = 'User'; +$lang['acl_group'] = 'Group:'; +$lang['acl_user'] = 'User:'; $lang['acl_perms'] = 'Permissions for'; $lang['page'] = 'Page'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/eo/lang.php b/lib/plugins/acl/lang/eo/lang.php index a5f607341..f65995408 100644 --- a/lib/plugins/acl/lang/eo/lang.php +++ b/lib/plugins/acl/lang/eo/lang.php @@ -12,8 +12,8 @@ * @author Robert Bogenschneider <bogi@uea.org> */ $lang['admin_acl'] = 'Administrado de Alirkontrola Listo (ACL)'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Uzanto'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Uzanto:'; $lang['acl_perms'] = 'Rajtoj por'; $lang['page'] = 'Paĝo'; $lang['namespace'] = 'Nomspaco'; diff --git a/lib/plugins/acl/lang/es/lang.php b/lib/plugins/acl/lang/es/lang.php index cf503d4d1..da0dc8e38 100644 --- a/lib/plugins/acl/lang/es/lang.php +++ b/lib/plugins/acl/lang/es/lang.php @@ -26,8 +26,8 @@ * @author Mercè López mercelz@gmail.com */ $lang['admin_acl'] = 'Administración de lista de control de acceso'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuario'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuario:'; $lang['acl_perms'] = 'Permiso para'; $lang['page'] = 'Página'; $lang['namespace'] = 'Espacio de nombres'; diff --git a/lib/plugins/acl/lang/et/lang.php b/lib/plugins/acl/lang/et/lang.php index b591456e8..d1a047aff 100644 --- a/lib/plugins/acl/lang/et/lang.php +++ b/lib/plugins/acl/lang/et/lang.php @@ -11,8 +11,8 @@ * @author Janar Leas <janar.leas@eesti.ee> */ $lang['admin_acl'] = 'Ligipääsukontrolli nimekirja haldamine'; -$lang['acl_group'] = 'Rühm'; -$lang['acl_user'] = 'Kasutaja'; +$lang['acl_group'] = 'Rühm:'; +$lang['acl_user'] = 'Kasutaja:'; $lang['acl_perms'] = 'Lubatud'; $lang['page'] = 'leht'; $lang['namespace'] = 'Nimeruum'; diff --git a/lib/plugins/acl/lang/eu/lang.php b/lib/plugins/acl/lang/eu/lang.php index b9285ff36..f051523d9 100644 --- a/lib/plugins/acl/lang/eu/lang.php +++ b/lib/plugins/acl/lang/eu/lang.php @@ -6,8 +6,8 @@ * @author Zigor Astarbe <astarbe@gmail.com> */ $lang['admin_acl'] = 'Atzipen Kontrol Listaren Kudeaketa'; -$lang['acl_group'] = 'Taldea'; -$lang['acl_user'] = 'Erabiltzailea'; +$lang['acl_group'] = 'Taldea:'; +$lang['acl_user'] = 'Erabiltzailea:'; $lang['acl_perms'] = 'Baimenak honetarako:'; $lang['page'] = 'Orria'; $lang['namespace'] = 'Izen-espazioa'; diff --git a/lib/plugins/acl/lang/fa/lang.php b/lib/plugins/acl/lang/fa/lang.php index 24bebaeaf..3564f6a39 100644 --- a/lib/plugins/acl/lang/fa/lang.php +++ b/lib/plugins/acl/lang/fa/lang.php @@ -12,8 +12,8 @@ * @author AmirH Hassaneini <mytechmix@gmail.com> */ $lang['admin_acl'] = 'مدیریت کنترل دسترسیها'; -$lang['acl_group'] = 'گروه'; -$lang['acl_user'] = 'کاربر'; +$lang['acl_group'] = 'گروه:'; +$lang['acl_user'] = 'کاربر:'; $lang['acl_perms'] = 'مجوز برای'; $lang['page'] = 'صفحه'; $lang['namespace'] = 'فضاینام'; diff --git a/lib/plugins/acl/lang/fi/lang.php b/lib/plugins/acl/lang/fi/lang.php index 50224dfb4..2dfc35801 100644 --- a/lib/plugins/acl/lang/fi/lang.php +++ b/lib/plugins/acl/lang/fi/lang.php @@ -9,8 +9,8 @@ * @author Sami Olmari <sami@olmari.fi> */ $lang['admin_acl'] = 'Käyttöoikeudet (ACL)'; -$lang['acl_group'] = 'Ryhmä'; -$lang['acl_user'] = 'Käyttäjä'; +$lang['acl_group'] = 'Ryhmä:'; +$lang['acl_user'] = 'Käyttäjä:'; $lang['acl_perms'] = 'Oikeudet'; $lang['page'] = 'Sivu'; $lang['namespace'] = 'Nimiavaruus'; diff --git a/lib/plugins/acl/lang/fr/help.txt b/lib/plugins/acl/lang/fr/help.txt index 081978488..9fc2af665 100644 --- a/lib/plugins/acl/lang/fr/help.txt +++ b/lib/plugins/acl/lang/fr/help.txt @@ -6,6 +6,6 @@ Le panneau de gauche liste toutes les catégories et les pages disponibles. Le formulaire ci-dessus permet d'afficher et de modifier les autorisations d'un utilisateur ou d'un groupe sélectionné. -Dans le tableau ci-dessous, toutes les listes de contrôle d'accès (ACL) actuelles sont affichées. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs contrôles d'accès. +Le tableau ci-dessous présente toutes les listes de contrôle d'accès (ACL) actuelles. Vous pouvez l'utiliser pour supprimer ou modifier rapidement plusieurs contrôles d'accès. La lecture de [[doku>fr:acl|la documentation officielle des contrôles d'accès]] pourra vous permettre de mieux comprendre le fonctionnement du contrôle d'accès dans DokuWiki. diff --git a/lib/plugins/acl/lang/fr/lang.php b/lib/plugins/acl/lang/fr/lang.php index dc17cf79e..9539c5be5 100644 --- a/lib/plugins/acl/lang/fr/lang.php +++ b/lib/plugins/acl/lang/fr/lang.php @@ -28,8 +28,8 @@ * @author Bruno Veilleux <bruno.vey@gmail.com> */ $lang['admin_acl'] = 'Gestion de la liste des contrôles d\'accès (ACL)'; -$lang['acl_group'] = 'Groupe'; -$lang['acl_user'] = 'Utilisateur'; +$lang['acl_group'] = 'Groupe:'; +$lang['acl_user'] = 'Utilisateur:'; $lang['acl_perms'] = 'Autorisations pour'; $lang['page'] = 'Page'; $lang['namespace'] = 'Catégorie'; diff --git a/lib/plugins/acl/lang/gl/lang.php b/lib/plugins/acl/lang/gl/lang.php index 3325bfd07..74d2a7943 100644 --- a/lib/plugins/acl/lang/gl/lang.php +++ b/lib/plugins/acl/lang/gl/lang.php @@ -7,8 +7,8 @@ * @author Rodrigo Rega <rodrigorega@gmail.com> */ $lang['admin_acl'] = 'Xestión da Lista de Control de Acceso (ACL)'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuario'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuario:'; $lang['acl_perms'] = 'Permisos para'; $lang['page'] = 'Páxina'; $lang['namespace'] = 'Nome de espazo'; diff --git a/lib/plugins/acl/lang/he/lang.php b/lib/plugins/acl/lang/he/lang.php index 6716081eb..2369b8010 100644 --- a/lib/plugins/acl/lang/he/lang.php +++ b/lib/plugins/acl/lang/he/lang.php @@ -10,8 +10,8 @@ * @author Yaron Shahrabani <sh.yaron@gmail.com> */ $lang['admin_acl'] = 'ניהול רשימת בקרת גישות'; -$lang['acl_group'] = 'קבוצה'; -$lang['acl_user'] = 'משתמש'; +$lang['acl_group'] = 'קבוצה:'; +$lang['acl_user'] = 'משתמש:'; $lang['acl_perms'] = 'הרשאות עבור'; $lang['page'] = 'דף'; $lang['namespace'] = 'מרחב שמות'; diff --git a/lib/plugins/acl/lang/hr/lang.php b/lib/plugins/acl/lang/hr/lang.php index 8c21f1b0b..b12966c84 100644 --- a/lib/plugins/acl/lang/hr/lang.php +++ b/lib/plugins/acl/lang/hr/lang.php @@ -1,14 +1,15 @@ <?php + /** - * Croatian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Branko Rihtman <theney@gmail.com> * @author Dražen Odobašić <dodobasic@gmail.com> * @author Dejan Igrec dejan.igrec@gmail.com */ $lang['admin_acl'] = 'Upravljanje listom kontrole pristupa'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Korisnik'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Korisnik:'; $lang['acl_perms'] = 'Dozvole za'; $lang['page'] = 'Stranica'; $lang['namespace'] = 'Imenski prostor'; diff --git a/lib/plugins/acl/lang/ia/lang.php b/lib/plugins/acl/lang/ia/lang.php index f7d076539..121424c47 100644 --- a/lib/plugins/acl/lang/ia/lang.php +++ b/lib/plugins/acl/lang/ia/lang.php @@ -6,8 +6,8 @@ * @author Martijn Dekker <martijn@inlv.org> */ $lang['admin_acl'] = 'Gestion de listas de controlo de accesso'; -$lang['acl_group'] = 'Gruppo'; -$lang['acl_user'] = 'Usator'; +$lang['acl_group'] = 'Gruppo:'; +$lang['acl_user'] = 'Usator:'; $lang['acl_perms'] = 'Permissiones pro'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Spatio de nomines'; diff --git a/lib/plugins/acl/lang/id/lang.php b/lib/plugins/acl/lang/id/lang.php index 6f619c5ec..3b0ecf446 100644 --- a/lib/plugins/acl/lang/id/lang.php +++ b/lib/plugins/acl/lang/id/lang.php @@ -7,8 +7,8 @@ * @author Yustinus Waruwu <juswaruwu@gmail.com> */ $lang['admin_acl'] = 'Manajemen Daftar Pengendali Akses'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'User'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'User:'; $lang['acl_perms'] = 'Ijin untuk'; $lang['page'] = 'Halaman'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/is/lang.php b/lib/plugins/acl/lang/is/lang.php index b45faa80a..13ed7bfd7 100644 --- a/lib/plugins/acl/lang/is/lang.php +++ b/lib/plugins/acl/lang/is/lang.php @@ -6,8 +6,8 @@ * @author Ólafur Gunnlaugsson <oli@audiotools.com> * @author Erik Bjørn Pedersen <erik.pedersen@shaw.ca> */ -$lang['acl_group'] = 'Hópur'; -$lang['acl_user'] = 'Notandi'; +$lang['acl_group'] = 'Hópur:'; +$lang['acl_user'] = 'Notandi:'; $lang['page'] = 'Síða'; $lang['namespace'] = 'Nafnrými'; $lang['btn_select'] = 'Veldu'; diff --git a/lib/plugins/acl/lang/it/lang.php b/lib/plugins/acl/lang/it/lang.php index ba2d0fd32..82827510f 100644 --- a/lib/plugins/acl/lang/it/lang.php +++ b/lib/plugins/acl/lang/it/lang.php @@ -17,8 +17,8 @@ * @author snarchio@gmail.com */ $lang['admin_acl'] = 'Gestione Lista Controllo Accessi (ACL)'; -$lang['acl_group'] = 'Gruppo'; -$lang['acl_user'] = 'Utente'; +$lang['acl_group'] = 'Gruppo:'; +$lang['acl_user'] = 'Utente:'; $lang['acl_perms'] = 'Permessi per'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Categoria'; diff --git a/lib/plugins/acl/lang/ja/lang.php b/lib/plugins/acl/lang/ja/lang.php index 61fc1ea86..203ab96d2 100644 --- a/lib/plugins/acl/lang/ja/lang.php +++ b/lib/plugins/acl/lang/ja/lang.php @@ -12,8 +12,8 @@ * @author Satoshi Sahara <sahara.satoshi@gmail.com> */ $lang['admin_acl'] = 'アクセスコントロール管理'; -$lang['acl_group'] = 'グループ'; -$lang['acl_user'] = 'ユーザー'; +$lang['acl_group'] = 'グループ:'; +$lang['acl_user'] = 'ユーザー:'; $lang['acl_perms'] = '権限を追加'; $lang['page'] = '文書'; $lang['namespace'] = '名前空間'; diff --git a/lib/plugins/acl/lang/kk/lang.php b/lib/plugins/acl/lang/kk/lang.php index f21b93132..28984fd6d 100644 --- a/lib/plugins/acl/lang/kk/lang.php +++ b/lib/plugins/acl/lang/kk/lang.php @@ -4,7 +4,7 @@ * * @author Nurgozha Kaliaskarov astana08@gmail.com */ -$lang['acl_group'] = 'Группа'; -$lang['acl_user'] = 'Пайдаланушы'; +$lang['acl_group'] = 'Группа:'; +$lang['acl_user'] = 'Пайдаланушы:'; $lang['page'] = 'Бет'; $lang['acl_perm1'] = 'Оқу'; diff --git a/lib/plugins/acl/lang/ko/help.txt b/lib/plugins/acl/lang/ko/help.txt index 9baeedbb9..80069b322 100644 --- a/lib/plugins/acl/lang/ko/help.txt +++ b/lib/plugins/acl/lang/ko/help.txt @@ -1,8 +1,8 @@ === 빠른 도움말: === 현재 문서에서 위키 이름공간과 문서에 대한 접근 권한을 추가하거나 삭제할 수 있습니다. -* 왼쪽 영역에는 선택 가능한 이름공간과 문서 목록을 보여줍니다. -* 위쪽 입력 양식에서 선택된 사용자와 그룹의 접근 권한을 보거나 바꿀 수 있습니다. -* 아래 테이블에서 현재 설정된 모든 접근 제어 규칙을 볼 수 있으며, 즉시 여러 규칙을 삭제하거나 바꿀 수 있습니다. + * 왼쪽 영역에는 선택 가능한 이름공간과 문서 목록을 보여줍니다. + * 위쪽 입력 양식에서 선택된 사용자와 그룹의 접근 권한을 보거나 바꿀 수 있습니다. + * 아래 테이블에서 현재 설정된 모든 접근 제어 규칙을 볼 수 있으며, 즉시 여러 규칙을 삭제하거나 바꿀 수 있습니다. 도쿠위키에서 접근 제어가 어떻게 동작되는지 알아보려면 [[doku>ko:acl|ACL 공식 문서]]를 읽어보시기 바랍니다.
\ No newline at end of file diff --git a/lib/plugins/acl/lang/ko/lang.php b/lib/plugins/acl/lang/ko/lang.php index 34b93a9f4..35563ff6c 100644 --- a/lib/plugins/acl/lang/ko/lang.php +++ b/lib/plugins/acl/lang/ko/lang.php @@ -15,8 +15,8 @@ * @author Garam <rowain8@gmail.com> */ $lang['admin_acl'] = '접근 제어 목록 관리'; -$lang['acl_group'] = '그룹'; -$lang['acl_user'] = '사용자'; +$lang['acl_group'] = '그룹:'; +$lang['acl_user'] = '사용자:'; $lang['acl_perms'] = '권한'; $lang['page'] = '문서'; $lang['namespace'] = '이름공간'; @@ -33,7 +33,7 @@ $lang['p_include'] = '더 높은 접근 권한은 하위를 포함 $lang['current'] = '현재 ACL 규칙'; $lang['where'] = '문서/이름공간'; $lang['who'] = '사용자/그룹'; -$lang['perm'] = '접근 권한'; +$lang['perm'] = '권한'; $lang['acl_perm0'] = '없음'; $lang['acl_perm1'] = '읽기'; $lang['acl_perm2'] = '편집'; diff --git a/lib/plugins/acl/lang/la/lang.php b/lib/plugins/acl/lang/la/lang.php index 941de1f79..3779ba745 100644 --- a/lib/plugins/acl/lang/la/lang.php +++ b/lib/plugins/acl/lang/la/lang.php @@ -5,8 +5,8 @@ * @author Massimiliano Vassalli <vassalli.max@gmail.com> */ $lang['admin_acl'] = 'Administratio Indicis Custodiae Aditus'; -$lang['acl_group'] = 'Grex'; -$lang['acl_user'] = 'Sodalis'; +$lang['acl_group'] = 'Grex:'; +$lang['acl_user'] = 'Sodalis:'; $lang['acl_perms'] = 'Facultas:'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Genus'; diff --git a/lib/plugins/acl/lang/lt/lang.php b/lib/plugins/acl/lang/lt/lang.php index f11944746..ef339177b 100644 --- a/lib/plugins/acl/lang/lt/lang.php +++ b/lib/plugins/acl/lang/lt/lang.php @@ -8,8 +8,8 @@ * @author Arunas Vaitekunas <aras@fan.lt> */ $lang['admin_acl'] = 'Priėjimo Kontrolės Sąrašų valdymas'; -$lang['acl_group'] = 'Grupė'; -$lang['acl_user'] = 'Vartotojas'; +$lang['acl_group'] = 'Grupė:'; +$lang['acl_user'] = 'Vartotojas:'; $lang['acl_perms'] = 'Leidimai'; $lang['page'] = 'Puslapis'; $lang['namespace'] = 'Pavadinimas'; diff --git a/lib/plugins/acl/lang/lv/lang.php b/lib/plugins/acl/lang/lv/lang.php index f478b32c6..c0acdd733 100644 --- a/lib/plugins/acl/lang/lv/lang.php +++ b/lib/plugins/acl/lang/lv/lang.php @@ -1,13 +1,13 @@ <?php + /** - * latvian language file - * * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['admin_acl'] = 'Piekļuves tiesību vadība'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Lietotājs'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Lietotājs:'; $lang['acl_perms'] = 'Tiesības'; $lang['page'] = 'Lapa'; $lang['namespace'] = 'Nodaļa'; diff --git a/lib/plugins/acl/lang/mk/lang.php b/lib/plugins/acl/lang/mk/lang.php index d576c3d1d..27f41e776 100644 --- a/lib/plugins/acl/lang/mk/lang.php +++ b/lib/plugins/acl/lang/mk/lang.php @@ -4,8 +4,8 @@ * * @author Dimitar Talevski <dimi3.14@gmail.com> */ -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Корисник'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Корисник:'; $lang['acl_perms'] = 'Пермисии за'; $lang['page'] = 'Страница'; $lang['btn_select'] = 'Избери'; diff --git a/lib/plugins/acl/lang/mr/lang.php b/lib/plugins/acl/lang/mr/lang.php index 978df758a..1094ed768 100644 --- a/lib/plugins/acl/lang/mr/lang.php +++ b/lib/plugins/acl/lang/mr/lang.php @@ -8,8 +8,8 @@ * @author shantanoo@gmail.com */ $lang['admin_acl'] = 'Access Control List व्यवस्थापन'; -$lang['acl_group'] = 'गट'; -$lang['acl_user'] = 'सदस्य'; +$lang['acl_group'] = 'गट:'; +$lang['acl_user'] = 'सदस्य:'; $lang['acl_perms'] = 'परवानगी \'च्या साठी'; $lang['page'] = 'पान'; $lang['namespace'] = 'नेमस्पेस'; diff --git a/lib/plugins/acl/lang/ne/lang.php b/lib/plugins/acl/lang/ne/lang.php index 5e6196a30..481b39ad2 100644 --- a/lib/plugins/acl/lang/ne/lang.php +++ b/lib/plugins/acl/lang/ne/lang.php @@ -8,8 +8,8 @@ * @author Saroj Dhakal<lotusnagarkot@yahoo.com> */ $lang['admin_acl'] = 'एक्सेस कन्ट्रोल लिस्ट व्यवस्थापन'; -$lang['acl_group'] = 'समूह'; -$lang['acl_user'] = 'प्रोगकर्ता'; +$lang['acl_group'] = 'समूह:'; +$lang['acl_user'] = 'प्रोगकर्ता:'; $lang['acl_perms'] = 'को लागि अनुमति'; $lang['page'] = 'पृष्ठ'; $lang['namespace'] = 'नेमस्पेस'; diff --git a/lib/plugins/acl/lang/nl/lang.php b/lib/plugins/acl/lang/nl/lang.php index abb81ae06..a73d13344 100644 --- a/lib/plugins/acl/lang/nl/lang.php +++ b/lib/plugins/acl/lang/nl/lang.php @@ -23,8 +23,8 @@ * @author Remon <no@email.local> */ $lang['admin_acl'] = 'Toegangsrechten'; -$lang['acl_group'] = 'Groep'; -$lang['acl_user'] = 'Gebruiker'; +$lang['acl_group'] = 'Groep:'; +$lang['acl_user'] = 'Gebruiker:'; $lang['acl_perms'] = 'Permissies voor'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/no/lang.php b/lib/plugins/acl/lang/no/lang.php index 82cdd5eef..b9664794d 100644 --- a/lib/plugins/acl/lang/no/lang.php +++ b/lib/plugins/acl/lang/no/lang.php @@ -20,8 +20,8 @@ * @author Egil Hansen <egil@rosetta.no> */ $lang['admin_acl'] = 'Administrasjon av lister for adgangskontroll (ACL)'; -$lang['acl_group'] = 'Gruppe'; -$lang['acl_user'] = 'Bruker'; +$lang['acl_group'] = 'Gruppe:'; +$lang['acl_user'] = 'Bruker:'; $lang['acl_perms'] = 'Rettigheter for'; $lang['page'] = 'Side'; $lang['namespace'] = 'Navnerom'; diff --git a/lib/plugins/acl/lang/pl/lang.php b/lib/plugins/acl/lang/pl/lang.php index 42ce7fdaf..4fa4e8b9d 100644 --- a/lib/plugins/acl/lang/pl/lang.php +++ b/lib/plugins/acl/lang/pl/lang.php @@ -16,8 +16,8 @@ * @author Aoi Karasu <aoikarasu@gmail.com> */ $lang['admin_acl'] = 'Zarządzanie uprawnieniami'; -$lang['acl_group'] = 'Grupa'; -$lang['acl_user'] = 'Użytkownik'; +$lang['acl_group'] = 'Grupa:'; +$lang['acl_user'] = 'Użytkownik:'; $lang['acl_perms'] = 'Uprawnienia użytkownika'; $lang['page'] = 'Strona'; $lang['namespace'] = 'Katalog'; diff --git a/lib/plugins/acl/lang/pt-br/lang.php b/lib/plugins/acl/lang/pt-br/lang.php index ef0ae6c8b..227927524 100644 --- a/lib/plugins/acl/lang/pt-br/lang.php +++ b/lib/plugins/acl/lang/pt-br/lang.php @@ -22,8 +22,8 @@ * @author Victor Westmann <victor.westmann@gmail.com> */ $lang['admin_acl'] = 'Administração da Lista de Controles de Acesso'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Usuário'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Usuário:'; $lang['acl_perms'] = 'Permissões para'; $lang['page'] = 'Página'; $lang['namespace'] = 'Espaço de nomes'; diff --git a/lib/plugins/acl/lang/pt/lang.php b/lib/plugins/acl/lang/pt/lang.php index 4c2114d67..aef174612 100644 --- a/lib/plugins/acl/lang/pt/lang.php +++ b/lib/plugins/acl/lang/pt/lang.php @@ -11,8 +11,8 @@ * @author José Campos zecarlosdecampos@gmail.com */ $lang['admin_acl'] = 'Gestão de ACLs'; -$lang['acl_group'] = 'Grupo'; -$lang['acl_user'] = 'Utilizador'; +$lang['acl_group'] = 'Grupo:'; +$lang['acl_user'] = 'Utilizador:'; $lang['acl_perms'] = 'Permissão para'; $lang['page'] = 'Documento'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/ro/lang.php b/lib/plugins/acl/lang/ro/lang.php index 4d093216b..0d281f049 100644 --- a/lib/plugins/acl/lang/ro/lang.php +++ b/lib/plugins/acl/lang/ro/lang.php @@ -13,8 +13,8 @@ * @author Emanuel-Emeric Andrași <em.andrasi@mandrivausers.ro> */ $lang['admin_acl'] = 'Managementul Listei de Control a Accesului'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Utilizator'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Utilizator:'; $lang['acl_perms'] = 'Autorizare pentru'; $lang['page'] = 'Pagina'; $lang['namespace'] = 'Spaţiu de nume'; diff --git a/lib/plugins/acl/lang/ru/lang.php b/lib/plugins/acl/lang/ru/lang.php index ff4740676..b49d216f9 100644 --- a/lib/plugins/acl/lang/ru/lang.php +++ b/lib/plugins/acl/lang/ru/lang.php @@ -19,8 +19,8 @@ * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) */ $lang['admin_acl'] = 'Управление списками контроля доступа'; -$lang['acl_group'] = 'Группа'; -$lang['acl_user'] = 'Пользователь'; +$lang['acl_group'] = 'Группа:'; +$lang['acl_user'] = 'Пользователь:'; $lang['acl_perms'] = 'Права доступа для'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Пространство имён'; diff --git a/lib/plugins/acl/lang/sk/lang.php b/lib/plugins/acl/lang/sk/lang.php index 51837d4b4..001218304 100644 --- a/lib/plugins/acl/lang/sk/lang.php +++ b/lib/plugins/acl/lang/sk/lang.php @@ -9,8 +9,8 @@ * @author Martin Michalek <michalek.dev@gmail.com> */ $lang['admin_acl'] = 'Správa zoznamu prístupových práv'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Užívateľ'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Užívateľ:'; $lang['acl_perms'] = 'Práva pre'; $lang['page'] = 'Stránka'; $lang['namespace'] = 'Menný priestor'; diff --git a/lib/plugins/acl/lang/sl/lang.php b/lib/plugins/acl/lang/sl/lang.php index 303b18cff..84c2088e8 100644 --- a/lib/plugins/acl/lang/sl/lang.php +++ b/lib/plugins/acl/lang/sl/lang.php @@ -9,8 +9,8 @@ * @author Matej Urbančič (mateju@svn.gnome.org) */ $lang['admin_acl'] = 'Upravljanje dostopa'; -$lang['acl_group'] = 'Skupina'; -$lang['acl_user'] = 'Uporabnik'; +$lang['acl_group'] = 'Skupina:'; +$lang['acl_user'] = 'Uporabnik:'; $lang['acl_perms'] = 'Dovoljenja za'; $lang['page'] = 'Stran'; $lang['namespace'] = 'Imenski prostor'; diff --git a/lib/plugins/acl/lang/sq/lang.php b/lib/plugins/acl/lang/sq/lang.php index 30fc99bb0..3edd70947 100644 --- a/lib/plugins/acl/lang/sq/lang.php +++ b/lib/plugins/acl/lang/sq/lang.php @@ -5,8 +5,8 @@ * @author Leonard Elezi leonard.elezi@depinfo.info */ $lang['admin_acl'] = 'Menaxhimi i Listës së Kontrollit të Aksesit'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Përdorues'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Përdorues:'; $lang['acl_perms'] = 'Të drejta për'; $lang['page'] = 'Faqe'; $lang['namespace'] = 'Hapësira e Emrit'; diff --git a/lib/plugins/acl/lang/sr/lang.php b/lib/plugins/acl/lang/sr/lang.php index 20fbb0382..0a94418c7 100644 --- a/lib/plugins/acl/lang/sr/lang.php +++ b/lib/plugins/acl/lang/sr/lang.php @@ -9,8 +9,8 @@ * @author Miroslav Šolti <solti.miroslav@gmail.com> */ $lang['admin_acl'] = 'Управљање листом контроле приступа'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Корисник'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Корисник:'; $lang['acl_perms'] = 'Дозволе за'; $lang['page'] = 'Страница'; $lang['namespace'] = 'Именски простор'; diff --git a/lib/plugins/acl/lang/sv/lang.php b/lib/plugins/acl/lang/sv/lang.php index f226542e6..34c1c6624 100644 --- a/lib/plugins/acl/lang/sv/lang.php +++ b/lib/plugins/acl/lang/sv/lang.php @@ -18,8 +18,8 @@ * @author Smorkster Andersson smorkster@gmail.com */ $lang['admin_acl'] = 'Hantera behörighetslistan (ACL)'; -$lang['acl_group'] = 'Grupp'; -$lang['acl_user'] = 'Användare'; +$lang['acl_group'] = 'Grupp:'; +$lang['acl_user'] = 'Användare:'; $lang['acl_perms'] = 'Behörighet för'; $lang['page'] = 'Sida'; $lang['namespace'] = 'Namnrymd'; diff --git a/lib/plugins/acl/lang/th/lang.php b/lib/plugins/acl/lang/th/lang.php index 472c33cdc..55b707b5c 100644 --- a/lib/plugins/acl/lang/th/lang.php +++ b/lib/plugins/acl/lang/th/lang.php @@ -1,15 +1,16 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> * @author Thanasak Sompaisansin <jombthep@gmail.com> */ $lang['admin_acl'] = 'จัดการรายชื่อเพื่อควบคุมการเข้าถึง (Access Control List:ACL)'; -$lang['acl_group'] = 'กลุ่ม'; -$lang['acl_user'] = 'ผู้ใช้'; +$lang['acl_group'] = 'กลุ่ม:'; +$lang['acl_user'] = 'ผู้ใช้:'; $lang['acl_perms'] = 'สิทธิสำหรับ'; $lang['page'] = 'เพจ'; $lang['namespace'] = 'เนมสเปซ'; diff --git a/lib/plugins/acl/lang/tr/lang.php b/lib/plugins/acl/lang/tr/lang.php index a9699a5f9..3c3e3dbc1 100644 --- a/lib/plugins/acl/lang/tr/lang.php +++ b/lib/plugins/acl/lang/tr/lang.php @@ -11,8 +11,8 @@ * @author farukerdemoncel@gmail.com */ $lang['admin_acl'] = 'Erişim Kontrol Listesi (ACL) Yönetimi'; -$lang['acl_group'] = 'Grup'; -$lang['acl_user'] = 'Kullanıcı'; +$lang['acl_group'] = 'Grup:'; +$lang['acl_user'] = 'Kullanıcı:'; $lang['acl_perms'] = 'Şunun için yetkiler:'; $lang['page'] = 'Sayfa'; $lang['namespace'] = 'Namespace'; diff --git a/lib/plugins/acl/lang/uk/lang.php b/lib/plugins/acl/lang/uk/lang.php index 97c66d8a2..4d8b52e1b 100644 --- a/lib/plugins/acl/lang/uk/lang.php +++ b/lib/plugins/acl/lang/uk/lang.php @@ -11,8 +11,8 @@ * @author Ulrikhe Lukoie <lukoie@gmail>.com */ $lang['admin_acl'] = 'Керування списками контролю доступу'; -$lang['acl_group'] = 'Група'; -$lang['acl_user'] = 'Користувач'; +$lang['acl_group'] = 'Група:'; +$lang['acl_user'] = 'Користувач:'; $lang['acl_perms'] = 'Права доступу для'; $lang['page'] = 'Сторінка'; $lang['namespace'] = 'Простір імен'; diff --git a/lib/plugins/acl/lang/vi/lang.php b/lib/plugins/acl/lang/vi/lang.php index 4fc3388ff..8ca888cae 100644 --- a/lib/plugins/acl/lang/vi/lang.php +++ b/lib/plugins/acl/lang/vi/lang.php @@ -6,8 +6,8 @@ * @author NukeViet <admin@nukeviet.vn> */ $lang['admin_acl'] = 'Quản lý danh sách quyền truy cập'; -$lang['acl_group'] = 'Nhóm'; -$lang['acl_user'] = 'Thành viên'; +$lang['acl_group'] = 'Nhóm:'; +$lang['acl_user'] = 'Thành viên:'; $lang['acl_perms'] = 'Cấp phép cho'; $lang['page'] = 'Trang'; $lang['namespace'] = 'Thư mục'; diff --git a/lib/plugins/acl/lang/zh-tw/lang.php b/lib/plugins/acl/lang/zh-tw/lang.php index a56435318..c37727212 100644 --- a/lib/plugins/acl/lang/zh-tw/lang.php +++ b/lib/plugins/acl/lang/zh-tw/lang.php @@ -15,8 +15,8 @@ * @author Ichirou Uchiki <syaoranhinata@gmail.com> */ $lang['admin_acl'] = '管理存取控制表 (ACL)'; -$lang['acl_group'] = '群組'; -$lang['acl_user'] = '使用者'; +$lang['acl_group'] = '群組:'; +$lang['acl_user'] = '使用者:'; $lang['acl_perms'] = '設定權限於'; $lang['page'] = '頁面'; $lang['namespace'] = '分類名稱'; diff --git a/lib/plugins/acl/lang/zh/lang.php b/lib/plugins/acl/lang/zh/lang.php index 029446cca..4294e6034 100644 --- a/lib/plugins/acl/lang/zh/lang.php +++ b/lib/plugins/acl/lang/zh/lang.php @@ -17,8 +17,8 @@ * @author Shuo-Ting Jian <shoting@gmail.com> */ $lang['admin_acl'] = '访问控制列表(ACL)管理器'; -$lang['acl_group'] = '组'; -$lang['acl_user'] = '用户'; +$lang['acl_group'] = '组:'; +$lang['acl_user'] = '用户:'; $lang['acl_perms'] = '许可给'; $lang['page'] = '页面'; $lang['namespace'] = '命名空间'; diff --git a/lib/plugins/acl/plugin.info.txt b/lib/plugins/acl/plugin.info.txt index 029dc82e7..cb8fe7e8e 100644 --- a/lib/plugins/acl/plugin.info.txt +++ b/lib/plugins/acl/plugin.info.txt @@ -1,7 +1,7 @@ base acl author Andreas Gohr email andi@splitbrain.org -date 2013-02-17 +date 2014-06-04 name ACL Manager desc Manage Page Access Control Lists url http://dokuwiki.org/plugin:acl diff --git a/lib/plugins/auth.php b/lib/plugins/auth.php index b04735639..b38b591a3 100644 --- a/lib/plugins/auth.php +++ b/lib/plugins/auth.php @@ -229,14 +229,15 @@ class DokuWiki_Auth_Plugin extends DokuWiki_Plugin { * at least these fields: * * name string full name of the user - * mail string email addres of the user + * mail string email address of the user * grps array list of groups the user is in * * @author Andreas Gohr <andi@splitbrain.org> * @param string $user the user name + * @param bool $requireGroups whether or not the returned data must include groups * @return array containing user data or false */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { if(!$this->cando['external']) msg("no valid authorisation system in use", -1); return false; } diff --git a/lib/plugins/authad/auth.php b/lib/plugins/authad/auth.php index 0860e5756..a3119dda6 100644 --- a/lib/plugins/authad/auth.php +++ b/lib/plugins/authad/auth.php @@ -177,9 +177,10 @@ class auth_plugin_authad extends DokuWiki_Auth_Plugin { * * @author James Van Lommel <james@nosq.com> * @param string $user + * @param bool $requireGroups (optional) - ignored, groups are always supplied by this plugin * @return array */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { global $conf; global $lang; global $ID; diff --git a/lib/plugins/authad/lang/ar/lang.php b/lib/plugins/authad/lang/ar/lang.php new file mode 100644 index 000000000..e0ba7681a --- /dev/null +++ b/lib/plugins/authad/lang/ar/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamed Belhsine <b.mohamed897@gmail.com> + */ +$lang['domain'] = 'مجال تسجيل الدخول'; diff --git a/lib/plugins/authad/lang/cs/lang.php b/lib/plugins/authad/lang/cs/lang.php new file mode 100644 index 000000000..8119d208a --- /dev/null +++ b/lib/plugins/authad/lang/cs/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['domain'] = 'Přihlašovací doména'; diff --git a/lib/plugins/authad/lang/eo/lang.php b/lib/plugins/authad/lang/eo/lang.php new file mode 100644 index 000000000..be4abc123 --- /dev/null +++ b/lib/plugins/authad/lang/eo/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Robert Bogenschneider <bogi@uea.org> + */ +$lang['domain'] = 'Ensaluta domajno'; diff --git a/lib/plugins/authad/lang/es/settings.php b/lib/plugins/authad/lang/es/settings.php index 9dbd44be8..970259c9c 100644 --- a/lib/plugins/authad/lang/es/settings.php +++ b/lib/plugins/authad/lang/es/settings.php @@ -6,12 +6,18 @@ * @author monica <may.dorado@gmail.com> * @author Antonio Bueno <atnbueno@gmail.com> * @author Juan De La Cruz <juann.dlc@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> */ -$lang['account_suffix'] = 'Su cuenta, sufijo. Ejem. <code> @ my.domain.org </ code>'; +$lang['account_suffix'] = 'Su cuenta, sufijo. Ejem. <code> @ my.domain.org </code>'; $lang['base_dn'] = 'Su base DN. Ejem. <code>DC=my,DC=dominio,DC=org</code>'; $lang['domain_controllers'] = 'Una lista separada por coma de los controladores de dominios. Ejem. <code>srv1.dominio.org,srv2.dominio.org</code>'; $lang['admin_username'] = 'Un usuario con privilegios de Active Directory con acceso a los datos de cualquier otro usuario. Opcional, pero es necesario para determinadas acciones como el envío de suscripciones de correos electrónicos.'; $lang['admin_password'] = 'La contraseña del usuario anterior.'; $lang['sso'] = 'En caso de inicio de sesión usará ¿Kerberos o NTLM?'; $lang['sso_charset'] = 'La codificación con que tu servidor web pasará el nombre de usuario Kerberos o NTLM. Si es UTF-8 o latin-1 dejar en blanco. Requiere la extensión iconv.'; +$lang['real_primarygroup'] = 'Resolver el grupo primario real en vez de asumir "Domain Users" (más lento)'; +$lang['use_ssl'] = '¿Usar conexión SSL? Si se usa, no habilitar TLS abajo.'; +$lang['use_tls'] = '¿Usar conexión TLS? Si se usa, no habilitar SSL arriba.'; $lang['debug'] = 'Mostrar información adicional de depuración sobre los errores?'; +$lang['expirywarn'] = 'Días por adelantado para avisar al usuario de que contraseña expirará. 0 para deshabilitar.'; +$lang['additional'] = 'Una lista separada por comas de atributos AD adicionales a obtener de los datos de usuario. Usado por algunos plugins.'; diff --git a/lib/plugins/authad/lang/fa/lang.php b/lib/plugins/authad/lang/fa/lang.php new file mode 100644 index 000000000..1ea73cfdb --- /dev/null +++ b/lib/plugins/authad/lang/fa/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Hamid <zarrabi@sharif.edu> + */ +$lang['domain'] = 'دامنهی ورود'; diff --git a/lib/plugins/authad/lang/fr/lang.php b/lib/plugins/authad/lang/fr/lang.php new file mode 100644 index 000000000..2de362e41 --- /dev/null +++ b/lib/plugins/authad/lang/fr/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ggallon <gwenael.gallon@mac.com> + */ +$lang['domain'] = 'Domaine de connexion'; diff --git a/lib/plugins/authad/lang/hr/lang.php b/lib/plugins/authad/lang/hr/lang.php new file mode 100644 index 000000000..f750c91b5 --- /dev/null +++ b/lib/plugins/authad/lang/hr/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['domain'] = 'Domena za prijavu'; diff --git a/lib/plugins/authad/lang/hr/settings.php b/lib/plugins/authad/lang/hr/settings.php new file mode 100644 index 000000000..a024b10b7 --- /dev/null +++ b/lib/plugins/authad/lang/hr/settings.php @@ -0,0 +1,20 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['account_suffix'] = 'Vaš sufiks korisničkog imena. Npr. <code>@my.domain.org</code>'; +$lang['base_dn'] = 'Vaš bazni DN. Npr. <code>DC=my,DC=domain,DC=org</code>'; +$lang['domain_controllers'] = 'Zarezom odvojena lista domenskih kontrolera. Npr. <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Privilegirani korisnik Active Directory-a s pristupom svim korisničkim podacima. Opcionalno, ali potrebno za određene akcije kao što je slanje pretplatničkih poruka.'; +$lang['admin_password'] = 'Lozinka gore navedenoga korisnika.'; +$lang['sso'] = 'Da li će Single-Sign-On prijava biti korištena preko Kerberosa ili NTLM-a?'; +$lang['sso_charset'] = 'Znakovni set koji će se koristiti Kerberos ili NTLM pri slanju imena korisnika. Prazno za UTF-8 ili latin-1. Zahtjeva iconv ekstenziju.'; +$lang['real_primarygroup'] = 'Da li da se razluči stvarna primarna grupa umjesto pretpostavke da je to "Domain Users" (sporije !).'; +$lang['use_ssl'] = 'Koristi SSL vezu? Ako da, dolje ne koristi TLS!'; +$lang['use_tls'] = 'Koristi TLS vezu? Ako da, gore ne koristi SSL!'; +$lang['debug'] = 'Prikaži dodatni debug ispis u slučaju greške? '; +$lang['expirywarn'] = 'Upozori korisnike o isteku lozinke ovoliko dana. 0 za onemogućavanje. '; +$lang['additional'] = 'Zarezom odvojena lista dodatnih AD atributa koji se dohvaćaju iz korisničkih podataka. Koristi se u nekim dodatcima (plugin).'; diff --git a/lib/plugins/authad/lang/hu/lang.php b/lib/plugins/authad/lang/hu/lang.php new file mode 100644 index 000000000..7bb6084b0 --- /dev/null +++ b/lib/plugins/authad/lang/hu/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['domain'] = 'Bejelentkezési tartomány'; diff --git a/lib/plugins/authad/lang/ja/lang.php b/lib/plugins/authad/lang/ja/lang.php new file mode 100644 index 000000000..b40aa5da3 --- /dev/null +++ b/lib/plugins/authad/lang/ja/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author PzF_X <jp_minecraft@yahoo.co.jp> + */ +$lang['domain'] = 'ログオン時のドメイン'; diff --git a/lib/plugins/authad/lang/ja/settings.php b/lib/plugins/authad/lang/ja/settings.php index f308249ef..118e8348c 100644 --- a/lib/plugins/authad/lang/ja/settings.php +++ b/lib/plugins/authad/lang/ja/settings.php @@ -5,6 +5,7 @@ * * @author Satoshi Sahara <sahara.satoshi@gmail.com> * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> */ $lang['account_suffix'] = 'アカウントの接尾語。例:<code>@my.domain.org</code>'; $lang['base_dn'] = 'ベースDN。例:<code>DC=my,DC=domain,DC=org</code>'; @@ -12,6 +13,7 @@ $lang['domain_controllers'] = 'ドメインコントローラのカンマ区 $lang['admin_username'] = '全ユーザーデータへのアクセス権のある特権Active Directoryユーザー。任意ですが、メール通知の登録等の特定の動作に必要。'; $lang['admin_password'] = '上記ユーザーのパスワード'; $lang['sso'] = 'Kerberos か NTLM を使ったシングルサインオン(SSO)をしますか?'; +$lang['sso_charset'] = 'サーバーは空のUTF-8かLatin-1でKerberosかNTLMユーザネームを送信します。iconv拡張モジュールが必要です。'; $lang['real_primarygroup'] = '"Domain Users" を仮定する代わりに本当のプライマリグループを解決する(低速)'; $lang['use_ssl'] = 'SSL接続を使用しますか?使用した場合、下のSSLを有効にしないでください。'; $lang['use_tls'] = 'TLS接続を使用しますか?使用した場合、上のSSLを有効にしないでください。'; diff --git a/lib/plugins/authad/lang/ko/lang.php b/lib/plugins/authad/lang/ko/lang.php index 1aa436708..5a2416b2c 100644 --- a/lib/plugins/authad/lang/ko/lang.php +++ b/lib/plugins/authad/lang/ko/lang.php @@ -1,10 +1,8 @@ <?php + /** - * Korean language file for addomain plugin - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Myeongjin <aranet100@gmail.com> */ - -$lang['domain'] = '로그온 도메인'; - -//Setup VIM: ex: et ts=4 : +$lang['domain'] = '로그온 도메인'; diff --git a/lib/plugins/authad/lang/lv/lang.php b/lib/plugins/authad/lang/lv/lang.php new file mode 100644 index 000000000..74becf756 --- /dev/null +++ b/lib/plugins/authad/lang/lv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['domain'] = 'Iežurnālēšanās domēns'; diff --git a/lib/plugins/authad/lang/lv/settings.php b/lib/plugins/authad/lang/lv/settings.php new file mode 100644 index 000000000..5272d27d0 --- /dev/null +++ b/lib/plugins/authad/lang/lv/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['account_suffix'] = 'Jūsu konta sufikss. Piemēram, <code>@my.domain.org</code>'; +$lang['domain_controllers'] = 'Ar komatiem atdalīts domēna kontroleru saraksts. Piemēram, <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_password'] = 'Minētā lietotāja parole.'; +$lang['expirywarn'] = 'Cik dienas iepriekš brīdināt lietotāju par paroles termiņa beigām. Ierakstīt 0, lai atspējotu.'; diff --git a/lib/plugins/authad/lang/pl/settings.php b/lib/plugins/authad/lang/pl/settings.php index 4e397fc98..91cadca6f 100644 --- a/lib/plugins/authad/lang/pl/settings.php +++ b/lib/plugins/authad/lang/pl/settings.php @@ -5,6 +5,7 @@ * * @author Tomasz Bosak <bosak.tomasz@gmail.com> * @author Paweł Jan Czochański <czochanski@gmail.com> + * @author Mati <mackosa@wp.pl> */ $lang['account_suffix'] = 'Przyrostek twojej nazwy konta np. <code>@my.domain.org</code>'; $lang['base_dn'] = 'Twoje bazowe DN. Na przykład: <code>DC=my,DC=domain,DC=org</code>'; diff --git a/lib/plugins/authad/lang/pt-br/lang.php b/lib/plugins/authad/lang/pt-br/lang.php new file mode 100644 index 000000000..5fa963d4e --- /dev/null +++ b/lib/plugins/authad/lang/pt-br/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@gmail.com> + */ +$lang['domain'] = 'Domínio de "Logon"'; diff --git a/lib/plugins/authad/lang/pt/lang.php b/lib/plugins/authad/lang/pt/lang.php new file mode 100644 index 000000000..f307bc901 --- /dev/null +++ b/lib/plugins/authad/lang/pt/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Paulo Silva <paulotsilva@yahoo.com> + */ +$lang['domain'] = 'Domínio de Início de Sessão'; diff --git a/lib/plugins/authad/lang/pt/settings.php b/lib/plugins/authad/lang/pt/settings.php index 45eff5e96..dc60d7259 100644 --- a/lib/plugins/authad/lang/pt/settings.php +++ b/lib/plugins/authad/lang/pt/settings.php @@ -4,7 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author André Neves <drakferion@gmail.com> + * @author Murilo <muriloricci@hotmail.com> + * @author Paulo Silva <paulotsilva@yahoo.com> */ +$lang['account_suffix'] = 'O sufixo da sua conta. Por exemplo, <code>@my.domain.org</code>'; +$lang['domain_controllers'] = 'Uma lista separada por vírgulas de Controladores de Domínio (AD DC). Ex.: <code>srv1.domain.org,srv2.domain.org</code>'; +$lang['admin_username'] = 'Um utilizador com privilégios na Active Directory que tenha acesso aos dados de todos os outros utilizadores. Opcional, mas necessário para certas ações como enviar emails de subscrição.'; $lang['admin_password'] = 'A senha para o utilizador acima.'; $lang['sso'] = 'Deve ser usado o Single-Sign-On via Kerberos ou NTLM?'; $lang['use_ssl'] = 'Usar ligação SSL? Se usada, não ative TLS abaixo.'; diff --git a/lib/plugins/authad/lang/ru/settings.php b/lib/plugins/authad/lang/ru/settings.php index e662300d7..c9c6d9f88 100644 --- a/lib/plugins/authad/lang/ru/settings.php +++ b/lib/plugins/authad/lang/ru/settings.php @@ -7,7 +7,9 @@ * @author Aleksandr Selivanov <alexgearbox@gmail.com> * @author Artur <ncuxxx@gmail.com> * @author Erli Moen <evseev.jr@gmail.com> + * @author Владимир <id37736@yandex.ru> */ +$lang['account_suffix'] = 'Суффикс вашего аккаунта типа <code>@my.domain.org</code>'; $lang['domain_controllers'] = 'Список DNS-серверов, разделенных запятой. Например:<code>srv1.domain.org,srv2.domain.org</code>'; $lang['admin_password'] = 'Пароль для указанного пользователя.'; $lang['sso'] = 'Использовать SSO (Single-Sign-On) через Kerberos или NTLM?'; diff --git a/lib/plugins/authad/lang/sl/settings.php b/lib/plugins/authad/lang/sl/settings.php index bae467d6d..5849ea431 100644 --- a/lib/plugins/authad/lang/sl/settings.php +++ b/lib/plugins/authad/lang/sl/settings.php @@ -4,5 +4,8 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author matej <mateju@svn.gnome.org> + * @author Jernej Vidmar <jernej.vidmar@vidmarboehm.com> */ +$lang['admin_password'] = 'Geslo zgoraj omenjenega uporabnika'; +$lang['use_tls'] = 'Uporabi TLS povezavo? Če da, ne vključi SSL povezave zgoraj.'; $lang['debug'] = 'Ali naj bodo prikazane dodatne podrobnosti napak?'; diff --git a/lib/plugins/authad/lang/zh-tw/lang.php b/lib/plugins/authad/lang/zh-tw/lang.php new file mode 100644 index 000000000..6ad0947a2 --- /dev/null +++ b/lib/plugins/authad/lang/zh-tw/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author June-Hao Hou <junehao@gmail.com> + */ +$lang['domain'] = '登入網域'; diff --git a/lib/plugins/authad/lang/zh-tw/settings.php b/lib/plugins/authad/lang/zh-tw/settings.php index bd5d9413a..42cd8c96b 100644 --- a/lib/plugins/authad/lang/zh-tw/settings.php +++ b/lib/plugins/authad/lang/zh-tw/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author syaoranhinata@gmail.com + * @author June-Hao Hou <junehao@gmail.com> */ $lang['account_suffix'] = '您的帳號後綴。如: <code>@my.domain.org</code>'; $lang['base_dn'] = '您的基本識別名。如: <code>DC=my,DC=domain,DC=org</code>'; @@ -11,6 +12,7 @@ $lang['domain_controllers'] = '以逗號分隔的域名控制器列表。如 $lang['admin_username'] = 'Active Directory 的特權使用者,可以查看所有使用者的數據。(非必要,但對發送訂閱郵件等活動來說,這是必須的。)'; $lang['admin_password'] = '上述使用者的密碼。'; $lang['sso'] = '是否使用 Kerberos 或 NTLM 的單一登入系統 (Single-Sign-On)?'; +$lang['sso_charset'] = '你的網站伺服器傳遞 Kerberos 或 NTML 帳號名稱所用的語系編碼。空白表示 UTF-8 或 latin-1。此設定需要用到 iconv 套件。'; $lang['real_primarygroup'] = '是否視作真正的主要群組,而不是假設為網域使用者 (比較慢)'; $lang['use_ssl'] = '使用 SSL 連接嗎?如果要使用,請不要啟用下方的 TLS。'; $lang['use_tls'] = '使用 TLS 連接嗎?如果要使用,請不要啟用上方的 SSL。'; diff --git a/lib/plugins/authad/lang/zh/lang.php b/lib/plugins/authad/lang/zh/lang.php new file mode 100644 index 000000000..2a05aa168 --- /dev/null +++ b/lib/plugins/authad/lang/zh/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author lainme <lainme993@gmail.com> + */ +$lang['domain'] = '登录域'; diff --git a/lib/plugins/authad/plugin.info.txt b/lib/plugins/authad/plugin.info.txt index 8774fcf3c..dc0629189 100644 --- a/lib/plugins/authad/plugin.info.txt +++ b/lib/plugins/authad/plugin.info.txt @@ -1,7 +1,7 @@ base authad author Andreas Gohr email andi@splitbrain.org -date 2014-02-14 +date 2014-04-03 name Active Directory Auth Plugin desc Provides user authentication against a Microsoft Active Directory url http://www.dokuwiki.org/plugin:authad diff --git a/lib/plugins/authldap/auth.php b/lib/plugins/authldap/auth.php index 6c3637e15..b22b82ecc 100644 --- a/lib/plugins/authldap/auth.php +++ b/lib/plugins/authldap/auth.php @@ -36,8 +36,8 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { return; } - // auth_ldap currently just handles authentication, so no - // capabilities are set + // Add the capabilities to change the password + $this->cando['modPass'] = true; } /** @@ -103,7 +103,7 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { return true; } else { // See if we can find the user - $info = $this->getUserData($user, true); + $info = $this->_getUserData($user, true); if(empty($info['dn'])) { return false; } else { @@ -146,10 +146,19 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { * @author Steffen Schoch <schoch@dsb.net> * * @param string $user + * @param bool $requireGroups (optional) - ignored, groups are always supplied by this plugin + * @return array containing user data or false + */ + public function getUserData($user, $requireGroups=true) { + return $this->_getUserData($user); + } + + /** + * @param string $user * @param bool $inbind authldap specific, true if in bind phase * @return array containing user data or false */ - public function getUserData($user, $inbind = false) { + protected function _getUserData($user, $inbind = false) { global $conf; if(!$this->_openLDAP()) return false; @@ -264,6 +273,62 @@ class auth_plugin_authldap extends DokuWiki_Auth_Plugin { } /** + * Definition of the function modifyUser in order to modify the password + */ + + function modifyUser($user,$changes){ + + // open the connection to the ldap + if(!$this->_openLDAP()){ + msg('LDAP cannot connect: '. htmlspecialchars(ldap_error($this->con))); + return false; + } + + // find the information about the user, in particular the "dn" + $info = $this->getUserData($user,true); + if(empty($info['dn'])) { + msg('LDAP cannot find your user dn'); + return false; + } + $dn = $info['dn']; + + // find the old password of the user + list($loginuser,$loginsticky,$loginpass) = auth_getCookie(); + if ($loginuser !== null) { // the user is currently logged in + $secret = auth_cookiesalt(!$loginsticky, true); + $pass = auth_decrypt($loginpass, $secret); + + // bind with the ldap + if(!@ldap_bind($this->con, $dn, $pass)){ + msg('LDAP user bind failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); + return false; + } + } elseif ($this->getConf('binddn') && $this->getConf('bindpw')) { + // we are changing the password on behalf of the user (eg: forgotten password) + // bind with the superuser ldap + if (!@ldap_bind($this->con, $this->getConf('binddn'), $this->getConf('bindpw'))){ + $this->_debug('LDAP bind as superuser: '.htmlspecialchars(ldap_error($this->con)), 0, __LINE__, __FILE__); + return false; + } + } + else { + return false; // no otherway + } + + // Generate the salted hashed password for LDAP + $phash = new PassHash(); + $hash = $phash->hash_ssha($changes['pass']); + + // change the password + if(!@ldap_mod_replace($this->con, $dn,array('userpassword' => $hash))){ + msg('LDAP mod replace failed: '. htmlspecialchars($dn) .': '.htmlspecialchars(ldap_error($this->con))); + return false; + } + + return true; + } + + /** * Most values in LDAP are case-insensitive * * @return bool diff --git a/lib/plugins/authldap/lang/es/settings.php b/lib/plugins/authldap/lang/es/settings.php index f8c3ad014..6991546d3 100644 --- a/lib/plugins/authldap/lang/es/settings.php +++ b/lib/plugins/authldap/lang/es/settings.php @@ -4,8 +4,22 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Antonio Bueno <atnbueno@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> */ +$lang['server'] = 'Tu servidor LDAP. Puede ser el nombre del host (<code>localhost</code>) o una URL completa (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'Servidor LDAP en caso de que no se diera la URL completa anteriormente.'; +$lang['usertree'] = 'Donde encontrar cuentas de usuario. Ej. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Donde encontrar grupos de usuarios. Ej. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'Filtro LDAP para la busqueda de cuentas de usuario. P. E. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'Filtro LDAP para la busqueda de grupos. P. E. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'La versión del protocolo a usar. Puede que necesites poner esto a <code>3</code>'; $lang['starttls'] = 'Usar conexiones TLS?'; +$lang['referrals'] = '¿Deben ser seguidas las referencias?'; +$lang['deref'] = '¿Cómo desreferenciar los alias?'; +$lang['bindpw'] = 'Contraseña del usuario de arriba.'; +$lang['userscope'] = 'Limitar ámbito de búsqueda para búsqueda de usuarios'; +$lang['groupscope'] = 'Limitar ámbito de búsqueda para búsqueda de grupos'; +$lang['groupkey'] = 'Pertenencia al grupo desde cualquier atributo de usuario (en lugar de grupos AD estándar) p.e., grupo a partir departamento o número de teléfono'; $lang['debug'] = 'Mostrar información adicional para depuración de errores'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; diff --git a/lib/plugins/authldap/lang/et/settings.php b/lib/plugins/authldap/lang/et/settings.php index 9bba85dda..f4933b6bf 100644 --- a/lib/plugins/authldap/lang/et/settings.php +++ b/lib/plugins/authldap/lang/et/settings.php @@ -5,5 +5,5 @@ * * @author Janar Leas <janar.leas@eesti.ee> */ -$lang['grouptree'] = 'Kus kohast kasutaja rühmi otsida. Nt. <code>ou=Rühm, dc=server, dc=tld</code'; +$lang['grouptree'] = 'Kus kohast kasutaja rühmi otsida. Nt. <code>ou=Rühm, dc=server, dc=tld</code>'; $lang['groupscope'] = 'Piiritle otsingu ulatus rühma otsinguga'; diff --git a/lib/plugins/authldap/lang/hr/settings.php b/lib/plugins/authldap/lang/hr/settings.php new file mode 100644 index 000000000..cb8df7218 --- /dev/null +++ b/lib/plugins/authldap/lang/hr/settings.php @@ -0,0 +1,27 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš LDAP server. Upišite ili naziv računala (<code>localhost</code>) ili puni URL (<code>ldap://server.tld:389</code>)'; +$lang['port'] = 'LDAP server port, ako gore nije specificiran puni URL.'; +$lang['usertree'] = 'Gdje da nađem korisničke prijave. Npr. <code>ou=People, dc=server, dc=tld</code>'; +$lang['grouptree'] = 'Gdje da nađem korisničke grupe. Npr. <code>ou=Group, dc=server, dc=tld</code>'; +$lang['userfilter'] = 'LDAP filter za pretragu korisničkih prijava. Npr. <code>(&(uid=%{user})(objectClass=posixAccount))</code>'; +$lang['groupfilter'] = 'LDAP filter za pretragu grupa. Npr. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; +$lang['version'] = 'Protokol koji se koristi. Možda će te trebati postaviti na <code>3</code>'; +$lang['starttls'] = 'Korisni TLS vezu?'; +$lang['referrals'] = 'Da li da slijedim uputnice?'; +$lang['deref'] = 'Kako da razlikujem aliase?'; +$lang['binddn'] = 'DN opcionalnog korisnika ako anonimni korisnik nije dovoljan. Npr. <code>cn=admin, dc=my, dc=home</code>'; +$lang['bindpw'] = 'Lozinka gore navedenog korisnika'; +$lang['userscope'] = 'Ograniči područje za pretragu korisnika'; +$lang['groupscope'] = 'Ograniči područje za pretragu grupa'; +$lang['groupkey'] = 'Članstvo grupa iz svih atributa korisnika (umjesto standardnih AD grupa) npr. grupa iz odjela ili telefonskog broja'; +$lang['debug'] = 'Prikaži dodatne informacije u slučaju greške'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/it/settings.php b/lib/plugins/authldap/lang/it/settings.php index eba7cde6e..858c694b8 100644 --- a/lib/plugins/authldap/lang/it/settings.php +++ b/lib/plugins/authldap/lang/it/settings.php @@ -5,6 +5,7 @@ * * @author Edmondo Di Tucci <snarchio@gmail.com> * @author Claudio Lanconelli <lancos@libero.it> + * @author Francesco <francesco.cavalli@hotmail.com> */ $lang['server'] = 'Il tuo server LDAP. Inserire o l\'hostname (<code>localhost</code>) oppure un URL completo (<code>ldap://server.tld:389</code>)'; $lang['port'] = 'Porta del server LDAP se non è stato fornito un URL completo più sopra.'; @@ -14,6 +15,11 @@ $lang['userfilter'] = 'Filtro per cercare l\'account utente LDAP. Eg. $lang['groupfilter'] = 'Filtro per cercare i gruppi LDAP. Eg. <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = 'Versione protocollo da usare. Pu<code>3</code>'; $lang['starttls'] = 'Usare la connessione TSL?'; +$lang['deref'] = 'Come differenziare un alias?'; $lang['userscope'] = 'Limita il contesto di ricerca per la ricerca degli utenti'; $lang['groupscope'] = 'Limita il contesto di ricerca per la ricerca dei gruppi'; $lang['debug'] = 'In caso di errori mostra ulteriori informazioni di debug'; +$lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; +$lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; +$lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; +$lang['deref_o_3'] = 'LDAP_DEREF_ALWAYS'; diff --git a/lib/plugins/authldap/lang/ja/settings.php b/lib/plugins/authldap/lang/ja/settings.php index 6dec9a576..6cff0ea67 100644 --- a/lib/plugins/authldap/lang/ja/settings.php +++ b/lib/plugins/authldap/lang/ja/settings.php @@ -6,8 +6,9 @@ * @author Satoshi Sahara <sahara.satoshi@gmail.com> * @author Hideaki SAWADA <sawadakun@live.jp> * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> */ -$lang['server'] = 'LDAPサーバー。ホスト名(<code>localhost</code)又は完全修飾URL(<code>ldap://server.tld:389</code>)'; +$lang['server'] = 'LDAPサーバー。ホスト名(<code>localhost</code>)又は完全修飾URL(<code>ldap://server.tld:389</code>)'; $lang['port'] = '上記が完全修飾URLでない場合、LDAPサーバーポート'; $lang['usertree'] = 'ユーザーアカウントを探す場所。例:<code>ou=People, dc=server, dc=tld</code>'; $lang['grouptree'] = 'ユーザーグループを探す場所。例:<code>ou=Group, dc=server, dc=tld</code>'; @@ -15,8 +16,14 @@ $lang['userfilter'] = 'ユーザーアカウントを探すためのL $lang['groupfilter'] = 'グループを探すLDAP抽出条件。例:<code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '使用するプロトコルのバージョン。<code>3</code>を設定する必要がある場合があります。'; $lang['starttls'] = 'TLS接続を使用しますか?'; +$lang['referrals'] = '紹介に従いますか?'; +$lang['deref'] = 'どのように間接参照のエイリアスにしますか?'; $lang['binddn'] = '匿名バインドでは不十分な場合、オプションバインドユーザーのDN。例:<code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '上記ユーザーのパスワード'; +$lang['userscope'] = 'ユーザー検索の範囲を限定させる'; +$lang['groupscope'] = 'グループ検索の範囲を限定させる'; +$lang['groupkey'] = 'ユーザー属性をグループのメンバーシップから設定します(代わりに標準のADグループ)。 +例えば、部署や電話番号などです。'; $lang['debug'] = 'エラーに関して追加のデバッグ情報を表示する。'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; diff --git a/lib/plugins/authldap/lang/ko/settings.php b/lib/plugins/authldap/lang/ko/settings.php index ae8dc7ab6..e663ba063 100644 --- a/lib/plugins/authldap/lang/ko/settings.php +++ b/lib/plugins/authldap/lang/ko/settings.php @@ -13,8 +13,8 @@ $lang['userfilter'] = '사용자 계정을 찾을 LDAP 필터. 예를 $lang['groupfilter'] = '그룹을 찾을 LDAP 필터. 예를 들어 <code>(&(objectClass=posixGroup)(|(gidNumber=%{gid})(memberUID=%{user})))</code>'; $lang['version'] = '사용할 프로토콜 버전. <code>3</code>으로 설정해야 할 수도 있습니다'; $lang['starttls'] = 'TLS 연결을 사용하겠습니까?'; -$lang['referrals'] = '참고(referrals)를 허용하겠습니까? '; -$lang['deref'] = '어떻게 별명을 간접 참고하겠습니까?'; +$lang['referrals'] = '참조(referrals)를 허용하겠습니까? '; +$lang['deref'] = '어떻게 별명을 간접 참조하겠습니까?'; $lang['binddn'] = '익명 바인드가 충분하지 않으면 선택적인 바인드 사용자의 DN. 예를 들어 <code>cn=admin, dc=my, dc=home</code>'; $lang['bindpw'] = '위 사용자의 비밀번호'; $lang['userscope'] = '사용자 검색에 대한 검색 범위 제한'; diff --git a/lib/plugins/authldap/lang/lv/settings.php b/lib/plugins/authldap/lang/lv/settings.php new file mode 100644 index 000000000..90986e4f1 --- /dev/null +++ b/lib/plugins/authldap/lang/lv/settings.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['starttls'] = 'Lietot TLS savienojumus?'; +$lang['bindpw'] = 'Lietotāja parole'; diff --git a/lib/plugins/authldap/lang/ru/settings.php b/lib/plugins/authldap/lang/ru/settings.php index 04a3ee784..5677e06a3 100644 --- a/lib/plugins/authldap/lang/ru/settings.php +++ b/lib/plugins/authldap/lang/ru/settings.php @@ -7,9 +7,12 @@ * @author Aleksandr Selivanov <alexgearbox@gmail.com> * @author Erli Moen <evseev.jr@gmail.com> * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Владимир <id37736@yandex.ru> */ +$lang['starttls'] = 'Использовать TLS подключения?'; $lang['deref'] = 'Как расшифровывать псевдонимы?'; $lang['bindpw'] = 'Пароль для указанного пользователя.'; +$lang['debug'] = 'Показывать дополнительную отладочную информацию при ошибках'; $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; diff --git a/lib/plugins/authldap/lang/sl/settings.php b/lib/plugins/authldap/lang/sl/settings.php index f180226fc..f63070390 100644 --- a/lib/plugins/authldap/lang/sl/settings.php +++ b/lib/plugins/authldap/lang/sl/settings.php @@ -4,5 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author matej <mateju@svn.gnome.org> + * @author Jernej Vidmar <jernej.vidmar@vidmarboehm.com> */ $lang['starttls'] = 'Ali naj se uporabijo povezave TLS?'; +$lang['bindpw'] = 'Geslo uporabnika zgoraj'; diff --git a/lib/plugins/authldap/lang/tr/settings.php b/lib/plugins/authldap/lang/tr/settings.php new file mode 100644 index 000000000..843b7ef9c --- /dev/null +++ b/lib/plugins/authldap/lang/tr/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ilker rifat kapaç <irifat@gmail.com> + */ +$lang['bindpw'] = 'Üstteki kullanıcının şifresi'; diff --git a/lib/plugins/authldap/lang/zh-tw/settings.php b/lib/plugins/authldap/lang/zh-tw/settings.php index 7e35ef632..e3d85cb87 100644 --- a/lib/plugins/authldap/lang/zh-tw/settings.php +++ b/lib/plugins/authldap/lang/zh-tw/settings.php @@ -1,4 +1,5 @@ <?php + /** * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * @@ -19,7 +20,6 @@ $lang['userscope'] = '限制使用者搜索的範圍'; $lang['groupscope'] = '限制群組搜索的範圍'; $lang['groupkey'] = '以其他使用者屬性 (而非標準 AD 群組) 來把使用者分組,例如以部門或電話號碼分類'; $lang['debug'] = '有錯誤時,顯示額外除錯資訊'; - $lang['deref_o_0'] = 'LDAP_DEREF_NEVER'; $lang['deref_o_1'] = 'LDAP_DEREF_SEARCHING'; $lang['deref_o_2'] = 'LDAP_DEREF_FINDING'; diff --git a/lib/plugins/authldap/plugin.info.txt b/lib/plugins/authldap/plugin.info.txt index 0d0b13f65..964fbb994 100644 --- a/lib/plugins/authldap/plugin.info.txt +++ b/lib/plugins/authldap/plugin.info.txt @@ -1,7 +1,7 @@ base authldap author Andreas Gohr email andi@splitbrain.org -date 2013-04-19 +date 2014-05-18 name LDAP Auth Plugin desc Provides user authentication against an LDAP server url http://www.dokuwiki.org/plugin:authldap diff --git a/lib/plugins/authmysql/auth.php b/lib/plugins/authmysql/auth.php index 1e6e6a4a9..95c62f636 100644 --- a/lib/plugins/authmysql/auth.php +++ b/lib/plugins/authmysql/auth.php @@ -21,6 +21,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { /** @var int database subrevision */ protected $dbsub = 0; + /** @var array cache to avoid re-reading user info data */ + protected $cacheUserInfo = array(); + /** * Constructor * @@ -157,10 +160,11 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $result = $this->_queryDB($sql); if($result !== false && count($result) == 1) { - if($this->getConf('forwardClearPass') == 1) + if($this->getConf('forwardClearPass') == 1) { $rc = true; - else + } else { $rc = auth_verifyPassword($pass, $result[0]['pass']); + } } $this->_closeDB(); } @@ -174,16 +178,23 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * * @param string $user user login to get data for + * @param bool $requireGroups when true, group membership information should be included in the returned array; + * when false, it maybe included, but is not required by the caller * @return array|bool */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { + if($this->_cacheExists($user, $requireGroups)) { + return $this->cacheUserInfo[$user]; + } + if($this->_openDB()) { $this->_lockTables("READ"); - $info = $this->_getUserInfo($user); + $info = $this->_getUserInfo($user, $requireGroups); $this->_unlockTables(); $this->_closeDB(); - } else + } else { $info = false; + } return $info; } @@ -209,12 +220,14 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { global $conf; if($this->_openDB()) { - if(($info = $this->_getUserInfo($user)) !== false) + if(($info = $this->_getUserInfo($user)) !== false) { return false; // user already exists + } // set defaultgroup if no groups were given - if($grps == null) + if($grps == null) { $grps = array($conf['defaultgroup']); + } $this->_lockTables("WRITE"); $pwd = $this->getConf('forwardClearPass') ? $pwd : auth_cryptPassword($pwd); @@ -234,17 +247,17 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * The dataset update will be rejected if the user name should be changed * to an already existing one. * - * The password must be provides unencrypted. Pasword cryption is done + * The password must be provided unencrypted. Pasword encryption is done * automatically if configured. * - * If one or more groups could't be updated, an error would be set. In + * If one or more groups can't be updated, an error will be set. In * this case the dataset might already be changed and we can't rollback - * the changes. Transactions would be really usefull here. + * the changes. Transactions would be really useful here. * * modifyUser() may be called without SQL statements defined that are * needed to change group membership (for example if only the user profile - * should be modified). In this case we asure that we don't touch groups - * even $changes['grps'] is set by mistake. + * should be modified). In this case we assure that we don't touch groups + * even when $changes['grps'] is set by mistake. * * @author Chris Smith <chris@jalakai.co.uk> * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> @@ -256,27 +269,30 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { public function modifyUser($user, $changes) { $rc = false; - if(!is_array($changes) || !count($changes)) + if(!is_array($changes) || !count($changes)) { return true; // nothing to change + } if($this->_openDB()) { $this->_lockTables("WRITE"); - if(($uid = $this->_getUserID($user))) { - $rc = $this->_updateUserInfo($changes, $uid); + $rc = $this->_updateUserInfo($user, $changes); - if($rc && isset($changes['grps']) && $this->cando['modGroups']) { - $groups = $this->_getGroups($user); - $grpadd = array_diff($changes['grps'], $groups); - $grpdel = array_diff($groups, $changes['grps']); + if($rc && isset($changes['grps']) && $this->cando['modGroups']) { + $groups = $this->_getGroups($user); + $grpadd = array_diff($changes['grps'], $groups); + $grpdel = array_diff($groups, $changes['grps']); - foreach($grpadd as $group) - if(($this->_addUserToGroup($user, $group, 1)) == false) - $rc = false; + foreach($grpadd as $group) { + if(($this->_addUserToGroup($user, $group, 1)) == false) { + $rc = false; + } + } - foreach($grpdel as $group) - if(($this->_delUserFromGroup($user, $group)) == false) - $rc = false; + foreach($grpdel as $group) { + if(($this->_delUserFromGroup($user, $group)) == false) { + $rc = false; + } } } @@ -304,8 +320,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { if(is_array($users) && count($users)) { $this->_lockTables("WRITE"); foreach($users as $user) { - if($this->_delUser($user)) + if($this->_delUser($user)) { $count++; + } } $this->_unlockTables(); } @@ -367,9 +384,11 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $result = $this->_queryDB($sql); if(!empty($result)) { - foreach($result as $user) - if(($info = $this->_getUserInfo($user['user']))) + foreach($result as $user) { + if(($info = $this->_getUserInfo($user['user']))) { $out[$user['user']] = $info; + } + } } $this->_unlockTables(); @@ -466,7 +485,10 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{user}', $this->_escape($user), $sql); $sql = str_replace('%{gid}', $this->_escape($gid), $sql); $sql = str_replace('%{group}', $this->_escape($group), $sql); - if($this->_modifyDB($sql) !== false) return true; + if($this->_modifyDB($sql) !== false) { + $this->_flushUserInfoCache($user); + return true; + } if($newgroup) { // remove previously created group on error $sql = str_replace('%{gid}', $this->_escape($gid), $this->getConf('delGroup')); @@ -501,6 +523,10 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{gid}', $this->_escape($gid), $sql); $sql = str_replace('%{group}', $this->_escape($group), $sql); $rc = $this->_modifyDB($sql) == 0 ? true : false; + + if ($rc) { + $this->_flushUserInfoCache($user); + } } } return $rc; @@ -526,8 +552,9 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $result = $this->_queryDB($sql); if($result !== false && count($result)) { - foreach($result as $row) + foreach($result as $row) { $groups[] = $row['group']; + } } return $groups; } @@ -590,6 +617,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { } if($gid !== false){ + $this->_flushUserInfoCache($user); return true; } else { /* remove the new user and all group relations if a group can't @@ -614,7 +642,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> * - * @param string $user user whose id is desired + * @param string $user username of the user to be deleted * @return bool */ protected function _delUser($user) { @@ -626,16 +654,96 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql = str_replace('%{uid}', $this->_escape($uid), $this->getConf('delUser')); $sql = str_replace('%{user}', $this->_escape($user), $sql); $this->_modifyDB($sql); + $this->_flushUserInfoCache($user); + return true; + } + } + return false; + } + + /** + * Flush cached user information + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username of the user whose data is to be removed from the cache + * if null, empty the whole cache + * @return none + */ + protected function _flushUserInfoCache($user=null) { + if (is_null($user)) { + $this->cacheUserInfo = array(); + } else { + unset($this->cacheUserInfo[$user]); + } + } + + /** + * Quick lookup to see if a user's information has been cached + * + * This test does not need a database connection or read lock + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username to be looked up in the cache + * @param bool $requireGroups true, if cached info should include group memberships + * + * @return bool existence of required user information in the cache + */ + protected function _cacheExists($user, $requireGroups=true) { + if (isset($this->cacheUserInfo[$user])) { + if (!is_array($this->cacheUserInfo[$user])) { + return true; // user doesn't exist + } + + if (!$requireGroups || isset($this->cacheUserInfo[$user]['grps'])) { return true; } } + return false; } /** - * getUserInfo + * Get a user's information + * + * The database connection must already be established for this function to work. + * + * @author Christopher Smith <chris@jalakai.co.uk> + * + * @param string $user username of the user whose information is being reterieved + * @param bool $requireGroups true if group memberships should be included + * @param bool $useCache true if ok to return cached data & to cache returned data + * + * @return mixed false|array false if the user doesn't exist + * array containing user information if user does exist + */ + protected function _getUserInfo($user, $requireGroups=true, $useCache=true) { + $info = null; + + if ($useCache && isset($this->cacheUserInfo[$user])) { + $info = $this->cacheUserInfo[$user]; + } + + if (is_null($info)) { + $info = $this->_retrieveUserInfo($user); + } + + if (($requireGroups == true) && $info && !isset($info['grps'])) { + $info['grps'] = $this->_getGroups($user); + } + + if ($useCache) { + $this->cacheUserInfo[$user] = $info; + } + + return $info; + } + + /** + * retrieveUserInfo * - * Gets the data for a specific user The database connection + * Gets the data for a specific user. The database connection * must already be established for this function to work. * Otherwise it will return 'false'. * @@ -644,12 +752,11 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * @param string $user user's nick to get data for * @return bool|array false on error, user info on success */ - protected function _getUserInfo($user) { + protected function _retrieveUserInfo($user) { $sql = str_replace('%{user}', $this->_escape($user), $this->getConf('getUserInfo')); $result = $this->_queryDB($sql); if($result !== false && count($result)) { $info = $result[0]; - $info['grps'] = $this->_getGroups($user); return $info; } return false; @@ -666,20 +773,26 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { * The database connection has already to be established for this * function to work. Otherwise it will return 'false'. * - * The password will be crypted if necessary. + * The password will be encrypted if necessary. * + * @param string $user user's nick being updated * @param array $changes array of items to change as pairs of item and value * @param mixed $uid user id of dataset to change, must be unique in DB * @return bool true on success or false on error * * @author Matthias Grimm <matthiasgrimm@users.sourceforge.net> */ - protected function _updateUserInfo($changes, $uid) { + protected function _updateUserInfo($user, $changes) { $sql = $this->getConf('updateUser')." "; $cnt = 0; $err = 0; if($this->dbcon) { + $uid = $this->_getUserID($user); + if ($uid === false) { + return false; + } + foreach($changes as $item => $value) { if($item == 'user') { if(($this->_getUserID($changes['user']))) { @@ -707,6 +820,7 @@ class auth_plugin_authmysql extends DokuWiki_Auth_Plugin { $sql .= " ".str_replace('%{uid}', $uid, $this->getConf('UpdateTarget')); if(get_class($this) == 'auth_mysql') $sql .= " LIMIT 1"; //some PgSQL inheritance comp. $this->_modifyDB($sql); + $this->_flushUserInfoCache($user); } return true; } diff --git a/lib/plugins/authmysql/lang/es/settings.php b/lib/plugins/authmysql/lang/es/settings.php index 64d422102..b82620fc6 100644 --- a/lib/plugins/authmysql/lang/es/settings.php +++ b/lib/plugins/authmysql/lang/es/settings.php @@ -4,9 +4,36 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Antonio Bueno <atnbueno@gmail.com> + * @author Eloy <ej.perezgomez@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> */ $lang['server'] = 'Tu servidor MySQL'; $lang['user'] = 'Nombre de usuario MySQL'; +$lang['password'] = 'Contraseña para el usuario de arriba.'; $lang['database'] = 'Base de datos a usar'; $lang['charset'] = 'Codificación usada en la base de datos'; $lang['debug'] = 'Mostrar información adicional para depuración de errores'; +$lang['forwardClearPass'] = 'Enviar las contraseñas de usuario comotexto plano a las siguientes sentencias de SQL, en lugar de utilizar la opción passcrypt'; +$lang['TablesToLock'] = 'Lista separada por comasde las tablas a bloquear durante operaciones de escritura'; +$lang['checkPass'] = 'Sentencia SQL para verificar las contraseñas'; +$lang['getUserInfo'] = 'Sentencia SQL para obtener información del usuario'; +$lang['getGroups'] = 'Sentencia SQL para obtener la pertenencia a grupos de un usuario'; +$lang['getUsers'] = 'Sentencia SQL para listar todos los usuarios'; +$lang['FilterLogin'] = 'Cláusula SQL para filtrar usuarios por su nombre de usuario'; +$lang['FilterName'] = 'Cláusula SQL para filtrar usuarios por su nombre completo'; +$lang['FilterEmail'] = 'Cláusula SQL para filtrar usuarios por su dirección de correo electrónico'; +$lang['FilterGroup'] = 'Cláusula SQL para filtrar usuarios por su pertenencia a grupos'; +$lang['SortOrder'] = 'Cláusula SQL para ordenar usuarios'; +$lang['addUser'] = 'Sentencia SQL para agregar un nuevo usuario'; +$lang['addGroup'] = 'Sentencia SQL para agregar un nuevo grupo'; +$lang['addUserGroup'] = 'Sentencia SQL para agregar un usuario a un grupo existente'; +$lang['delGroup'] = 'Sentencia SQL para eliminar un grupo'; +$lang['getUserID'] = 'Sentencia SQL para obtener la clave primaria de un usuario'; +$lang['delUser'] = 'Sentencia SQL para eliminar un usuario'; +$lang['delUserRefs'] = 'Sentencia SQL para eliminar un usuario de todos los grupos'; +$lang['updateUser'] = 'Sentencia SQL para actualizar un perfil de usuario'; +$lang['delUserGroup'] = 'Sentencia SQL para eliminar un usuario de un grupo dado'; +$lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; +$lang['debug_o_0'] = 'ninguno'; +$lang['debug_o_1'] = 'sólo errores'; +$lang['debug_o_2'] = 'todas las consultas SQL'; diff --git a/lib/plugins/authmysql/lang/fa/settings.php b/lib/plugins/authmysql/lang/fa/settings.php new file mode 100644 index 000000000..68ad5ce83 --- /dev/null +++ b/lib/plugins/authmysql/lang/fa/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['server'] = 'سرور MySQL'; +$lang['user'] = 'نام کاربری MySQL'; +$lang['database'] = 'پایگاه داده مورد استفاده'; diff --git a/lib/plugins/authmysql/lang/hr/settings.php b/lib/plugins/authmysql/lang/hr/settings.php new file mode 100644 index 000000000..af9966999 --- /dev/null +++ b/lib/plugins/authmysql/lang/hr/settings.php @@ -0,0 +1,42 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš MySQL server'; +$lang['user'] = 'MySQL korisničko ime'; +$lang['password'] = 'Lozinka gore navedenog korisnika'; +$lang['database'] = 'Baza koja se koristi'; +$lang['charset'] = 'Znakovni set koji se koristi u bazi'; +$lang['debug'] = 'Prikaz dodatnih debug informacija'; +$lang['forwardClearPass'] = 'Proslijedi korisničku lozinku kao čisti tekst u SQL upitu niže, umjesto korištenja passcrypt opcije'; +$lang['TablesToLock'] = 'Zarezom odvojena lista tabela koje trebaju biti zaključane pri operacijama pisanja'; +$lang['checkPass'] = 'SQL izraz za provjeru lozinki'; +$lang['getUserInfo'] = 'SQL izraz za dohvaćanje informacija o korisniku'; +$lang['getGroups'] = 'SQL izraz za dohvaćanje članstva u grupama'; +$lang['getUsers'] = 'SQL izraz za ispis svih korisnika'; +$lang['FilterLogin'] = 'SQL izraz za izdvajanje korisnika po korisničkom imenu'; +$lang['FilterName'] = 'SQL izraz za izdvajanje korisnika po punom imenu'; +$lang['FilterEmail'] = 'SQL izraz za izdvajanje korisnika po adresi e-pošte'; +$lang['FilterGroup'] = 'SQL izraz za izdvajanje korisnika po članstvu u grupama'; +$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika'; +$lang['addUser'] = 'SQL izraz za dodavanje novih korisnika'; +$lang['addGroup'] = 'SQL izraz za dodavanje novih grupa'; +$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu'; +$lang['delGroup'] = 'SQL izraz za uklanjanje grupe'; +$lang['getUserID'] = 'SQL izraz za dobivanje primarnog ključa korisnika'; +$lang['delUser'] = 'SQL izraz za brisanje korisnika'; +$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz grupe'; +$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila'; +$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena'; +$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke'; +$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese'; +$lang['UpdateName'] = 'UPDATE izraz za ažuriranje punog imena korisnika'; +$lang['UpdateTarget'] = 'Limit izraz za identificiranje korisnika pri ažuriranju'; +$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz zadane grupe'; +$lang['getGroupID'] = 'SQL izraz za dobivanje primarnoga ključa zadane grupe'; +$lang['debug_o_0'] = 'ništa'; +$lang['debug_o_1'] = 'u slučaju greške'; +$lang['debug_o_2'] = 'svi SQL upiti'; diff --git a/lib/plugins/authmysql/lang/it/settings.php b/lib/plugins/authmysql/lang/it/settings.php index e493ec7e9..10c0de96f 100644 --- a/lib/plugins/authmysql/lang/it/settings.php +++ b/lib/plugins/authmysql/lang/it/settings.php @@ -4,5 +4,34 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Claudio Lanconelli <lancos@libero.it> + * @author Mirko <malisan.mirko@gmail.com> + * @author Francesco <francesco.cavalli@hotmail.com> */ +$lang['server'] = 'Il tuo server MySQL'; +$lang['user'] = 'User name di MySQL'; +$lang['database'] = 'Database da usare'; +$lang['charset'] = 'Set di caratteri usato nel database'; $lang['debug'] = 'Mostra ulteriori informazioni di debug'; +$lang['TablesToLock'] = 'Lista, separata da virgola, delle tabelle che devono essere bloccate in scrittura'; +$lang['checkPass'] = 'Istruzione SQL per il controllo password'; +$lang['getUserInfo'] = 'Istruzione SQL per recuperare le informazioni utente'; +$lang['getUsers'] = 'Istruzione SQL per listare tutti gli utenti'; +$lang['FilterLogin'] = 'Istruzione SQL per per filtrare gli utenti in funzione del "login name"'; +$lang['SortOrder'] = 'Istruzione SQL per ordinare gli utenti'; +$lang['addUser'] = 'Istruzione SQL per aggiungere un nuovo utente'; +$lang['addGroup'] = 'Istruzione SQL per aggiungere un nuovo gruppo'; +$lang['addUserGroup'] = 'Istruzione SQL per aggiungere un utente ad un gruppo esistente'; +$lang['delGroup'] = 'Istruzione SQL per imuovere un gruppo'; +$lang['getUserID'] = 'Istruzione SQL per recuperare la primary key di un utente'; +$lang['delUser'] = 'Istruzione SQL per cancellare un utente'; +$lang['delUserRefs'] = 'Istruzione SQL per rimuovere un utente da tutti i gruppi'; +$lang['updateUser'] = 'Istruzione SQL per aggiornare il profilo utente'; +$lang['UpdateLogin'] = 'Clausola per aggiornare il "login name" dell\'utente'; +$lang['UpdatePass'] = 'Clausola per aggiornare la password utente'; +$lang['UpdateEmail'] = 'Clausola per aggiornare l\'email utente'; +$lang['UpdateName'] = 'Clausola per aggiornare il nome completo'; +$lang['delUserGroup'] = 'Istruzione SQL per rimuovere un utente da un dato gruppo'; +$lang['getGroupID'] = 'Istruzione SQL per avere la primary key di un dato gruppo'; +$lang['debug_o_0'] = 'Nulla'; +$lang['debug_o_1'] = 'Solo in errore'; +$lang['debug_o_2'] = 'Tutte le query SQL'; diff --git a/lib/plugins/authmysql/lang/lv/settings.php b/lib/plugins/authmysql/lang/lv/settings.php new file mode 100644 index 000000000..8550363c9 --- /dev/null +++ b/lib/plugins/authmysql/lang/lv/settings.php @@ -0,0 +1,10 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['user'] = 'MySQL lietotāja vārds'; +$lang['password'] = 'Lietotāja parole'; +$lang['delUser'] = 'SQL pieprasījums lietotāja dzēšanai'; diff --git a/lib/plugins/authmysql/lang/pl/settings.php b/lib/plugins/authmysql/lang/pl/settings.php index 88cbd5d6f..9dc798ee0 100644 --- a/lib/plugins/authmysql/lang/pl/settings.php +++ b/lib/plugins/authmysql/lang/pl/settings.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Paweł Jan Czochański <czochanski@gmail.com> + * @author Mati <mackosa@wp.pl> */ $lang['server'] = 'Twój server MySQL'; $lang['user'] = 'Nazwa użytkownika MySQL'; @@ -12,3 +13,4 @@ $lang['database'] = 'Używana baza danych'; $lang['charset'] = 'Zestaw znaków uzyty w bazie danych'; $lang['debug'] = 'Wyświetlaj dodatkowe informacje do debugowania.'; $lang['checkPass'] = 'Zapytanie SQL wykorzystywane do sprawdzania haseł.'; +$lang['debug_o_2'] = 'wszystkie zapytania SQL'; diff --git a/lib/plugins/authmysql/lang/tr/settings.php b/lib/plugins/authmysql/lang/tr/settings.php new file mode 100644 index 000000000..ca6a7c6ad --- /dev/null +++ b/lib/plugins/authmysql/lang/tr/settings.php @@ -0,0 +1,41 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author ilker rifat kapaç <irifat@gmail.com> + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['server'] = 'Sizin MySQL sunucunuz'; +$lang['user'] = 'MySQL kullanıcısının adı'; +$lang['password'] = 'Üstteki kullanıcı için şifre'; +$lang['database'] = 'Kullanılacak veritabanı'; +$lang['charset'] = 'Veritabanında kullanılacak karakter seti'; +$lang['debug'] = 'İlave hata ayıklama bilgisini görüntüle'; +$lang['checkPass'] = 'Şifreleri kontrol eden SQL ifadesi'; +$lang['getUserInfo'] = 'Kullanıcı bilgilerini getiren SQL ifadesi'; +$lang['getGroups'] = 'Kullanıcının grup üyeliklerini getiren SQL ifadesi'; +$lang['getUsers'] = 'Tüm kullanıcıları listeleyen SQL ifadesi'; +$lang['FilterLogin'] = 'Kullanıcıları giriş yaptıkları isimlere göre süzmek için SQL şartı'; +$lang['FilterName'] = 'Kullanıcıları tam isimlerine göre süzmek için SQL şartı'; +$lang['FilterEmail'] = 'Kullanıcıları e-posta adreslerine göre süzmek için SQL şartı'; +$lang['FilterGroup'] = 'Kullanıcıları üye oldukları grup isimlerine göre süzmek için SQL şartı'; +$lang['SortOrder'] = 'Kullanıcıları sıralamak için SQL şartı'; +$lang['addUser'] = 'Yeni bir kullanıcı ekleyen SQL ifadesi'; +$lang['addGroup'] = 'Yeni bir grup ekleyen SQL ifadesi'; +$lang['addUserGroup'] = 'Varolan gruba yeni bir kullanıcı ekleyen SQL ifadesi'; +$lang['delGroup'] = 'Grup silen SQL ifadesi'; +$lang['getUserID'] = 'Kullanıcının birincil anahtarını getiren SQL ifadesi'; +$lang['delUser'] = 'Kullanıcı silen SQL ifadesi'; +$lang['delUserRefs'] = 'Kullanıcıyı tüm gruplardan çıkartan SQL ifadesi'; +$lang['updateUser'] = 'Kullanıcı profilini güncelleyen SQL ifadesi'; +$lang['UpdateLogin'] = 'Kullanıcının giriş yaptığı ismi güncelleyen, güncelleme şartı'; +$lang['UpdatePass'] = 'Kullanıcının şifresini güncelleyen, güncelleme şartı'; +$lang['UpdateEmail'] = 'Kullanıcının e-posta adresini güncelleyen, güncelleme şartı'; +$lang['UpdateName'] = 'Kullanıcının tam adını güncelleyen, güncelleme şartı'; +$lang['UpdateTarget'] = 'Güncelleme esnasında kullanıcıyı belirleyen, sınır şartı'; +$lang['delUserGroup'] = 'Kullanıcıyı verilen gruptan silen SQL ifadesi'; +$lang['getGroupID'] = 'Verilen grubun birincil anahtarını getiren SQL ifadesi'; +$lang['debug_o_0'] = 'hiçbiri'; +$lang['debug_o_1'] = 'sadece hata olduğunda'; +$lang['debug_o_2'] = 'tüm SQL sorguları'; diff --git a/lib/plugins/authmysql/plugin.info.txt b/lib/plugins/authmysql/plugin.info.txt index 3e889d11e..fa00fccf4 100644 --- a/lib/plugins/authmysql/plugin.info.txt +++ b/lib/plugins/authmysql/plugin.info.txt @@ -1,7 +1,7 @@ base authmysql author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-02-15 name MYSQL Auth Plugin desc Provides user authentication against a MySQL database url http://www.dokuwiki.org/plugin:authmysql diff --git a/lib/plugins/authpgsql/auth.php b/lib/plugins/authpgsql/auth.php index e51b39858..99f3ed443 100644 --- a/lib/plugins/authpgsql/auth.php +++ b/lib/plugins/authpgsql/auth.php @@ -160,7 +160,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { $result = $this->_queryDB($sql); foreach($result as $user) - if(($info = $this->_getUserInfo($user['user']))) + if(($info = $this->_getCachedUserInfo($user['user']))) $out[$user['user']] = $info; $this->_unlockTables(); @@ -212,7 +212,10 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { $sql = str_replace('%{user}', addslashes($user), $sql); $sql = str_replace('%{gid}', addslashes($gid), $sql); $sql = str_replace('%{group}', addslashes($group), $sql); - if($this->_modifyDB($sql) !== false) return true; + if($this->_modifyDB($sql) !== false) { + $this->_flushUserInfoCache($user); + return true; + } if($newgroup) { // remove previously created group on error $sql = str_replace('%{gid}', addslashes($gid), $this->conf['delGroup']); @@ -267,6 +270,7 @@ class auth_plugin_authpgsql extends auth_plugin_authmysql { } if($gid !== false){ + $this->_flushUserInfoCache($user); return true; } else { /* remove the new user and all group relations if a group can't diff --git a/lib/plugins/authpgsql/lang/es/settings.php b/lib/plugins/authpgsql/lang/es/settings.php new file mode 100644 index 000000000..abfb00d38 --- /dev/null +++ b/lib/plugins/authpgsql/lang/es/settings.php @@ -0,0 +1,38 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author pokesakura <pokesakura@gmail.com> + */ +$lang['server'] = 'Su servidor PostgreSQL'; +$lang['port'] = 'Puerto de su servidor PostgreSQL'; +$lang['user'] = 'Nombre de usuario PostgreSQL'; +$lang['password'] = 'Contraseña del usuario indicado'; +$lang['database'] = 'Base de datos a usar'; +$lang['debug'] = 'Muestra la información de depuración adicional'; +$lang['forwardClearPass'] = 'Pasar las contraseñas de usuario en texto plano a las siguientes sentencias de SQL, en lugar de utilizar la opción passcrypt'; +$lang['checkPass'] = 'Sentencia SQL para el control de las contraseñas'; +$lang['getUserInfo'] = 'Sentencia SQL para recuperar información del usuario'; +$lang['getGroups'] = 'Sentencia SQL para recuperar la pertenencia a grupos de un usuario'; +$lang['getUsers'] = 'Sentencia SQL para enumerar todos los usuarios'; +$lang['FilterLogin'] = 'Sentencia SQL para filtrar a los usuarios por su login'; +$lang['FilterName'] = 'Sentencia SQL para filtrar a los usuarios por su nombre completo'; +$lang['FilterEmail'] = 'Sentencia SQL para filtrar a los usuarios por su correo electrónico'; +$lang['FilterGroup'] = 'Sentencia SQL para filtrar a los usuarios por su membresía en un grupo'; +$lang['SortOrder'] = 'Sentencia SQL para ordenar a los usuarios'; +$lang['addUser'] = 'Sentencia de SQL para agregar un nuevo usuario'; +$lang['addGroup'] = 'Sentencia de SQL para agregar un nuevo grupo'; +$lang['addUserGroup'] = 'Sentencia SQL para agregar un usuario a un grupo existente'; +$lang['delGroup'] = 'Instrucción SQL para eliminar un grupo'; +$lang['getUserID'] = 'Sentencia SQL para obtener la clave principal de un usuario'; +$lang['delUser'] = 'Sentencia SQL para eliminar un usuario'; +$lang['delUserRefs'] = 'Sentencia SQL para remover a un usuario de su memebresia en todos los grupos'; +$lang['updateUser'] = 'Sentencia SQL para actualizar los datos del usuario'; +$lang['UpdateLogin'] = 'Sentencia de actualizacion para el login del usuario'; +$lang['UpdatePass'] = 'Sentencia de actualizacion para el password del usuario'; +$lang['UpdateEmail'] = 'Sentencia de actualizacion del correo electrónico del usuario'; +$lang['UpdateName'] = 'Sentencia de actualizacion del nombre completo del usuario'; +$lang['getGroupID'] = 'Sentencia SQL para obtener la clave principal de un grupo dado'; diff --git a/lib/plugins/authpgsql/lang/fa/settings.php b/lib/plugins/authpgsql/lang/fa/settings.php new file mode 100644 index 000000000..813493967 --- /dev/null +++ b/lib/plugins/authpgsql/lang/fa/settings.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['database'] = 'پایگاه داده مورد استفاده'; diff --git a/lib/plugins/authpgsql/lang/hr/settings.php b/lib/plugins/authpgsql/lang/hr/settings.php new file mode 100644 index 000000000..7ae4cec77 --- /dev/null +++ b/lib/plugins/authpgsql/lang/hr/settings.php @@ -0,0 +1,38 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['server'] = 'Vaš PostgreSQL server'; +$lang['port'] = 'Port vašeg PostgreSQL servera'; +$lang['user'] = 'PostgreSQL korisničko ime'; +$lang['password'] = 'Lozinka gore navedenoga korisnika'; +$lang['database'] = 'Baza koja se koristi'; +$lang['debug'] = 'Prikaz dodatnih dijagnostičkih informacija'; +$lang['forwardClearPass'] = 'Proslijed lozinku kao običan tekst u SQL izrazima koji slijede, umjesto korištenja passcrypt opcije'; +$lang['checkPass'] = 'SQL izraz za provjeru lozinke'; +$lang['getUserInfo'] = 'SQL izraz za dohvat korisničkih informacija'; +$lang['getGroups'] = 'SQL izraz za dohvat korisničkog članstva u grupama'; +$lang['getUsers'] = 'SQL izraz za ispis svih korisnika'; +$lang['FilterLogin'] = 'SQL izraz za filtriranje korisnika po korisničkom imenu'; +$lang['FilterName'] = 'SQL izraz za filtriranje korisnika po punom imenu'; +$lang['FilterEmail'] = 'SQL izraz za filtriranje korisnika po email adresi'; +$lang['FilterGroup'] = 'SQL izraz za filtriranje korisnika po članstvu u grupama'; +$lang['SortOrder'] = 'SQL izraz za sortiranje korisnika'; +$lang['addUser'] = 'SQL izraz za dodavanje novog korisnika'; +$lang['addGroup'] = 'SQL izraz za dodavanje nove grupe'; +$lang['addUserGroup'] = 'SQL izraz za dodavanje korisnika u postojeću grupu'; +$lang['delGroup'] = 'SQL izraz za brisanje grupe'; +$lang['getUserID'] = 'SQL izraz za dohvaćanje primarnog ključa korisnika'; +$lang['delUser'] = 'SQL izraz za brisanje korisnika'; +$lang['delUserRefs'] = 'SQL izraz za uklanjanje korisnika iz svih grupa'; +$lang['updateUser'] = 'SQL izraz za ažuriranje korisničkog profila'; +$lang['UpdateLogin'] = 'UPDATE izraz za ažuriranje korisničkog imena'; +$lang['UpdatePass'] = 'UPDATE izraz za ažuriranje korisničke lozinke'; +$lang['UpdateEmail'] = 'UPDATE izraz za ažuriranje korisničke email adrese'; +$lang['UpdateName'] = 'UPDATE izraz za ažuriranje korisničkog punog imena'; +$lang['UpdateTarget'] = 'Limitirajući izraz za identificiranje korisnika pri ažuriranju'; +$lang['delUserGroup'] = 'SQL izraz za uklanjanje korisnika iz navedenih grupa'; +$lang['getGroupID'] = 'SQL izraz za dobivanje primarnog ključa navedene grupe'; diff --git a/lib/plugins/authpgsql/lang/it/settings.php b/lib/plugins/authpgsql/lang/it/settings.php new file mode 100644 index 000000000..baf40a468 --- /dev/null +++ b/lib/plugins/authpgsql/lang/it/settings.php @@ -0,0 +1,11 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Francesco <francesco.cavalli@hotmail.com> + */ +$lang['server'] = 'Il tuo server PostgreSQL '; +$lang['port'] = 'La porta del tuo server PostgreSQL '; +$lang['user'] = 'Lo username PostgreSQL'; +$lang['database'] = 'Database da usare'; diff --git a/lib/plugins/authpgsql/lang/lv/settings.php b/lib/plugins/authpgsql/lang/lv/settings.php new file mode 100644 index 000000000..889b9566c --- /dev/null +++ b/lib/plugins/authpgsql/lang/lv/settings.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['password'] = 'Lietotāja parole'; +$lang['delUser'] = 'SQL pieprasījums lietotāja dzēšanai'; diff --git a/lib/plugins/authpgsql/lang/pl/settings.php b/lib/plugins/authpgsql/lang/pl/settings.php new file mode 100644 index 000000000..25a2afd4f --- /dev/null +++ b/lib/plugins/authpgsql/lang/pl/settings.php @@ -0,0 +1,9 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mati <mackosa@wp.pl> + */ +$lang['server'] = 'Twój serwer PostgreSQL'; +$lang['database'] = 'Baza danych do użycia'; diff --git a/lib/plugins/authpgsql/lang/tr/settings.php b/lib/plugins/authpgsql/lang/tr/settings.php new file mode 100644 index 000000000..f6fef9cde --- /dev/null +++ b/lib/plugins/authpgsql/lang/tr/settings.php @@ -0,0 +1,13 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['server'] = 'PostgreSQL sunucunuz'; +$lang['port'] = 'PostgreSQL sunucunuzun kapısı (port)'; +$lang['user'] = 'PostgreSQL kullanıcısının adı'; +$lang['password'] = 'Yukarıdaki kullanıcı için şifre'; +$lang['database'] = 'Kullanılacak veritabanı'; +$lang['debug'] = 'İlave hata ayıklama bilgisini görüntüle'; diff --git a/lib/plugins/authpgsql/plugin.info.txt b/lib/plugins/authpgsql/plugin.info.txt index aecab914e..59b7d89a9 100644 --- a/lib/plugins/authpgsql/plugin.info.txt +++ b/lib/plugins/authpgsql/plugin.info.txt @@ -1,7 +1,7 @@ base authpgsql author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-02-15 name PostgreSQL Auth Plugin desc Provides user authentication against a PostgreSQL database url http://www.dokuwiki.org/plugin:authpgsql diff --git a/lib/plugins/authplain/_test/escaping.test.php b/lib/plugins/authplain/_test/escaping.test.php new file mode 100644 index 000000000..cd5294157 --- /dev/null +++ b/lib/plugins/authplain/_test/escaping.test.php @@ -0,0 +1,82 @@ +<?php + +/** + * These tests are designed to test the capacity of pluginauth to handle + * correct escaping of colon field delimiters and backslashes in user content. + * + * (Note that these tests set some Real Names, etc. that are may not be + * valid in the broader dokuwiki context, but the tests ensure that + * authplain won't get unexpectedly surprised.) + * + * @group plugin_authplain + * @group plugins + */ +class helper_plugin_authplain_escaping_test extends DokuWikiTest { + + protected $pluginsEnabled = array('authplain'); + protected $auth; + + protected function reloadUsers() { + /* auth caches data loaded from file, but recreated object forces reload */ + $this->auth = new auth_plugin_authplain(); + } + + function setUp() { + global $config_cascade; + parent::setUp(); + $name = $config_cascade['plainauth.users']['default']; + copy($name, $name.".orig"); + $this->reloadUsers(); + } + + function tearDown() { + global $config_cascade; + parent::tearDown(); + $name = $config_cascade['plainauth.users']['default']; + copy($name.".orig", $name); + } + + public function testMediawikiPasswordHash() { + global $conf; + $conf['passcrypt'] = 'mediawiki'; + $this->auth->createUser("mwuser", "12345", "Mediawiki User", "me@example.com"); + $this->reloadUsers(); + $this->assertTrue($this->auth->checkPass("mwuser", "12345")); + $mwuser = $this->auth->getUserData("mwuser"); + $this->assertStringStartsWith(":B:",$mwuser['pass']); + $this->assertEquals("Mediawiki User",$mwuser['name']); + } + + public function testNameWithColons() { + $name = ":Colon: User:"; + $this->auth->createUser("colonuser", "password", $name, "me@example.com"); + $this->reloadUsers(); + $user = $this->auth->getUserData("colonuser"); + $this->assertEquals($name,$user['name']); + } + + public function testNameWithBackslashes() { + $name = "\\Slash\\ User\\"; + $this->auth->createUser("slashuser", "password", $name, "me@example.com"); + $this->reloadUsers(); + $user = $this->auth->getUserData("slashuser"); + $this->assertEquals($name,$user['name']); + } + + public function testModifyUser() { + global $conf; + $conf['passcrypt'] = 'mediawiki'; + $user = $this->auth->getUserData("testuser"); + $user['name'] = "\\New:Crazy:Name\\"; + $user['pass'] = "awesome new password"; + $this->auth->modifyUser("testuser", $user); + $this->reloadUsers(); + + $saved = $this->auth->getUserData("testuser"); + $this->assertEquals($saved['name'], $user['name']); + $this->assertTrue($this->auth->checkPass("testuser", $user['pass'])); + } + +} + +?>
\ No newline at end of file diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php index 8c4ce0dd9..b3ca988b9 100644 --- a/lib/plugins/authplain/auth.php +++ b/lib/plugins/authplain/auth.php @@ -76,14 +76,36 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { * * @author Andreas Gohr <andi@splitbrain.org> * @param string $user + * @param bool $requireGroups (optional) ignored by this plugin, grps info always supplied * @return array|bool */ - public function getUserData($user) { + public function getUserData($user, $requireGroups=true) { if($this->users === null) $this->_loadUserData(); return isset($this->users[$user]) ? $this->users[$user] : false; } /** + * Creates a string suitable for saving as a line + * in the file database + * (delimiters escaped, etc.) + * + * @param string $user + * @param string $pass + * @param string $name + * @param string $mail + * @param array $grps list of groups the user is in + * @return string + */ + protected function _createUserLine($user, $pass, $name, $mail, $grps) { + $groups = join(',', $grps); + $userline = array($user, $pass, $name, $mail, $groups); + $userline = str_replace('\\', '\\\\', $userline); // escape \ as \\ + $userline = str_replace(':', '\\:', $userline); // escape : as \: + $userline = join(':', $userline)."\n"; + return $userline; + } + + /** * Create a new User * * Returns false if the user already exists, null when an error @@ -115,8 +137,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { if(!is_array($grps)) $grps = array($conf['defaultgroup']); // prepare user line - $groups = join(',', $grps); - $userline = join(':', array($user, $pass, $name, $mail, $groups))."\n"; + $userline = $this->_createUserLine($user, $pass, $name, $mail, $grps); if(io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) { $this->users[$user] = compact('pass', 'name', 'mail', 'grps'); @@ -157,8 +178,7 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $userinfo[$field] = $value; } - $groups = join(',', $userinfo['grps']); - $userline = join(':', array($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $groups))."\n"; + $userline = $this->_createUserLine($newuser, $userinfo['pass'], $userinfo['name'], $userinfo['mail'], $userinfo['grps']); if(!$this->deleteUsers(array($user))) { msg('Unable to modify user data. Please inform the Wiki-Admin', -1); @@ -308,7 +328,11 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin { $line = trim($line); if(empty($line)) continue; - $row = explode(":", $line, 5); + /* NB: preg_split can be deprecated/replaced with str_getcsv once dokuwiki is min php 5.3 */ + $row = preg_split('/(?<![^\\\\]\\\\)\:/', $line, 5); // allow for : escaped as \: + $row = str_replace('\\:', ':', $row); + $row = str_replace('\\\\', '\\', $row); + $groups = array_values(array_filter(explode(",", $row[4]))); $this->users[$row[0]]['pass'] = $row[1]; diff --git a/lib/plugins/authplain/plugin.info.txt b/lib/plugins/authplain/plugin.info.txt index b63ee53e4..2659ac7ad 100644 --- a/lib/plugins/authplain/plugin.info.txt +++ b/lib/plugins/authplain/plugin.info.txt @@ -1,7 +1,7 @@ base authplain author Andreas Gohr email andi@splitbrain.org -date 2012-11-09 +date 2014-07-01 name Plain Auth Plugin desc Provides user authentication against DokuWiki's local password storage url http://www.dokuwiki.org/plugin:authplain diff --git a/lib/plugins/config/lang/bg/lang.php b/lib/plugins/config/lang/bg/lang.php index d0df38cae..64ddb1eae 100644 --- a/lib/plugins/config/lang/bg/lang.php +++ b/lib/plugins/config/lang/bg/lang.php @@ -67,7 +67,7 @@ $lang['fmode'] = 'Режим (права) за създаване на фа $lang['allowdebug'] = 'Включване на режи debug - <b>изключете, ако не е нужен!</b>'; /* Display Settings */ -$lang['recent'] = 'Скорошни промени - брой еленти на страница'; +$lang['recent'] = 'Скорошни промени - брой елементи на страница'; $lang['recent_days'] = 'Колко от скорошните промени да се пазят (дни)'; $lang['breadcrumbs'] = 'Брой на следите. За изключване на функцията задайте 0.'; $lang['youarehere'] = 'Йерархични следи (в този случай можете да изключите горната опция)'; @@ -167,7 +167,7 @@ $lang['compress'] = 'Компактен CSS и javascript изглед'; $lang['cssdatauri'] = 'Максимален размер, в байтове, до който изображенията посочени в .CSS файл ще бъдат вграждани в стила (stylesheet), за да се намали броя на HTTP заявките. Техниката не работи за версиите на IE преди 8! Препоръчителни стойности: <code>400</code> до <code>600</code> байта. Въведете <code>0</code> за изключване.'; $lang['send404'] = 'Пращане на "HTTP 404/Page Not Found" за несъществуващи страници'; $lang['broken_iua'] = 'Отметнете, ако ignore_user_abort функцията не работи. Може да попречи на търсенето в страниците. Знае се, че комбинацията IIS+PHP/CGI е лоша. Вижте <a href="http://bugs.splitbrain.org/?do=details&task_id=852">Грешка 852</a> за повече информация.'; -$lang['xsendfile'] = 'Ползване на Х-Sendfile header, за да може уебсървъра да дава статични файлове? Вашият уебсървър трябва да го поддържа.'; +$lang['xsendfile'] = 'Ползване на Х-Sendfile header, за да може уебсървъра да дава статични файлове? Вашият уеб сървър трябва да го поддържа.'; $lang['renderer_xhtml'] = 'Представяне на основните изходни данни (xhtml) от Wiki-то с'; $lang['renderer__core'] = '%s (ядрото на DokuWiki)'; $lang['renderer__plugin'] = '%s (приставка)'; diff --git a/lib/plugins/config/lang/de/lang.php b/lib/plugins/config/lang/de/lang.php index e55081a91..d398ebf84 100644 --- a/lib/plugins/config/lang/de/lang.php +++ b/lib/plugins/config/lang/de/lang.php @@ -41,7 +41,7 @@ $lang['_links'] = 'Links'; $lang['_media'] = 'Medien'; $lang['_notifications'] = 'Benachrichtigung'; $lang['_syndication'] = 'Syndication (RSS)'; -$lang['_advanced'] = 'Erweitertet'; +$lang['_advanced'] = 'Erweitert'; $lang['_network'] = 'Netzwerk'; $lang['_msg_setting_undefined'] = 'Keine Konfigurationsmetadaten.'; $lang['_msg_setting_no_class'] = 'Keine Konfigurationsklasse.'; diff --git a/lib/plugins/config/lang/en/lang.php b/lib/plugins/config/lang/en/lang.php index 92e500ab4..3fc9c2920 100644 --- a/lib/plugins/config/lang/en/lang.php +++ b/lib/plugins/config/lang/en/lang.php @@ -101,6 +101,7 @@ $lang['disableactions_subscription'] = 'Subscribe/Unsubscribe'; $lang['disableactions_wikicode'] = 'View source/Export Raw'; $lang['disableactions_profile_delete'] = 'Delete Own Account'; $lang['disableactions_other'] = 'Other actions (comma separated)'; +$lang['disableactions_rss'] = 'XML Syndication (RSS)'; $lang['auth_security_timeout'] = 'Authentication Security Timeout (seconds)'; $lang['securecookie'] = 'Should cookies set via HTTPS only be sent via HTTPS by the browser? Disable this option when only the login of your wiki is secured with SSL but browsing the wiki is done unsecured.'; $lang['remote'] = 'Enable the remote API system. This allows other applications to access the wiki via XML-RPC or other mechanisms.'; diff --git a/lib/plugins/config/plugin.info.txt b/lib/plugins/config/plugin.info.txt index 510be3be4..9472346b9 100644 --- a/lib/plugins/config/plugin.info.txt +++ b/lib/plugins/config/plugin.info.txt @@ -1,7 +1,7 @@ base config author Christopher Smith email chris@jalakai.co.uk -date 2013-02-24 +date 2014-03-18 name Configuration Manager desc Manage Dokuwiki's Configuration Settings url http://dokuwiki.org/plugin:config diff --git a/lib/plugins/config/settings/config.class.php b/lib/plugins/config/settings/config.class.php index 05f8470f7..8dae23110 100644 --- a/lib/plugins/config/settings/config.class.php +++ b/lib/plugins/config/settings/config.class.php @@ -18,6 +18,7 @@ if (!class_exists('configuration')) { var $_heading = ''; // heading string written at top of config file - don't include comment indicators var $_loaded = false; // set to true after configuration files are loaded var $_metadata = array(); // holds metadata describing the settings + /** @var setting[] */ var $setting = array(); // array of setting objects var $locked = false; // configuration is considered locked if it can't be updated var $show_disabled_plugins = false; @@ -31,8 +32,10 @@ if (!class_exists('configuration')) { /** * constructor + * + * @param string $datafile path to config metadata file */ - function configuration($datafile) { + public function configuration($datafile) { global $conf, $config_cascade; if (!@file_exists($datafile)) { @@ -55,7 +58,10 @@ if (!class_exists('configuration')) { $this->retrieve_settings(); } - function retrieve_settings() { + /** + * Retrieve and stores settings in setting[] attribute + */ + public function retrieve_settings() { global $conf; $no_default_check = array('setting_fieldset', 'setting_undefined', 'setting_no_class'); @@ -100,7 +106,15 @@ if (!class_exists('configuration')) { } } - function save_settings($id, $header='', $backup=true) { + /** + * Stores setting[] array to file + * + * @param string $id Name of plugin, which saves the settings + * @param string $header Text at the top of the rewritten settings file + * @param bool $backup backup current file? (remove any existing backup) + * @return bool succesful? + */ + public function save_settings($id, $header='', $backup=true) { global $conf; if ($this->locked) return false; @@ -138,13 +152,19 @@ if (!class_exists('configuration')) { /** * Update last modified time stamp of the config file */ - function touch_settings(){ + public function touch_settings(){ if ($this->locked) return false; $file = end($this->_local_files); return @touch($file); } - function _read_config_group($files) { + /** + * Read and merge given config files + * + * @param array $files file paths + * @return array config settings + */ + protected function _read_config_group($files) { $config = array(); foreach ($files as $file) { $config = array_merge($config, $this->_read_config($file)); @@ -154,7 +174,10 @@ if (!class_exists('configuration')) { } /** - * return an array of config settings + * Return an array of config settings + * + * @param string $file file path + * @return array config settings */ function _read_config($file) { @@ -206,7 +229,14 @@ if (!class_exists('configuration')) { return $config; } - function _out_header($id, $header) { + /** + * Returns header of rewritten settings file + * + * @param string $id plugin name of which generated this output + * @param string $header additional text for at top of the file + * @return string text of header + */ + protected function _out_header($id, $header) { $out = ''; if ($this->_format == 'php') { $out .= '<'.'?php'."\n". @@ -221,7 +251,12 @@ if (!class_exists('configuration')) { return $out; } - function _out_footer() { + /** + * Returns footer of rewritten settings file + * + * @return string text of footer + */ + protected function _out_footer() { $out = ''; if ($this->_format == 'php') { $out .= "\n// end auto-generated content\n"; @@ -230,9 +265,13 @@ if (!class_exists('configuration')) { return $out; } - // configuration is considered locked if there is no local settings filename - // or the directory its in is not writable or the file exists and is not writable - function _is_locked() { + /** + * Configuration is considered locked if there is no local settings filename + * or the directory its in is not writable or the file exists and is not writable + * + * @return bool true: locked, false: writable + */ + protected function _is_locked() { if (!$this->_local_files) return true; $local = $this->_local_files[0]; @@ -247,7 +286,7 @@ if (!class_exists('configuration')) { * not used ... conf's contents are an array! * reduce any multidimensional settings to one dimension using CM_KEYMARKER */ - function _flatten($conf,$prefix='') { + protected function _flatten($conf,$prefix='') { $out = array(); @@ -264,6 +303,12 @@ if (!class_exists('configuration')) { return $out; } + /** + * Returns array of plugin names + * + * @return array plugin names + * @triggers PLUGIN_CONFIG_PLUGINLIST event + */ function get_plugin_list() { if (is_null($this->_plugin_list)) { $list = plugin_list('',$this->show_disabled_plugins); @@ -281,6 +326,9 @@ if (!class_exists('configuration')) { /** * load metadata for plugin and template settings + * + * @param string $tpl name of active template + * @return array metadata of settings */ function get_plugintpl_metadata($tpl){ $file = '/conf/metadata.php'; @@ -321,7 +369,10 @@ if (!class_exists('configuration')) { } /** - * load default settings for plugins and templates + * Load default settings for plugins and templates + * + * @param string $tpl name of active template + * @return array default settings */ function get_plugintpl_default($tpl){ $file = '/conf/default.php'; @@ -368,7 +419,11 @@ if (!class_exists('setting')) { static protected $_validCautions = array('warning','danger','security'); - function setting($key, $params=null) { + /** + * @param string $key + * @param array|null $params array with metadata of setting + */ + public function setting($key, $params=null) { $this->_key = $key; if (is_array($params)) { @@ -379,9 +434,13 @@ if (!class_exists('setting')) { } /** - * receives current values for the setting $key + * Receives current values for the setting $key + * + * @param mixed $default default setting value + * @param mixed $local local setting value + * @param mixed $protected protected setting value */ - function initialize($default, $local, $protected) { + public function initialize($default, $local, $protected) { if (isset($default)) $this->_default = $default; if (isset($local)) $this->_local = $local; if (isset($protected)) $this->_protected = $protected; @@ -395,7 +454,7 @@ if (!class_exists('setting')) { * @param mixed $input the new value * @return boolean true if changed, false otherwise (incl. on error) */ - function update($input) { + public function update($input) { if (is_null($input)) return false; if ($this->is_protected()) return false; @@ -413,9 +472,13 @@ if (!class_exists('setting')) { } /** - * @return array(string $label_html, string $input_html) + * Build html for label and input of setting + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @param bool $echo true: show inputted value, when error occurred, otherwise the stored setting + * @return array(string $label_html, string $input_html) */ - function html(&$plugin, $echo=false) { + public function html(&$plugin, $echo=false) { $value = ''; $disable = ''; @@ -439,9 +502,9 @@ if (!class_exists('setting')) { } /** - * generate string to save setting value to file according to $fmt + * Generate string to save setting value to file according to $fmt */ - function out($var, $fmt='php') { + public function out($var, $fmt='php') { if ($this->is_protected()) return ''; if (is_null($this->_local) || ($this->_default == $this->_local)) return ''; @@ -457,17 +520,45 @@ if (!class_exists('setting')) { return $out; } - function prompt(&$plugin) { + /** + * Returns the localized prompt + * + * @param DokuWiki_Plugin $plugin object of config plugin + * @return string text + */ + public function prompt(&$plugin) { $prompt = $plugin->getLang($this->_key); if (!$prompt) $prompt = htmlspecialchars(str_replace(array('____','_'),' ',$this->_key)); return $prompt; } - function is_protected() { return !is_null($this->_protected); } - function is_default() { return !$this->is_protected() && is_null($this->_local); } - function error() { return $this->_error; } + /** + * Is setting protected + * + * @return bool + */ + public function is_protected() { return !is_null($this->_protected); } + + /** + * Is setting the default? + * + * @return bool + */ + public function is_default() { return !$this->is_protected() && is_null($this->_local); } + + /** + * Has an error? + * + * @return bool + */ + public function error() { return $this->_error; } - function caution() { + /** + * Returns caution + * + * @return bool|string caution string, otherwise false for invalid caution + */ + public function caution() { if (!empty($this->_caution)) { if (!in_array($this->_caution, setting::$_validCautions)) { trigger_error('Invalid caution string ('.$this->_caution.') in metadata for setting "'.$this->_key.'"', E_USER_WARNING); @@ -486,7 +577,14 @@ if (!class_exists('setting')) { return false; } - function _out_key($pretty=false,$url=false) { + /** + * Returns setting key, eventually with referer to config: namespace at dokuwiki.org + * + * @param bool $pretty create nice key + * @param bool $url provide url to config: namespace + * @return string key + */ + public function _out_key($pretty=false,$url=false) { if($pretty){ $out = str_replace(CM_KEYMARKER,"»",$this->_key); if ($url && !strstr($out,'»')) {//provide no urls for plugins, etc. diff --git a/lib/plugins/config/settings/config.metadata.php b/lib/plugins/config/settings/config.metadata.php index 1d72f7962..5cd09a8cb 100644 --- a/lib/plugins/config/settings/config.metadata.php +++ b/lib/plugins/config/settings/config.metadata.php @@ -138,7 +138,7 @@ $meta['manager'] = array('string'); $meta['profileconfirm'] = array('onoff'); $meta['rememberme'] = array('onoff'); $meta['disableactions'] = array('disableactions', - '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','profile_delete','edit','wikicode','check'), + '_choices' => array('backlink','index','recent','revisions','search','subscription','register','resendpwd','profile','profile_delete','edit','wikicode','check', 'rss'), '_combine' => array('subscription' => array('subscribe','unsubscribe'), 'wikicode' => array('source','export_raw'))); $meta['auth_security_timeout'] = array('numeric'); $meta['securecookie'] = array('onoff'); diff --git a/lib/plugins/extension/helper/extension.php b/lib/plugins/extension/helper/extension.php index 7958cd2da..2aca0e218 100644 --- a/lib/plugins/extension/helper/extension.php +++ b/lib/plugins/extension/helper/extension.php @@ -57,6 +57,8 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { if(substr($id, 0 , 9) == 'template:'){ $this->base = substr($id, 9); $this->is_template = true; + } else { + $this->is_template = false; } $this->localInfo = array(); @@ -290,7 +292,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { */ public function getUpdateDate() { if (!empty($this->managerData['updated'])) return $this->managerData['updated']; - return false; + return $this->getInstallDate(); } /** @@ -575,6 +577,7 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { try { $installed = $this->installArchive("$tmp/upload.archive", true, $basename); + $this->updateManagerData('', $installed); // purge cache $this->purgeCache(); }catch (Exception $e){ @@ -594,12 +597,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { try { $path = $this->download($url); $installed = $this->installArchive($path, true); + $this->updateManagerData($url, $installed); - // purge caches - foreach($installed as $ext => $info){ - $this->setExtension($ext); - $this->purgeCache(); - } + // purge cache + $this->purgeCache(); }catch (Exception $e){ throw $e; } @@ -613,8 +614,10 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { * @return array The list of installed extensions */ public function installOrUpdate() { - $path = $this->download($this->getDownloadURL()); + $url = $this->getDownloadURL(); + $path = $this->download($url); $installed = $this->installArchive($path, $this->isInstalled(), $this->getBase()); + $this->updateManagerData($url, $installed); // refresh extension information if (!isset($installed[$this->getID()])) { @@ -729,6 +732,37 @@ class helper_plugin_extension_extension extends DokuWiki_Plugin { } /** + * Save the given URL and current datetime in the manager.dat file of all installed extensions + * + * @param string $url Where the extension was downloaded from. (empty for manual installs via upload) + * @param array $installed Optional list of installed plugins + */ + protected function updateManagerData($url = '', $installed = null) { + $origID = $this->getID(); + + if(is_null($installed)) { + $installed = array($origID); + } + + foreach($installed as $ext => $info) { + if($this->getID() != $ext) $this->setExtension($ext); + if($url) { + $this->managerData['downloadurl'] = $url; + } elseif(isset($this->managerData['downloadurl'])) { + unset($this->managerData['downloadurl']); + } + if(isset($this->managerData['installed'])) { + $this->managerData['updated'] = date('r'); + } else { + $this->managerData['installed'] = date('r'); + } + $this->writeManagerData(); + } + + if($this->getID() != $origID) $this->setExtension($origID); + } + + /** * Read the manager.dat file */ protected function readManagerData() { diff --git a/lib/plugins/extension/images/disabled.png b/lib/plugins/extension/images/disabled.png Binary files differindex 7a0dbb3b5..93a813642 100644 --- a/lib/plugins/extension/images/disabled.png +++ b/lib/plugins/extension/images/disabled.png diff --git a/lib/plugins/extension/images/enabled.png b/lib/plugins/extension/images/enabled.png Binary files differindex 7c051cda1..92d958802 100644 --- a/lib/plugins/extension/images/enabled.png +++ b/lib/plugins/extension/images/enabled.png diff --git a/lib/plugins/extension/images/license.txt b/lib/plugins/extension/images/license.txt index 254b9cdf6..44e176ac9 100644 --- a/lib/plugins/extension/images/license.txt +++ b/lib/plugins/extension/images/license.txt @@ -1,4 +1,4 @@ -enabled.png - CC-BY-ND, (c) Emey87 http://www.iconfinder.com/icondetails/65590/48/lightbulb_icon -disabled.png - CC-BY-ND, (c) Emey87 http://www.iconfinder.com/icondetails/65589/48/idea_lightbulb_off_icon +enabled.png - CC0, (c) Tanguy Ortolo +disabled.png - public domain, (c) Tango Desktop Project http://commons.wikimedia.org/wiki/File:Dialog-information.svg plugin.png - public domain, (c) nicubunu, http://openclipart.org/detail/15093/blue-jigsaw-piece-07-by-nicubunu template.png - public domain, (c) mathec, http://openclipart.org/detail/166596/palette-by-mathec diff --git a/lib/plugins/extension/lang/cs/intro_install.txt b/lib/plugins/extension/lang/cs/intro_install.txt new file mode 100644 index 000000000..b274959b9 --- /dev/null +++ b/lib/plugins/extension/lang/cs/intro_install.txt @@ -0,0 +1 @@ +Zde můžete ručně instalovat zásuvné moduly a šablony vzhledu, buď nahráním, nebo zadáním přímé URL pro stažení.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/cs/lang.php b/lib/plugins/extension/lang/cs/lang.php new file mode 100644 index 000000000..27b3a94a3 --- /dev/null +++ b/lib/plugins/extension/lang/cs/lang.php @@ -0,0 +1,57 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Viktor Zavadil <vzavadil@newps.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> + */ +$lang['menu'] = 'Manager rozšíření'; +$lang['tab_plugins'] = 'Instalované moduly'; +$lang['tab_templates'] = 'Instalované šablony'; +$lang['tab_search'] = 'Vyhledej a instaluj'; +$lang['tab_install'] = 'Ruční instalování'; +$lang['notimplemented'] = 'Tato vychytávka není dosud implementována'; +$lang['notinstalled'] = 'Toto rozšíření není instalováno'; +$lang['alreadyenabled'] = 'Toto rozšíření je již povoleno'; +$lang['alreadydisabled'] = 'Toto rozšíření je již vypnuto'; +$lang['unknownauthor'] = 'Neznámý autor'; +$lang['unknownversion'] = 'Neznámá verze'; +$lang['btn_info'] = 'Zobrazit více informací'; +$lang['btn_update'] = 'Aktualizovat'; +$lang['btn_uninstall'] = 'Odinstalovat'; +$lang['btn_enable'] = 'Povolit'; +$lang['btn_disable'] = 'Zakázat'; +$lang['btn_install'] = 'Instalovat'; +$lang['btn_reinstall'] = 'Přeinstalovat'; +$lang['js']['reallydel'] = 'Opravdu odinstalovat toto rozšíření?'; +$lang['search_for'] = 'Hledat rozšíření:'; +$lang['search'] = 'Hledat'; +$lang['popularity'] = 'Popularita: %s%%'; +$lang['homepage_link'] = 'Dokumenty'; +$lang['bugs_features'] = 'Chyby'; +$lang['tags'] = 'Štítky:'; +$lang['author_hint'] = 'Vyhledat rozšíření podle tohoto autora'; +$lang['installed'] = 'Nainstalováno:'; +$lang['repository'] = 'Repozitář:'; +$lang['unknown'] = '<em>neznámý</em>'; +$lang['installed_version'] = 'Nainstalovaná verze:'; +$lang['install_date'] = 'Poslední aktualizace'; +$lang['available_version'] = 'Dostupná verze:'; +$lang['compatible'] = 'Kompatibilní s:'; +$lang['depends'] = 'Závisí na:'; +$lang['similar'] = 'Podobný jako:'; +$lang['donate'] = 'Líbí se ti to?'; +$lang['donate_action'] = 'Kup autorovi kávu!'; +$lang['repo_retry'] = 'Opakovat'; +$lang['provides'] = 'Poskytuje:'; +$lang['status'] = 'Stav:'; +$lang['status_installed'] = 'instalovaný'; +$lang['status_not_installed'] = 'nenainstalovaný'; +$lang['status_protected'] = 'chráněný'; +$lang['status_enabled'] = 'povolený'; +$lang['status_disabled'] = 'zakázaný'; +$lang['status_unmodifiable'] = 'neměnný'; +$lang['status_plugin'] = 'zásuvný modul'; +$lang['status_template'] = 'šablona'; +$lang['msg_delete_success'] = 'Rozšíření odinstalováno'; diff --git a/lib/plugins/extension/lang/de/lang.php b/lib/plugins/extension/lang/de/lang.php index 8068ce830..ce5495e24 100644 --- a/lib/plugins/extension/lang/de/lang.php +++ b/lib/plugins/extension/lang/de/lang.php @@ -6,6 +6,8 @@ * @author H. Richard <wanderer379@t-online.de> * @author Joerg <scooter22@gmx.de> * @author Simon <st103267@stud.uni-stuttgart.de> + * @author Hoisl <hoisl@gmx.at> + * @author Dominik Mahr <drache.mahr@gmx.de> */ $lang['menu'] = 'Erweiterungen verwalten'; $lang['tab_plugins'] = 'Installierte Plugins'; @@ -74,6 +76,7 @@ $lang['security_issue'] = '<strong>Sicherheitsproblem:</strong> %s'; $lang['security_warning'] = '<strong>Sicherheitswarnung:</strong> %s'; $lang['update_available'] = '<strong>Update:</strong> Version %s steht zum Download bereit.'; $lang['wrong_folder'] = '<strong>Plugin wurde nicht korrekt installiert:</strong> Benennen Sie das Plugin-Verzeichnis "%s" in "%s" um.'; +$lang['url_change'] = '<strong>URL geändert:</strong> Die Download URL wurde seit dem letzten Download geändert. Internetadresse vor Aktualisierung der Erweiterung auf Gültigkeit prüfen.<br />Neu: %s<br />Alt: %s'; $lang['error_badurl'] = 'URLs sollten mit http oder https beginnen'; $lang['error_dircreate'] = 'Temporären Ordner konnte nicht erstellt werden, um Download zu empfangen'; $lang['error_download'] = 'Download der Datei: %s nicht möglich.'; @@ -83,6 +86,7 @@ $lang['error_copy'] = 'Beim Versuch Dateien in den Ordner <em>%s</em> $lang['noperms'] = 'Das Erweiterungs-Verzeichnis ist schreibgeschützt'; $lang['notplperms'] = 'Das Template-Verzeichnis ist schreibgeschützt'; $lang['nopluginperms'] = 'Das Plugin-Verzeichnis ist schreibgeschützt'; -$lang['git'] = 'Diese Erweiterung wurde über git installiert, daher kann diese nicht hier aktualisiert werden.'; +$lang['git'] = 'Diese Erweiterung wurde über git installiert und sollte daher nicht hier aktualisiert werden.'; $lang['install_url'] = 'Von Webadresse (URL) installieren'; $lang['install_upload'] = 'Erweiterung hochladen:'; +$lang['repo_error'] = 'Es konnte keine Verbindung zum Plugin-Verzeichnis hergestellt werden. Stellen sie sicher das der Server Verbindung mit www.dokuwiki.org aufnehmen darf und überprüfen sie ihre Proxy Einstellungen.'; diff --git a/lib/plugins/extension/lang/en/lang.php b/lib/plugins/extension/lang/en/lang.php index 5224f694a..72c9b9e2d 100644 --- a/lib/plugins/extension/lang/en/lang.php +++ b/lib/plugins/extension/lang/en/lang.php @@ -96,4 +96,6 @@ $lang['nopluginperms'] = 'Plugin directory is not writable'; $lang['git'] = 'This extension was installed via git, you may not want to update it here.'; $lang['install_url'] = 'Install from URL:'; -$lang['install_upload'] = 'Upload Extension:';
\ No newline at end of file +$lang['install_upload'] = 'Upload Extension:'; + +$lang['repo_error'] = 'The plugin repository could not be contacted. Make sure your server is allowed to contact www.dokuwiki.org and check your proxy settings.';
\ No newline at end of file diff --git a/lib/plugins/extension/lang/es/intro_install.txt b/lib/plugins/extension/lang/es/intro_install.txt new file mode 100644 index 000000000..533396b27 --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_install.txt @@ -0,0 +1 @@ +Aquí se puede instalar manualmente los plugins y las plantillas, ya sea cargándolos o dando una URL de descarga directa.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/es/intro_templates.txt b/lib/plugins/extension/lang/es/intro_templates.txt new file mode 100644 index 000000000..4ede9a1a9 --- /dev/null +++ b/lib/plugins/extension/lang/es/intro_templates.txt @@ -0,0 +1 @@ +Estas son las plantillas actualmente instalados en su DokuWiki. Puede seleccionar la plantilla que se utilizará en [[?do=admin&page=config|Configuration Manager]]
\ No newline at end of file diff --git a/lib/plugins/extension/lang/es/lang.php b/lib/plugins/extension/lang/es/lang.php new file mode 100644 index 000000000..63742c3b3 --- /dev/null +++ b/lib/plugins/extension/lang/es/lang.php @@ -0,0 +1,84 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Jonathan Hernández <me@jhalicea.com> + */ +$lang['menu'] = 'Administrador de Extensiones '; +$lang['tab_plugins'] = 'Plugins instalados'; +$lang['tab_templates'] = 'Plantillas instaladas'; +$lang['tab_search'] = 'Buscar e instalar'; +$lang['tab_install'] = 'Instalación manual'; +$lang['notimplemented'] = 'Esta característica no se ha implementado aún'; +$lang['notinstalled'] = 'Esta expensión no está instalada'; +$lang['alreadyenabled'] = 'Esta extensión ya había sido activada'; +$lang['alreadydisabled'] = 'Esta extensión ya había sido desactivada'; +$lang['pluginlistsaveerror'] = 'Se ha producido un error al guardar la lista de plugins'; +$lang['unknownauthor'] = 'autor desconocido'; +$lang['unknownversion'] = 'versión desconocida'; +$lang['btn_info'] = 'Mostrar más información'; +$lang['btn_update'] = 'Actualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Activar'; +$lang['btn_disable'] = 'Desactivar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Reinstalar'; +$lang['js']['reallydel'] = '¿Realmente quiere desinstalar esta extensión?'; +$lang['search_for'] = 'Extensión de búsqueda :'; +$lang['search'] = 'Buscar'; +$lang['extensionby'] = '<strong>%s</strong> por %s'; +$lang['screenshot'] = 'Captura de %s'; +$lang['popularity'] = 'Popularidad:%s%%'; +$lang['homepage_link'] = 'Documentos'; +$lang['bugs_features'] = 'Bugs'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Buscar extensiones de este autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL de descarga:'; +$lang['repository'] = 'Repositorio:'; +$lang['unknown'] = '<em>desconocido</em>'; +$lang['installed_version'] = 'Versión instalada:'; +$lang['install_date'] = 'Tú última actualización:'; +$lang['available_version'] = 'Versión disponible:'; +$lang['compatible'] = 'Compatible con:'; +$lang['depends'] = 'Dependencias:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Conflictos con:'; +$lang['donate'] = '¿Cómo está?'; +$lang['donate_action'] = '¡Págale un café al autor!'; +$lang['repo_retry'] = 'Trate otra vez'; +$lang['provides'] = 'Provee: '; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'no instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'activado'; +$lang['status_disabled'] = 'desactivado'; +$lang['status_unmodifiable'] = 'no modificable'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'plantilla'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Plugin %s activado'; +$lang['msg_disabled'] = 'Plugin %s desactivado'; +$lang['msg_delete_success'] = 'Extensión desinstalada'; +$lang['msg_template_install_success'] = 'Plantilla %s instalada con éxito'; +$lang['msg_template_update_success'] = 'Plantilla %s actualizada con éxito'; +$lang['msg_plugin_install_success'] = 'Plugin %s instalado con éxito'; +$lang['msg_plugin_update_success'] = 'Plugin %s actualizado con éxito'; +$lang['msg_upload_failed'] = 'Falló la carga del archivo'; +$lang['missing_dependency'] = '<strong>Dependencia deshabilitada o perdida:</strong> %s'; +$lang['security_issue'] = '<strong>Problema de seguridad:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso de seguridad:</strong> %s'; +$lang['update_available'] = '<strong>Actualizar:</strong> Nueva versión %s disponible.'; +$lang['wrong_folder'] = '<strong>"Plugin" instalado incorrectamente:</strong> Cambie el nombre del directorio del plugin "%s" a "%s".'; +$lang['url_change'] = '<strong>URL actualizada:</strong> El Download URL ha cambiado desde el último download. Verifica si el nuevo URL es valido antes de actualizar la extensión .<br />Nuevo: %s<br />Viejo: %s'; +$lang['error_badurl'] = 'URLs deberían empezar con http o https'; +$lang['error_dircreate'] = 'No es posible de crear un directorio temporero para poder recibir el download'; +$lang['error_download'] = 'No es posible descargar el documento: %s'; +$lang['git'] = 'Esta extensión fue instalada a través de git, quizás usted no quiera actualizarla aquí mismo.'; +$lang['install_url'] = 'Instalar desde URL:'; +$lang['install_upload'] = 'Subir Extensión:'; +$lang['repo_error'] = 'El repositorio de plugins no puede ser contactado. Asegúrese que su servidor pueda contactar www.dokuwiki.org y verificar la configuración de su proxy.'; diff --git a/lib/plugins/extension/lang/fa/lang.php b/lib/plugins/extension/lang/fa/lang.php new file mode 100644 index 000000000..95c3e9652 --- /dev/null +++ b/lib/plugins/extension/lang/fa/lang.php @@ -0,0 +1,40 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> + */ +$lang['menu'] = 'مدیریت افزونه ها'; +$lang['tab_plugins'] = 'پلاگین های نصب شده'; +$lang['tab_templates'] = 'قالب های نصب شده'; +$lang['tab_search'] = 'جستجو و نصب'; +$lang['tab_install'] = 'نصب دستی'; +$lang['notinstalled'] = 'این افزونه نصب نشده است'; +$lang['alreadyenabled'] = 'این افزونه فعال شده است'; +$lang['alreadydisabled'] = 'این افزونه غیرفعال شده است'; +$lang['unknownversion'] = 'نسخه ناشناخته'; +$lang['btn_info'] = 'نمایش اطلاعات بیشتر'; +$lang['btn_update'] = 'به روز رسانی'; +$lang['btn_enable'] = 'فعال'; +$lang['btn_disable'] = 'غیرفعال'; +$lang['btn_install'] = 'نصب'; +$lang['btn_reinstall'] = 'نصب مجدد'; +$lang['search_for'] = 'جستجوی افزونه:'; +$lang['search'] = 'جستجو'; +$lang['tags'] = 'برچسب ها:'; +$lang['installed_version'] = 'نسخه نصب شده:'; +$lang['available_version'] = 'نسخه در دسترس:'; +$lang['repo_retry'] = 'دوباره'; +$lang['status'] = 'وضعیت'; +$lang['status_installed'] = 'نصب شده'; +$lang['status_not_installed'] = 'نصب نشده'; +$lang['status_enabled'] = 'فعال'; +$lang['status_disabled'] = 'غیرفعال'; +$lang['status_plugin'] = 'پلاگین'; +$lang['status_template'] = 'قالب'; +$lang['noperms'] = 'پوشه افزونه ها قابل نوشتن نیست'; +$lang['notplperms'] = 'پوشه قالب ها قابل نوشتن نیست'; +$lang['nopluginperms'] = 'پوشه پلاگین ها قابل نوشتن نیست'; +$lang['install_url'] = 'نصب از آدرس:'; +$lang['install_upload'] = 'بارگذاری افزونه:'; diff --git a/lib/plugins/extension/lang/fr/intro_install.txt b/lib/plugins/extension/lang/fr/intro_install.txt index 6f68a2606..5d287b818 100644 --- a/lib/plugins/extension/lang/fr/intro_install.txt +++ b/lib/plugins/extension/lang/fr/intro_install.txt @@ -1 +1 @@ -Ici, vous pouvez installer des extensions, greffons et modèles. Soit en les téléversant, soit en indiquant un URL de téléchargement.
\ No newline at end of file +Ici, vous pouvez installer des extensions, greffons et thèmes. Soit en les téléversant, soit en indiquant un URL de téléchargement.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/intro_templates.txt b/lib/plugins/extension/lang/fr/intro_templates.txt index fefdb5538..a0a1336ea 100644 --- a/lib/plugins/extension/lang/fr/intro_templates.txt +++ b/lib/plugins/extension/lang/fr/intro_templates.txt @@ -1 +1 @@ -Voici la liste des modèles actuellement installés. Le [[?do=admin&page=config|gestionnaire de configuration]] vous permet de choisir le modèle à utiliser.
\ No newline at end of file +Voici la liste des thèmes actuellement installés. Le [[?do=admin&page=config|gestionnaire de configuration]] vous permet de choisir le thème à utiliser.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/fr/lang.php b/lib/plugins/extension/lang/fr/lang.php index c2dae0fc9..88234efd0 100644 --- a/lib/plugins/extension/lang/fr/lang.php +++ b/lib/plugins/extension/lang/fr/lang.php @@ -7,7 +7,7 @@ */ $lang['menu'] = 'Gestionnaire d\'extension'; $lang['tab_plugins'] = 'Greffons installés'; -$lang['tab_templates'] = 'Modèles installés'; +$lang['tab_templates'] = 'Thèmes installés'; $lang['tab_search'] = 'Rechercher et installer'; $lang['tab_install'] = 'Installation manuelle'; $lang['notimplemented'] = 'Cette fonctionnalité n\'est pas encore installée'; @@ -57,13 +57,13 @@ $lang['status_enabled'] = 'activé'; $lang['status_disabled'] = 'désactivé'; $lang['status_unmodifiable'] = 'non modifiable'; $lang['status_plugin'] = 'greffon'; -$lang['status_template'] = 'modèle'; +$lang['status_template'] = 'thème'; $lang['status_bundled'] = 'fourni'; $lang['msg_enabled'] = 'Greffon %s activé'; $lang['msg_disabled'] = 'Greffon %s désactivé'; $lang['msg_delete_success'] = 'Extension désinstallée'; -$lang['msg_template_install_success'] = 'Modèle %s installée avec succès'; -$lang['msg_template_update_success'] = 'Modèle %s mis à jour avec succès'; +$lang['msg_template_install_success'] = 'Thème %s installée avec succès'; +$lang['msg_template_update_success'] = 'Thème %s mis à jour avec succès'; $lang['msg_plugin_install_success'] = 'Greffon %s installé avec succès'; $lang['msg_plugin_update_success'] = 'Greffon %s mis à jour avec succès'; $lang['msg_upload_failed'] = 'Téléversement échoué'; @@ -80,8 +80,9 @@ $lang['error_decompress'] = 'Impossible de décompresser le fichier téléc $lang['error_findfolder'] = 'Impossible d\'idnetifier le dossier de l\'extension. vous devez procéder à une installation manuelle.'; $lang['error_copy'] = 'Une erreur de copie de fichier s\'est produite lors de l\'installation des fichiers dans le dossier <em>%s</em>. Il se peut que le disque soit plein, ou que les permissions d\'accès aux fichiers soient incorrectes. Il est possible que le greffon soit partiellement installé et que cela laisse votre installation de DoluWiki instable.'; $lang['noperms'] = 'Impossible d\'écrire dans le dossier des extensions.'; -$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des modèles.'; +$lang['notplperms'] = 'Impossible d\'écrire dans le dossier des thèmes.'; $lang['nopluginperms'] = 'Impossible d\'écrire dans le dossier des greffons.'; $lang['git'] = 'Cette extension a été installé via git, vous voudrez peut-être ne pas la mettre à jour ici.'; $lang['install_url'] = 'Installez depuis l\'URL :'; $lang['install_upload'] = 'Téléversez l\'extension :'; +$lang['repo_error'] = 'L\'entrepôt d\'extensions est injoignable. Veuillez vous assurer que le server web est autorisé à contacter www.dokuwiki.org et vérifier les réglages de proxy.'; diff --git a/lib/plugins/extension/lang/hr/intro_install.txt b/lib/plugins/extension/lang/hr/intro_install.txt new file mode 100644 index 000000000..fc2d22f52 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_install.txt @@ -0,0 +1 @@ +Ovdje možete ručno instalirati dodatak (plugin) i predložak (template) bilo učitavanjem ili specificiranjem URL-a za direktno učitavanje.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_plugins.txt b/lib/plugins/extension/lang/hr/intro_plugins.txt new file mode 100644 index 000000000..fdc629d62 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_plugins.txt @@ -0,0 +1 @@ +Ovo su dodaci (plugin) trenutno instalirani na Vašem DokuWiku-u. Možete ih omogućiti, onemogućiti ili u potpunosti deinstalirati. Nadogradnje dodataka su također prikazane, obavezno pročitajte dokumentaciju dodatka prije nadogradnje.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_search.txt b/lib/plugins/extension/lang/hr/intro_search.txt new file mode 100644 index 000000000..93bf4b000 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_search.txt @@ -0,0 +1 @@ +Ovaj tab vam pruža pristup dostupnim dodatcima i predlošcima za DokuWiki od treće strane. Molimo budite svjesni da instaliranje koda od treće strane može biti **sigurnosni rizik**, možda želite prvo pročitati o [[doku>security#plugin_security|sigurnosti dodataka]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/intro_templates.txt b/lib/plugins/extension/lang/hr/intro_templates.txt new file mode 100644 index 000000000..968906cf9 --- /dev/null +++ b/lib/plugins/extension/lang/hr/intro_templates.txt @@ -0,0 +1 @@ +Ovo su predlošci trenutno instalirani na Vašem DokuWiki-u. Možete odabrati koji se predložak koristi na [[?do=admin&page=config|Upravitelju postavki]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hr/lang.php b/lib/plugins/extension/lang/hr/lang.php new file mode 100644 index 000000000..4905fe864 --- /dev/null +++ b/lib/plugins/extension/lang/hr/lang.php @@ -0,0 +1,88 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['menu'] = 'Upravitelj dodataka'; +$lang['tab_plugins'] = 'Instalirani dodatci'; +$lang['tab_templates'] = 'Instalirani predlošci'; +$lang['tab_search'] = 'Potraži i instaliraj'; +$lang['tab_install'] = 'Ručno instaliranje'; +$lang['notimplemented'] = 'Ova mogućnost još nije napravljena'; +$lang['notinstalled'] = 'Dodatak nije instaliran'; +$lang['alreadyenabled'] = 'Ovaj dodatak je već omogućen'; +$lang['alreadydisabled'] = 'Ovaj dodatak je već onemogućen'; +$lang['pluginlistsaveerror'] = 'Dogodila se greška pri snimanju liste dodataka'; +$lang['unknownauthor'] = 'Nepoznat autor'; +$lang['unknownversion'] = 'Nepoznata inačica'; +$lang['btn_info'] = 'Prikaži više informacija'; +$lang['btn_update'] = 'Dopuni'; +$lang['btn_uninstall'] = 'Ukloni'; +$lang['btn_enable'] = 'Omogući'; +$lang['btn_disable'] = 'Onemogući'; +$lang['btn_install'] = 'Postavi'; +$lang['btn_reinstall'] = 'Ponovno postavi'; +$lang['js']['reallydel'] = 'Zaista ukloniti ovo proširenje?'; +$lang['search_for'] = 'Pretraži proširenja'; +$lang['search'] = 'Pretraži'; +$lang['extensionby'] = '<strong>%s</strong> po %s'; +$lang['screenshot'] = 'Slika zaslona od %s'; +$lang['popularity'] = 'Popularnost: %s%%'; +$lang['homepage_link'] = 'Upute'; +$lang['bugs_features'] = 'Greške'; +$lang['tags'] = 'Oznake:'; +$lang['author_hint'] = 'Potraži dodatke od ovog autora'; +$lang['installed'] = 'Postavljeno:'; +$lang['downloadurl'] = 'URL adresa preuzimanja:'; +$lang['repository'] = 'Repozitorij:'; +$lang['unknown'] = '<em>nepoznat</em>'; +$lang['installed_version'] = 'Postavljena inačica:'; +$lang['install_date'] = 'Vaše zadnje osvježavanje:'; +$lang['available_version'] = 'Dostupna inačica'; +$lang['compatible'] = 'Kompatibilan s:'; +$lang['depends'] = 'Zavisi o:'; +$lang['similar'] = 'Sličan s:'; +$lang['conflicts'] = 'U sukobu s:'; +$lang['donate'] = 'Poput ovog?'; +$lang['donate_action'] = 'Kupite autoru kavu!'; +$lang['repo_retry'] = 'Ponovi'; +$lang['provides'] = 'Osigurava:'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'ugrađen'; +$lang['status_not_installed'] = 'nije ugrađen'; +$lang['status_protected'] = 'zaštićen'; +$lang['status_enabled'] = 'omogućen'; +$lang['status_disabled'] = 'onemogućen'; +$lang['status_unmodifiable'] = 'neizmjenjiv'; +$lang['status_plugin'] = 'dodatak'; +$lang['status_template'] = 'predložak'; +$lang['status_bundled'] = 'ugrađen'; +$lang['msg_enabled'] = 'Dodatak %s omogućen'; +$lang['msg_disabled'] = 'Dodatak %s onemogućen'; +$lang['msg_delete_success'] = 'Proširenje uklonjeno'; +$lang['msg_template_install_success'] = 'Predložak %s uspješno ugrađen'; +$lang['msg_template_update_success'] = 'Predložak %s uspješno nadograđen'; +$lang['msg_plugin_install_success'] = 'Dodatak %s uspješno ugrađen'; +$lang['msg_plugin_update_success'] = 'Dodatak %s uspješno nadograđen'; +$lang['msg_upload_failed'] = 'Učitavanje datoteke nije uspjelo'; +$lang['missing_dependency'] = '<strong>Nedostaje ili onemogućena zavisnost:</strong> %s'; +$lang['security_issue'] = '<strong>Sigurnosno pitanje:</strong> %s'; +$lang['security_warning'] = '<strong>Sigurnosno upozorenje:</strong> %s'; +$lang['update_available'] = '<strong>Nadogranja:</strong> Nova inačica %s je dostupna.'; +$lang['wrong_folder'] = '<strong>Dodatak neispravno ugrađen:</strong> Preimenujte mapu dodatka iz "%s" u "%s".'; +$lang['url_change'] = '<strong>URL izmijenjen:</strong> Adresa za preuzimanje je promijenjena od zadnjeg preuzimanja. Provjerite da li je novu URL valjan prije nadogradnje proširenja.<br />Novi: %s<br />Stari: %s'; +$lang['error_badurl'] = 'URL adrese trebaju započinjati sa http ili https'; +$lang['error_dircreate'] = 'Ne mogu napraviti privremenu mapu za prihvat preuzimanja'; +$lang['error_download'] = 'Ne mogu preuzeti datoteku: %s'; +$lang['error_decompress'] = 'Ne mogu raspakirati preuzetu datoteku. To može biti rezultati lošeg preuzimanja i tada treba pokušati ponovo; ili format sažimanja je nepoznat i u tom slučaju treba datoteku ručno preuzeti i ugraditi.'; +$lang['error_findfolder'] = 'Ne mogu odrediti mapu proširenja, trebate ga ručno preuzeti i ugraditi'; +$lang['error_copy'] = 'Dogodila se greška pri kopiranju dok je pokušavanja ugradnja datoteka u mapu <em>%s</em>: disk može biti pun ili dozvole pristupa nisu dobre. Ovo može rezultirati djelomično ugrađenim dodatkom i može učiniti Vaš wiki nestabilnim'; +$lang['noperms'] = 'Nije moguće pisati u mapu proširanja'; +$lang['notplperms'] = 'Nije moguće pisati u mapu predloška'; +$lang['nopluginperms'] = 'Nije moguće pisati u mapu dodatka'; +$lang['git'] = 'Proširenje je ugrađeno preko Git-a, možda ga ne želite nadograđivati ovdje.'; +$lang['install_url'] = 'Ugradi s URL-a:'; +$lang['install_upload'] = 'Učitaj proširenje:'; +$lang['repo_error'] = 'Repozitorij dodataka nije dostupan. Budite sigurni da server može pristupiti www.dokuwiki.org i provjerite proxy postavke.'; diff --git a/lib/plugins/extension/lang/hu/intro_install.txt b/lib/plugins/extension/lang/hu/intro_install.txt new file mode 100644 index 000000000..8427e7dc6 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_install.txt @@ -0,0 +1 @@ +Itt új modulokat és sablonokat telepíthetsz feltöltéssel vagy a csomagra hivatkozó URL megadásával.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_plugins.txt b/lib/plugins/extension/lang/hu/intro_plugins.txt new file mode 100644 index 000000000..8a3e92ddb --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_plugins.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített modulok az alábbiak. Engedélyezheted, letilthatod vagy teljesen le is törölheted ezeket. A modulokhoz tartozó frissítések is itt láthatók, viszont frissítés előtt mindenképp olvasd el az utasításokat a modul dokumentációjában is!
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_search.txt b/lib/plugins/extension/lang/hu/intro_search.txt new file mode 100644 index 000000000..87a2a5d64 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_search.txt @@ -0,0 +1 @@ +Ezen a fülön harmadik fél által készített modulokat és sablonokat találsz a DokuWiki-hez. Ne feledd, hogy a harmadik féltől származó kódok **biztonsági kockázatot** jelenthetnek, ennek a [[doku>security#plugin_security|modulok biztonsága]] oldalon olvashatsz utána a telepítés előtt.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/intro_templates.txt b/lib/plugins/extension/lang/hu/intro_templates.txt new file mode 100644 index 000000000..c0ad92b35 --- /dev/null +++ b/lib/plugins/extension/lang/hu/intro_templates.txt @@ -0,0 +1 @@ +A DokuWiki rendszerben telepített sablonok az alábbiak. A használt sablont a [[?do=admin&page=config|Beállítóközpontban]] választhatod ki.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/hu/lang.php b/lib/plugins/extension/lang/hu/lang.php new file mode 100644 index 000000000..a27b5a307 --- /dev/null +++ b/lib/plugins/extension/lang/hu/lang.php @@ -0,0 +1,88 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Marton Sebok <sebokmarton@gmail.com> + */ +$lang['menu'] = 'Bővítménykezelő'; +$lang['tab_plugins'] = 'Telepített modulok'; +$lang['tab_templates'] = 'Telepített sablonok'; +$lang['tab_search'] = 'Keresés és telepítés'; +$lang['tab_install'] = 'Kézi telepítés'; +$lang['notimplemented'] = 'Ez a funkció még nincs implementálva'; +$lang['notinstalled'] = 'Ez a bővítmény nincs telepítve'; +$lang['alreadyenabled'] = 'Ez a bővítmény már engedélyezve van'; +$lang['alreadydisabled'] = 'Ez a bővítmény már le van tiltva'; +$lang['pluginlistsaveerror'] = 'Hiba történt a modulok listájának mentésekor'; +$lang['unknownauthor'] = 'Ismeretlen szerző'; +$lang['unknownversion'] = 'Ismeretlen verzió'; +$lang['btn_info'] = 'További információk megjelenítése'; +$lang['btn_update'] = 'Frissítés'; +$lang['btn_uninstall'] = 'Törlés'; +$lang['btn_enable'] = 'Engedélyezés'; +$lang['btn_disable'] = 'Letiltás'; +$lang['btn_install'] = 'Telepítés'; +$lang['btn_reinstall'] = 'Újratelepítés'; +$lang['js']['reallydel'] = 'Biztosan törlöd ezt a bővítményt?'; +$lang['search_for'] = 'Bővítmények keresése:'; +$lang['search'] = 'Keresés'; +$lang['extensionby'] = '<strong>%s</strong>, %s szerzőtől'; +$lang['screenshot'] = '%s képernyőképe'; +$lang['popularity'] = 'Népszerűség: %s%%'; +$lang['homepage_link'] = 'Dokumentáció'; +$lang['bugs_features'] = 'Hibák'; +$lang['tags'] = 'Címkék:'; +$lang['author_hint'] = 'Bővítmények keresése ettől a szerzőtől'; +$lang['installed'] = 'Telepítve:'; +$lang['downloadurl'] = 'Csomag URL:'; +$lang['repository'] = 'Repository:'; +$lang['unknown'] = '<em>ismeretlen</em>'; +$lang['installed_version'] = 'Telepített verzió:'; +$lang['install_date'] = 'Utoljára frissítve:'; +$lang['available_version'] = 'Elérhető verzió:'; +$lang['compatible'] = 'Kompatibilis rendszerek:'; +$lang['depends'] = 'Függőségek:'; +$lang['similar'] = 'Hasonló bővítmények:'; +$lang['conflicts'] = 'Ütközést okozó bővítmények:'; +$lang['donate'] = 'Tetszik?'; +$lang['donate_action'] = 'Hívd meg a szerzőjét egy kávéra!'; +$lang['repo_retry'] = 'Újra'; +$lang['provides'] = 'Szolgáltatások:'; +$lang['status'] = 'Állapot:'; +$lang['status_installed'] = 'telepítve'; +$lang['status_not_installed'] = 'nincs telepítve'; +$lang['status_protected'] = 'védett'; +$lang['status_enabled'] = 'engedélyezve'; +$lang['status_disabled'] = 'letiltva'; +$lang['status_unmodifiable'] = 'nem lehet módosítani'; +$lang['status_plugin'] = 'modul'; +$lang['status_template'] = 'sablon'; +$lang['status_bundled'] = 'beépített'; +$lang['msg_enabled'] = 'A(z) %s modul engedélyezve'; +$lang['msg_disabled'] = 'A(z) %s modul letiltva'; +$lang['msg_delete_success'] = 'A bővítmény törölve'; +$lang['msg_template_install_success'] = 'A(z) %s sablon sikeresen telepítve'; +$lang['msg_template_update_success'] = 'A(z) %s sablon sikeresen frissítve'; +$lang['msg_plugin_install_success'] = 'A(z) %s modul sikeresen telepítve'; +$lang['msg_plugin_update_success'] = 'A(z) %s modul sikeresen frissítve'; +$lang['msg_upload_failed'] = 'A fájl feltöltése sikertelen'; +$lang['missing_dependency'] = '<strong>Hiányzó vagy letiltott függőség:</strong> %s'; +$lang['security_issue'] = '<strong>Biztonsági probléma:</strong> %s'; +$lang['security_warning'] = '<strong>Biztonsági figyelmeztetés:</strong> %s'; +$lang['update_available'] = '<strong>Frissítés:</strong> Elérhető %s új verziója.'; +$lang['wrong_folder'] = '<strong>A modul telepítése sikertelen:</strong> Nevezd át a modul könyvtárát "%s" névről "%s" névre!'; +$lang['url_change'] = '<strong>Az URL megváltozott:</strong> A csomag URL-je megváltozott az utolsó letöltés óta. A bővítmény frissítése előtt ellenőrizd az új URL helyességét!<br />Új: %s<br />Régi: %s'; +$lang['error_badurl'] = 'Az URL-nek "http"-vel vagy "https"-sel kell kezdődnie'; +$lang['error_dircreate'] = 'A letöltéshez az ideiglenes könyvtár létrehozása sikertelen'; +$lang['error_download'] = 'A(z) %s fájl letöltése sikertelen'; +$lang['error_decompress'] = 'A letöltött fájlt nem lehet kicsomagolni. Ezt okozhatja a fájl sérülése (ebben az esetben próbáld újra letölteni) vagy egy ismeretlen tömörítési formátum használata (ilyenkor kézzel kell telepítened).'; +$lang['error_findfolder'] = 'A bővítményhez tartozó könyvtárat nem sikerült megállapítani, kézzel kell letöltened és telepítened'; +$lang['error_copy'] = 'Egy fájl másolása közben hiba történt a <em>%s</em> könyvtárban: lehet, hogy a lemez megtelt vagy nincsenek megfelelő írási jogaid. A telepítés megszakadása a modul hibás működését eredményezheti és instabil állapotba hozhatja a wikit'; +$lang['noperms'] = 'A bővítmény könyvtára nem írható'; +$lang['notplperms'] = 'A sablon könyvtára nem írható'; +$lang['nopluginperms'] = 'A modul könyvtára nem írható'; +$lang['git'] = 'Ezt a bővítményt git-tel telepítették, lehet, hogy nem itt célszerű frissíteni'; +$lang['install_url'] = 'Telepítés erről az URL-ről:'; +$lang['install_upload'] = 'Bővítmény feltöltése:'; +$lang['repo_error'] = 'A modul repository-ja nem érhető el. Bizonyosodj meg róla, hogy a szervereden engedélyezett a www.dokuwiki.org cím elérése és ellenőrizd a proxy beállításaidat!'; diff --git a/lib/plugins/extension/lang/it/lang.php b/lib/plugins/extension/lang/it/lang.php new file mode 100644 index 000000000..7dff6c5b2 --- /dev/null +++ b/lib/plugins/extension/lang/it/lang.php @@ -0,0 +1,43 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Fabio <fabioslurp@yahoo.it> + */ +$lang['btn_enable'] = 'Abilita'; +$lang['btn_disable'] = 'Disabilita'; +$lang['btn_install'] = 'Installa'; +$lang['btn_reinstall'] = 'Reinstalla'; +$lang['search'] = 'Cerca'; +$lang['homepage_link'] = 'Documenti'; +$lang['bugs_features'] = 'Bug'; +$lang['tags'] = 'Tag:'; +$lang['author_hint'] = 'Cerca estensioni per questo autore'; +$lang['installed'] = 'Installato:'; +$lang['downloadurl'] = 'URL download:'; +$lang['repository'] = 'Repository'; +$lang['installed_version'] = 'Versione installata'; +$lang['install_date'] = 'Il tuo ultimo aggiornamento:'; +$lang['available_version'] = 'Versione disponibile:'; +$lang['compatible'] = 'Compatibile con:'; +$lang['similar'] = 'Simile a:'; +$lang['donate'] = 'Simile a questo?'; +$lang['repo_retry'] = 'Riprova'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'installato'; +$lang['status_not_installed'] = 'non installato'; +$lang['status_protected'] = 'protetto'; +$lang['status_enabled'] = 'abilitato'; +$lang['status_disabled'] = 'disabilitato'; +$lang['status_unmodifiable'] = 'inmodificabile'; +$lang['status_plugin'] = 'plugin'; +$lang['status_template'] = 'modello'; +$lang['error_badurl'] = 'URLs deve iniziare con http o https'; +$lang['error_dircreate'] = 'Impossibile creare una cartella temporanea per ricevere il download'; +$lang['error_download'] = 'Impossibile scaricare il file: %s'; +$lang['noperms'] = 'La directory Extension non è scrivibile'; +$lang['notplperms'] = 'Il modello di cartella non è scrivibile'; +$lang['nopluginperms'] = 'La cartella plugin non è scrivibile'; +$lang['install_url'] = 'Installa da URL:'; diff --git a/lib/plugins/extension/lang/ja/intro_install.txt b/lib/plugins/extension/lang/ja/intro_install.txt index 889ed6879..9f99b8202 100644 --- a/lib/plugins/extension/lang/ja/intro_install.txt +++ b/lib/plugins/extension/lang/ja/intro_install.txt @@ -1 +1 @@ -ここでは、アップロードするかダウンロードURLを指定して、手動でプラグインやテンプレートをインストールできます。 +アップロードするかダウンロードURLを指定して、手動でプラグインやテンプレートをインストールできます。 diff --git a/lib/plugins/extension/lang/ja/intro_plugins.txt b/lib/plugins/extension/lang/ja/intro_plugins.txt index 9bfc68431..b8251c7e8 100644 --- a/lib/plugins/extension/lang/ja/intro_plugins.txt +++ b/lib/plugins/extension/lang/ja/intro_plugins.txt @@ -1 +1 @@ -このDokuWikiに現在インストールされているプラグインです。ここでは、これらプラグインを有効化、無効化、アンインストールすることができます。同様にプラグインのアップデートも表示されます。アップデート前に、プラグインのマニュアルをお読みください。
\ No newline at end of file +このDokuWikiに現在インストールされているプラグインです。これらプラグインを有効化、無効化、アンインストールできます。更新はできる場合のみ表示されます。更新前に、プラグインの解説をお読みください。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ja/intro_templates.txt b/lib/plugins/extension/lang/ja/intro_templates.txt index f97694aaa..5de6d2f0d 100644 --- a/lib/plugins/extension/lang/ja/intro_templates.txt +++ b/lib/plugins/extension/lang/ja/intro_templates.txt @@ -1 +1 @@ -このDokuWikiに現在インストールされているテンプレートです。[[?do=admin&page=config|設定管理]]で使用するテンプレートを選択できます。
\ No newline at end of file +このDokuWikiに現在インストールされているテンプレートです。使用するテンプレートは[[?do=admin&page=config|設定管理]]で選択できます。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ja/lang.php b/lib/plugins/extension/lang/ja/lang.php index 0401d7630..dec46d629 100644 --- a/lib/plugins/extension/lang/ja/lang.php +++ b/lib/plugins/extension/lang/ja/lang.php @@ -4,10 +4,12 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Hideaki SAWADA <chuno@live.jp> + * @author PzF_X <jp_minecraft@yahoo.co.jp> */ $lang['menu'] = '拡張機能管理'; $lang['tab_plugins'] = 'インストール済プラグイン'; $lang['tab_templates'] = 'インストール済テンプレート'; +$lang['tab_search'] = '検索とインストール'; $lang['tab_install'] = '手動インストール'; $lang['notimplemented'] = 'この機能は未実装です。'; $lang['notinstalled'] = 'この拡張機能はインストールされていません。'; @@ -17,21 +19,44 @@ $lang['pluginlistsaveerror'] = 'プラグイン一覧の保存中にエラー $lang['unknownauthor'] = '作者不明'; $lang['unknownversion'] = 'バージョン不明'; $lang['btn_info'] = '詳細情報を表示する。'; -$lang['btn_update'] = 'アップデート'; +$lang['btn_update'] = '更新'; $lang['btn_uninstall'] = 'アンインストール'; $lang['btn_enable'] = '有効化'; $lang['btn_disable'] = '無効化'; $lang['btn_install'] = 'インストール'; $lang['btn_reinstall'] = '再インストール'; $lang['js']['reallydel'] = 'この拡張機能を本当にアンインストールしますか?'; +$lang['search_for'] = '拡張機能の検索:'; +$lang['search'] = '検索'; +$lang['extensionby'] = '<strong>%s</strong> 作者: %s'; +$lang['screenshot'] = '%s のスクリーンショット'; +$lang['popularity'] = '利用状況:%s%%'; +$lang['homepage_link'] = '解説'; +$lang['bugs_features'] = 'バグ'; +$lang['tags'] = 'タグ:'; +$lang['author_hint'] = 'この作者で拡張機能を検索'; +$lang['installed'] = 'インストール済:'; $lang['downloadurl'] = 'ダウンロード URL:'; $lang['repository'] = 'リポジトリ:'; +$lang['unknown'] = '<em>不明</em>'; +$lang['installed_version'] = 'インストール済バージョン:'; +$lang['install_date'] = '最終更新日:'; +$lang['available_version'] = '利用可能バージョン:'; +$lang['compatible'] = '互換:'; $lang['depends'] = '依存:'; $lang['similar'] = '類似:'; +$lang['conflicts'] = '競合:'; +$lang['donate'] = 'お気に入り?'; +$lang['donate_action'] = '寄付先'; +$lang['repo_retry'] = '再実行'; +$lang['provides'] = '提供:'; +$lang['status'] = '状態:'; $lang['status_installed'] = 'インストール済'; $lang['status_not_installed'] = '未インストール'; +$lang['status_protected'] = '保護されています'; $lang['status_enabled'] = '有効'; $lang['status_disabled'] = '無効'; +$lang['status_unmodifiable'] = '編集不可'; $lang['status_plugin'] = 'プラグイン'; $lang['status_template'] = 'テンプレート'; $lang['status_bundled'] = '同梱'; @@ -39,16 +64,26 @@ $lang['msg_enabled'] = '%s プラグインを有効化しました。' $lang['msg_disabled'] = '%s プラグインを無効化しました。'; $lang['msg_delete_success'] = '拡張機能をアンインストールしました。'; $lang['msg_template_install_success'] = '%s テンプレートをインストールできました。'; -$lang['msg_template_update_success'] = '%s テンプレートをアップデートできました。'; +$lang['msg_template_update_success'] = '%s テンプレートを更新できました。'; $lang['msg_plugin_install_success'] = '%s プラグインをインストールできました。'; -$lang['msg_plugin_update_success'] = '%s プラグインをアップデートできました。'; +$lang['msg_plugin_update_success'] = '%s プラグインを更新できました。'; $lang['msg_upload_failed'] = 'ファイルのアップロードに失敗しました。'; +$lang['missing_dependency'] = '<strong>依存関係が欠落または無効:</strong> %s'; $lang['security_issue'] = '<strong>セキュリティ問題:</strong> %s'; $lang['security_warning'] = '<strong>セキュリティ警告:</strong> %s'; -$lang['update_available'] = '<strong>アップデート:</strong>%sの新バージョンが利用可能です。 '; +$lang['update_available'] = '<strong>更新:</strong> %sの新バージョンが利用可能です。'; +$lang['wrong_folder'] = '<strong>プラグインは正しくインストールされませんでした:</strong> プラグインのディレクトリを "%s" から "%s" へ変更して下さい。'; +$lang['url_change'] = '<strong>URL が変更されました:</strong> 最後にダウンロードした後、ダウンロード URL が変更されました。拡張機能のアップデート前に新 URL が正しいかを確認して下さい。<br />新:%s<br />旧:%s'; $lang['error_badurl'] = 'URLはhttpかhttpsで始まる必要があります。'; $lang['error_dircreate'] = 'ダウンロード用の一時フォルダが作成できません。'; $lang['error_download'] = 'ファイルをダウンロードできません:%s'; +$lang['error_decompress'] = 'ダウンロードしたファイルを解凍できません。ダウンロードの失敗の結果であれば、再度試して下さい。圧縮形式が不明の場合は、手動でダウンロード・インストールしてください。'; +$lang['error_findfolder'] = '拡張機能ディレクトリを認識できません。手動でダウンロード・インストールしてください。'; +$lang['error_copy'] = '<em>%s</em> ディレクトリのファイルをインストールしようとした時、ファイルコピーエラーが発生しました:ディスクがいっぱいかもしれませんし、ファイルのアクセス権が正しくないかもしれません。プラグインが一部分インストールされ、wiki が不安定になるかもしれません。'; $lang['noperms'] = '拡張機能ディレクトリが書き込み不可です。'; $lang['notplperms'] = 'テンプレートディレクトリが書き込み不可です。'; $lang['nopluginperms'] = 'プラグインディレクトリが書き込み不可です。'; +$lang['git'] = 'この拡張機能は Git 経由でインストールされており、ここで更新すべきでないかもしれません。'; +$lang['install_url'] = 'URL からインストール:'; +$lang['install_upload'] = '拡張機能をアップロード:'; +$lang['repo_error'] = 'プラグインのリポジトリに接続できません。サーバーが www.dokuwiki.org に接続できることやプロキシの設定を確認して下さい。'; diff --git a/lib/plugins/extension/lang/ko/intro_install.txt b/lib/plugins/extension/lang/ko/intro_install.txt new file mode 100644 index 000000000..269df29cc --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_install.txt @@ -0,0 +1 @@ +여기에 플러그인과 템플릿을 수동으로 올리거나 직접 다운로드 URL을 제공하여 수동으로 설치할 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_plugins.txt b/lib/plugins/extension/lang/ko/intro_plugins.txt new file mode 100644 index 000000000..9ac7a3d89 --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_plugins.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 플러그인입니다. 여기에서 플러그인을 활성화 또는 비활성화하거나 심지어 완전히 제거할 수 있습니다. 또한 플러그인 업데이트는 여기에 보여집니다. 업데이트하기 전에 플러그인의 설명문서를 읽으십시오.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_search.txt b/lib/plugins/extension/lang/ko/intro_search.txt new file mode 100644 index 000000000..b6760264e --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_search.txt @@ -0,0 +1 @@ +이 탭은 도쿠위키를 위한 사용할 수 있는 모든 타사 플러그인과 템플릿에 접근하도록 제공합니다. 타사 코드를 설치하면 **보안 위험에 노출**될 수 있음을 유의하십시오, 먼저 [[doku>security#plugin_security|플러그인 보안]]에 대해 읽을 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/intro_templates.txt b/lib/plugins/extension/lang/ko/intro_templates.txt new file mode 100644 index 000000000..d4320b880 --- /dev/null +++ b/lib/plugins/extension/lang/ko/intro_templates.txt @@ -0,0 +1 @@ +도쿠위키에 현재 설치된 템플릿입니다. [[?do=admin&page=config|환경 설정 관리자]]에서 사용하는 템플릿을 선택할 수 있습니다.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/ko/lang.php b/lib/plugins/extension/lang/ko/lang.php new file mode 100644 index 000000000..53c9b4481 --- /dev/null +++ b/lib/plugins/extension/lang/ko/lang.php @@ -0,0 +1,89 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Young gon Cha <garmede@gmail.com> + * @author Myeongjin <aranet100@gmail.com> + */ +$lang['menu'] = '확장 기능 관리자'; +$lang['tab_plugins'] = '설치된 플러그인'; +$lang['tab_templates'] = '설치된 템플릿'; +$lang['tab_search'] = '검색하고 설치'; +$lang['tab_install'] = '수동 설치'; +$lang['notimplemented'] = '이 기능은 아직 구현되지 않았습니다'; +$lang['notinstalled'] = '이 확장 기능은 설치되어 있지 않습니다'; +$lang['alreadyenabled'] = '이 확장 기능이 이미 활성화되어 있습니다'; +$lang['alreadydisabled'] = '이 확장 기능이 이미 비활성화되어 있습니다'; +$lang['pluginlistsaveerror'] = '플러그인 목록을 저장하는 중 오류가 있었습니다'; +$lang['unknownauthor'] = '알 수 없는 저자'; +$lang['unknownversion'] = '알 수 없는 버전'; +$lang['btn_info'] = '정보 더 보기'; +$lang['btn_update'] = '업데이트'; +$lang['btn_uninstall'] = '제거'; +$lang['btn_enable'] = '활성화'; +$lang['btn_disable'] = '비활성화'; +$lang['btn_install'] = '설치'; +$lang['btn_reinstall'] = '다시 설치'; +$lang['js']['reallydel'] = '정말 이 확장 기능을 제거하겠습니까?'; +$lang['search_for'] = '확장 기능 검색:'; +$lang['search'] = '검색'; +$lang['extensionby'] = '<strong>%s</strong> (저자 %s)'; +$lang['screenshot'] = '%s의 스크린샷'; +$lang['popularity'] = '인기: %s%%'; +$lang['homepage_link'] = '문서'; +$lang['bugs_features'] = '버그'; +$lang['tags'] = '태그:'; +$lang['author_hint'] = '이 저자로 확장 기능 검색'; +$lang['installed'] = '설치됨:'; +$lang['downloadurl'] = '다운로드 URL:'; +$lang['repository'] = '저장소:'; +$lang['unknown'] = '<em>알 수 없음</em>'; +$lang['installed_version'] = '설치된 버전:'; +$lang['install_date'] = '마지막 업데이트:'; +$lang['available_version'] = '가능한 버전:'; +$lang['compatible'] = '다음과의 호환성:'; +$lang['depends'] = '다음에 의존:'; +$lang['similar'] = '다음과 비슷:'; +$lang['conflicts'] = '다음과 충돌:'; +$lang['donate'] = '이것이 좋나요?'; +$lang['donate_action'] = '저자에게 커피를 사주세요!'; +$lang['repo_retry'] = '다시 시도'; +$lang['provides'] = '제공:'; +$lang['status'] = '상태:'; +$lang['status_installed'] = '설치됨'; +$lang['status_not_installed'] = '설치되지 않음'; +$lang['status_protected'] = '보호됨'; +$lang['status_enabled'] = '활성화됨'; +$lang['status_disabled'] = '비활성화됨'; +$lang['status_unmodifiable'] = '수정할 수 없음'; +$lang['status_plugin'] = '플러그인'; +$lang['status_template'] = '템플릿'; +$lang['status_bundled'] = '포함'; +$lang['msg_enabled'] = '%s 플러그인이 활성화되었습니다'; +$lang['msg_disabled'] = '%s 플러그인이 비활성화되었습니다'; +$lang['msg_delete_success'] = '확장 기능이 제거되었습니다'; +$lang['msg_template_install_success'] = '%s 템플릿을 성공적으로 설치했습니다'; +$lang['msg_template_update_success'] = '%s 템플릿을 성공적으로 업데이트했습니다'; +$lang['msg_plugin_install_success'] = '%s 플러그인을 성공적으로 설치했습니다'; +$lang['msg_plugin_update_success'] = '%s 플러그인을 성공적으로 업데이트했습니다'; +$lang['msg_upload_failed'] = '파일 올리기에 실패했습니다'; +$lang['missing_dependency'] = '<strong>의존성을 잃었거나 비활성화되어 있습니다:</strong> %s'; +$lang['security_issue'] = '<strong>보안 문제:</strong> %s'; +$lang['security_warning'] = '<strong>보안 경고:</strong> %s'; +$lang['update_available'] = '<strong>업데이트:</strong> 새 버전 %s(을)를 사용할 수 있습니다.'; +$lang['wrong_folder'] = '<strong>플러그인이 올바르지 않게 설치됨:</strong> 플러그인 디렉터리를 "%s"에서 "%s"로 이름을 바꾸세요.'; +$lang['url_change'] = '<strong>URL이 바뀜:</strong> 다운로드 URL이 최신 다운로드 이래로 바뀌었습니다. 확장 기능을 업데이트하기 전에 새 URL이 올바른지 확인하세요.<br />새 URL: %s<br />오래된 URL: %s'; +$lang['error_badurl'] = 'URL은 http나 https로 시작해야 합니다'; +$lang['error_dircreate'] = '다운로드를 받을 임시 폴더를 만들 수 없습니다'; +$lang['error_download'] = '파일을 다운로드할 수 없습니다: %s'; +$lang['error_decompress'] = '다운로드한 파일의 압축을 풀 수 없습니다. 이는 아마도 잘못된 다운로드의 결과로, 이럴 경우 다시 시도해야 합니다; 또는 압축 형식을 알 수 없으며, 이럴 경우 수동으로 다운로드하고 설치해야 합니다.'; +$lang['error_findfolder'] = '확장 기능 디렉터리를 식별할 수 없습니다, 수동으로 다운로드하고 설치해야 합니다'; +$lang['error_copy'] = '<em>%s</em> 디렉터리에 파일을 설치하는 동안 파일 복사 오류가 발생했습니다: 디스크가 꽉 찼거나 파일 접근 권한이 잘못되었을 수도 있습니다. 플러그인 설치가 부분적으로 되었거나 불안정하게 위키 설치가 되었을 수 있습니다.'; +$lang['noperms'] = '확장 기능 디렉터리에 쓸 수 없습니다'; +$lang['notplperms'] = '임시 디렉터리에 쓸 수 없습니다'; +$lang['nopluginperms'] = '플러그인 디렉터리에 쓸 수 없습니다'; +$lang['git'] = '이 확장 기능은 git을 통해 설치되었으며, 여기에서 업데이트할 수 없을 수 있습니다.'; +$lang['install_url'] = 'URL에서 설치:'; +$lang['install_upload'] = '확장 기능 올리기:'; +$lang['repo_error'] = '플러그인 저장소에 연결할 수 없습니다. 서버가 www.dokuwiki.org에 연결할 수 있는지 확인하고 프록시 설정을 확인하세요.'; diff --git a/lib/plugins/extension/lang/lv/intro_templates.txt b/lib/plugins/extension/lang/lv/intro_templates.txt new file mode 100644 index 000000000..1014c7c1e --- /dev/null +++ b/lib/plugins/extension/lang/lv/intro_templates.txt @@ -0,0 +1 @@ +DokuWiki ir instalēti šādi šabloni. Lietojamo šablonu var norādīt [[?do=admin&page=config|Konfigurācijas lapā]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/lv/lang.php b/lib/plugins/extension/lang/lv/lang.php new file mode 100644 index 000000000..e7e9bdfd9 --- /dev/null +++ b/lib/plugins/extension/lang/lv/lang.php @@ -0,0 +1,8 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Aivars Miška <allefm@gmail.com> + */ +$lang['msg_delete_success'] = 'Papildinājums atinstalēts'; diff --git a/lib/plugins/extension/lang/nl/intro_plugins.txt b/lib/plugins/extension/lang/nl/intro_plugins.txt index 0077aca30..e12bdf0f8 100644 --- a/lib/plugins/extension/lang/nl/intro_plugins.txt +++ b/lib/plugins/extension/lang/nl/intro_plugins.txt @@ -1 +1 @@ -Dit zijn de momenteel in uw Dokuwiki geïnstalleerde plugins. U kunt deze hier aan of uitschakelen danwel geheel deïnstalleren. Plugin updates zijn hier ook opgenomen, lees de pluin documentatie voordat u update.
\ No newline at end of file +Dit zijn de momenteel in uw Dokuwiki geïnstalleerde plugins. U kunt deze hier aan of uitschakelen danwel geheel deïnstalleren. Plugin updates zijn hier ook opgenomen, lees de plugin documentatie voordat u update.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/intro_search.txt b/lib/plugins/extension/lang/nl/intro_search.txt index 8fc3900ad..f0c8d7435 100644 --- a/lib/plugins/extension/lang/nl/intro_search.txt +++ b/lib/plugins/extension/lang/nl/intro_search.txt @@ -1 +1 @@ -Deze tab verschaft u toegang tot alle plugins en templates vervaardigd door derden en bestemd voor Dokuwiki. Houdt er rekening meel dat indien u Plugins van derden installeerd deze een **veiligheids risico ** kunnen bevatten, geadviseerd wordt om eerst te lezen [[doku>security#plugin_security|plugin security]].
\ No newline at end of file +Deze tab verschaft u toegang tot alle plugins en templates vervaardigd door derden en bestemd voor Dokuwiki. Houdt er rekening mee dat indien u Plugins van derden installeert deze een **veiligheids risico ** kunnen bevatten, geadviseerd wordt om eerst te lezen [[doku>security#plugin_security|plugin security]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/intro_templates.txt b/lib/plugins/extension/lang/nl/intro_templates.txt index 5ef23dadf..52c96cef7 100644 --- a/lib/plugins/extension/lang/nl/intro_templates.txt +++ b/lib/plugins/extension/lang/nl/intro_templates.txt @@ -1 +1 @@ -Deze templates zijn thans in DokuWiki geïnstalleerd. U kent een template selecteren middels [[?do=admin&page=config|Configuration Manager]] .
\ No newline at end of file +Deze templates zijn thans in DokuWiki geïnstalleerd. U kunt een template selecteren middels [[?do=admin&page=config|Configuration Manager]] .
\ No newline at end of file diff --git a/lib/plugins/extension/lang/nl/lang.php b/lib/plugins/extension/lang/nl/lang.php index 2983f9fee..a54924e93 100644 --- a/lib/plugins/extension/lang/nl/lang.php +++ b/lib/plugins/extension/lang/nl/lang.php @@ -4,8 +4,10 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Rene <wllywlnt@yahoo.com> + * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Johan Vervloet <johan.vervloet@gmail.com> */ -$lang['menu'] = 'Extension Manager (Uitbreidings Beheerder)'; +$lang['menu'] = 'Uitbreidingen'; $lang['tab_plugins'] = 'Geïnstalleerde Plugins'; $lang['tab_templates'] = 'Geïnstalleerde Templates'; $lang['tab_search'] = 'Zoek en installeer'; @@ -24,28 +26,28 @@ $lang['btn_enable'] = 'Schakel aan'; $lang['btn_disable'] = 'Schakel uit'; $lang['btn_install'] = 'Installeer'; $lang['btn_reinstall'] = 'Her-installeer'; -$lang['js']['reallydel'] = 'Wilt u deze uitbreiding deinstalleren ?'; +$lang['js']['reallydel'] = 'Wilt u deze uitbreiding deinstalleren?'; $lang['search_for'] = 'Zoek Uitbreiding:'; $lang['search'] = 'Zoek'; $lang['extensionby'] = '<strong>%s</strong> by %s'; $lang['screenshot'] = 'Schermafdruk bij %s'; $lang['popularity'] = 'Populariteit:%s%%'; -$lang['homepage_link'] = 'Dokumenten'; +$lang['homepage_link'] = 'Documentatie'; $lang['bugs_features'] = 'Bugs'; $lang['tags'] = 'Tags:'; $lang['author_hint'] = 'Zoek uitbreidingen van deze auteur:'; $lang['installed'] = 'Geinstalleerd:'; $lang['downloadurl'] = 'Download URL:'; -$lang['repository'] = 'Repository ( centrale opslag)'; +$lang['repository'] = 'Centrale opslag:'; $lang['unknown'] = '<em>onbekend</em>'; -$lang['installed_version'] = 'Geïnstalleerde versie'; -$lang['install_date'] = 'Uw laatste update :'; +$lang['installed_version'] = 'Geïnstalleerde versie:'; +$lang['install_date'] = 'Uw laatste update:'; $lang['available_version'] = 'Beschikbare versie:'; -$lang['compatible'] = 'Compatible met :'; -$lang['depends'] = 'Afhankelijk van :'; -$lang['similar'] = 'Soortgelijk :'; -$lang['conflicts'] = 'Conflicteerd met :'; -$lang['donate'] = 'Vindt u dit leuk ?'; +$lang['compatible'] = 'Compatible met:'; +$lang['depends'] = 'Afhankelijk van:'; +$lang['similar'] = 'Soortgelijk:'; +$lang['conflicts'] = 'Conflicteerd met:'; +$lang['donate'] = 'Vindt u dit leuk?'; $lang['donate_action'] = 'Koop een kop koffie voor de auteur!'; $lang['repo_retry'] = 'Herhaal'; $lang['provides'] = 'Zorgt voor:'; @@ -63,16 +65,16 @@ $lang['msg_enabled'] = 'Plugin %s ingeschakeld'; $lang['msg_disabled'] = 'Plugin %s uitgeschakeld'; $lang['msg_delete_success'] = 'Uitbreiding gedeinstalleerd'; $lang['msg_template_install_success'] = 'Template %s werd succesvol geïnstalleerd'; -$lang['msg_template_update_success'] = 'Template %s werd succesvol ge-update'; +$lang['msg_template_update_success'] = 'Template %s werd succesvol geüpdatet'; $lang['msg_plugin_install_success'] = 'Plugin %s werd succesvol geïnstalleerd'; -$lang['msg_plugin_update_success'] = 'Plugin %s werd succesvol ge-update'; +$lang['msg_plugin_update_success'] = 'Plugin %s werd succesvol geüpdatet'; $lang['msg_upload_failed'] = 'Uploaden van het bestand is mislukt'; $lang['missing_dependency'] = '<strong>niet aanwezige of uitgeschakelde afhankelijkheid</strong> %s'; $lang['security_issue'] = '<strong>Veiligheids kwestie:</strong> %s'; $lang['security_warning'] = '<strong>Veiligheids Waarschuwing</strong> %s'; $lang['update_available'] = '<strong>Update:</strong> Nieuwe versie %s is beschikbaar.'; $lang['wrong_folder'] = '<strong>Plugin onjuist geïnstalleerd:</strong> Hernoem de plugin directory van "%s" naar"%s"'; -$lang['url_change'] = '<strong>URL gewijzigd:</strong> Download URL is gewijzigd sinds de laatste download. Controleer of de nieuwe URL juist is voordat u de uitbreiding update. <br />Nieuw:%s<Br /> Vorig: %s'; +$lang['url_change'] = '<strong>URL gewijzigd:</strong> Download URL is gewijzigd sinds de laatste download. Controleer of de nieuwe URL juist is voordat u de uitbreiding updatet. <br />Nieuw:%s<Br /> Vorig: %s'; $lang['error_badurl'] = 'URLs moeten beginnen met http of https'; $lang['error_dircreate'] = 'De tijdelijke map kon niet worden gemaakt om de download te ontvangen'; $lang['error_download'] = 'Het is niet mogelijk het bestand te downloaden: %s'; @@ -85,3 +87,4 @@ $lang['nopluginperms'] = 'Plugin directory is niet schrijfbaar'; $lang['git'] = 'De uitbreiding werd geïnstalleerd via git, u wilt deze hier wellicht niet aanpassen.'; $lang['install_url'] = 'Installeer vanaf URL:'; $lang['install_upload'] = 'Upload Uitbreiding:'; +$lang['repo_error'] = 'Er kon geen verbinding worden gemaakt met de centrale plugin opslag. Controleer of de server verbinding mag maken met www.dokuwiki.org en controleer de proxy instellingen.'; diff --git a/lib/plugins/extension/lang/pl/lang.php b/lib/plugins/extension/lang/pl/lang.php new file mode 100644 index 000000000..4fdca79c9 --- /dev/null +++ b/lib/plugins/extension/lang/pl/lang.php @@ -0,0 +1,39 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Mati <mackosa@wp.pl> + */ +$lang['menu'] = 'Menedżer rozszerzeń'; +$lang['tab_plugins'] = 'Zainstalowane dodatki'; +$lang['tab_search'] = 'Znajdź i zainstaluj'; +$lang['notinstalled'] = 'Te rozszerzenie nie zostało zainstalowane'; +$lang['alreadyenabled'] = 'Te rozszerzenie jest już uruchomione'; +$lang['unknownauthor'] = 'Nieznany autor'; +$lang['unknownversion'] = 'Nieznana wersja'; +$lang['btn_info'] = 'Pokaż więcej informacji'; +$lang['btn_enable'] = 'Uruchom'; +$lang['btn_disable'] = 'Wyłącz'; +$lang['btn_reinstall'] = 'Ponowna instalacja'; +$lang['js']['reallydel'] = 'Naprawdę odinstalować te rozszerzenie?'; +$lang['search'] = 'Szukaj'; +$lang['bugs_features'] = 'Błędy'; +$lang['tags'] = 'Tagi:'; +$lang['installed'] = 'Zainstalowano:'; +$lang['repository'] = 'Repozytorium'; +$lang['installed_version'] = 'Zainstalowana wersja:'; +$lang['install_date'] = 'Twoja ostatnia aktualizacja:'; +$lang['available_version'] = 'Dostępna wersja:'; +$lang['depends'] = 'Zależy od:'; +$lang['conflicts'] = 'Konflikt z:'; +$lang['donate'] = 'Lubisz to?'; +$lang['donate_action'] = 'Kup autorowi kawę!'; +$lang['repo_retry'] = 'Ponów'; +$lang['status'] = 'Status:'; +$lang['status_installed'] = 'zainstalowano'; +$lang['status_not_installed'] = 'nie zainstalowano'; +$lang['status_enabled'] = 'uruchomione'; +$lang['status_disabled'] = 'wyłączone'; +$lang['status_plugin'] = 'dodatek'; +$lang['msg_delete_success'] = 'Rozszerzenie odinstalowane'; diff --git a/lib/plugins/extension/lang/pt-br/intro_install.txt b/lib/plugins/extension/lang/pt-br/intro_install.txt new file mode 100644 index 000000000..08527b0f6 --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_install.txt @@ -0,0 +1 @@ +Aqui você pode instalar extensões e modelos manualmente, ou subindo eles ou submetendo uma URL de baixar diretamente.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_plugins.txt b/lib/plugins/extension/lang/pt-br/intro_plugins.txt new file mode 100644 index 000000000..e0a8c7f3f --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_plugins.txt @@ -0,0 +1 @@ +Estas são as extensões instaladas atualmente no seu DokuWiki. Você pode habilitar ou desabilitar ou desinstalar completamente elas aqui. Atualizações das extensões também são mostradas, certifique-se de ler a documentação da extensão antes de atualizá-la.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_search.txt b/lib/plugins/extension/lang/pt-br/intro_search.txt new file mode 100644 index 000000000..f2101d73b --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_search.txt @@ -0,0 +1 @@ +Esta aba lhe dá acesso a extensões e modelos disponibilizados por terceiros para o DokuWiki. Favor ter cuidado pois instalar código de terceiros pode acarretar um **risco de segurança**, você poderia ler sobre [[doku>security#plugin_security|segurança de extensões]] primeiramente.
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/intro_templates.txt b/lib/plugins/extension/lang/pt-br/intro_templates.txt new file mode 100644 index 000000000..aa3e07f0c --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/intro_templates.txt @@ -0,0 +1 @@ +Estes são os modelos instalados atualmente no seu DokuWiki. Você pode selecionar o modelo a ser usado no [[?do=admin&page=config|Configuration Manager]].
\ No newline at end of file diff --git a/lib/plugins/extension/lang/pt-br/lang.php b/lib/plugins/extension/lang/pt-br/lang.php new file mode 100644 index 000000000..0d897616a --- /dev/null +++ b/lib/plugins/extension/lang/pt-br/lang.php @@ -0,0 +1,75 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Felipe Castro <fefcas@gmail.com> + */ +$lang['menu'] = 'Gerenciador de extensões'; +$lang['tab_plugins'] = 'Extensões instaladas'; +$lang['tab_templates'] = 'Modelos instalados'; +$lang['tab_search'] = 'Procurar e instalar'; +$lang['tab_install'] = 'Instalar manualmente'; +$lang['notimplemented'] = 'Esta função ainda não foi implementada'; +$lang['notinstalled'] = 'Esta extensão não está instalada'; +$lang['alreadyenabled'] = 'Esta extensão já foi habilitada'; +$lang['alreadydisabled'] = 'Esta extensão já foi desabilitada'; +$lang['pluginlistsaveerror'] = 'Houve um erro ao salvar a lista de extensões'; +$lang['unknownauthor'] = 'Autor desconhecido'; +$lang['unknownversion'] = 'Versão desconhecida'; +$lang['btn_info'] = 'Mostrar mais informações'; +$lang['btn_update'] = 'Atualizar'; +$lang['btn_uninstall'] = 'Desinstalar'; +$lang['btn_enable'] = 'Habilitar'; +$lang['btn_disable'] = 'Desabilitar'; +$lang['btn_install'] = 'Instalar'; +$lang['btn_reinstall'] = 'Re-instalar'; +$lang['js']['reallydel'] = 'Quer mesmo desinstalar esta extensão?'; +$lang['search_for'] = 'Procurar extensão:'; +$lang['search'] = 'Procurar'; +$lang['extensionby'] = '<strong>%s</strong> de %s'; +$lang['screenshot'] = 'Tela congelada de %s'; +$lang['popularity'] = 'Popularidade: %s%%'; +$lang['homepage_link'] = 'Docs'; +$lang['bugs_features'] = 'Erros'; +$lang['tags'] = 'Etiquetas:'; +$lang['author_hint'] = 'Procurar extensões deste autor'; +$lang['installed'] = 'Instalado:'; +$lang['downloadurl'] = 'URL para baixar:'; +$lang['repository'] = 'Repositório:'; +$lang['unknown'] = '<em>desconhecido</em>'; +$lang['installed_version'] = 'Versão instalada:'; +$lang['install_date'] = 'Sua última atualização:'; +$lang['available_version'] = 'Versão disponível:'; +$lang['compatible'] = 'Compatível com:'; +$lang['depends'] = 'Depende de:'; +$lang['similar'] = 'Similar a:'; +$lang['conflicts'] = 'Colide com:'; +$lang['donate'] = 'Gostou deste?'; +$lang['donate_action'] = 'Pague um café ao autor!'; +$lang['repo_retry'] = 'Tentar de novo'; +$lang['provides'] = 'Disponibiliza:'; +$lang['status'] = 'Estado:'; +$lang['status_installed'] = 'instalado'; +$lang['status_not_installed'] = 'não instalado'; +$lang['status_protected'] = 'protegido'; +$lang['status_enabled'] = 'habilitado'; +$lang['status_disabled'] = 'desabilitado'; +$lang['status_unmodifiable'] = 'não modificável'; +$lang['status_plugin'] = 'extensão'; +$lang['status_template'] = 'modelo'; +$lang['status_bundled'] = 'agrupado'; +$lang['msg_enabled'] = 'Extensão %s habilitada'; +$lang['msg_disabled'] = 'Extensão %s desabilitada'; +$lang['msg_delete_success'] = 'Extensão desinstalada'; +$lang['msg_template_install_success'] = 'Modelo %s instalado com sucesso'; +$lang['msg_template_update_success'] = 'Modelo %s atualizado com sucesso'; +$lang['msg_plugin_install_success'] = 'Extensão %s instalada com sucesso'; +$lang['msg_plugin_update_success'] = 'Extensão %s atualizada com sucesso'; +$lang['msg_upload_failed'] = 'Subida do arquivo falhou'; +$lang['missing_dependency'] = '<strong>Dependência faltante ou desabilitada:</strong> %s'; +$lang['security_issue'] = '<strong>Problema com segurança:</strong> %s'; +$lang['security_warning'] = '<strong>Aviso sobre segurança:</strong> %s'; +$lang['update_available'] = '<strong>Atualização:</strong> Nova versão %s está disponível.'; +$lang['wrong_folder'] = '<strong>Extensão instalada incorretamente:</strong> Renomeie o diretório de extensões "%s" para "%s".'; +$lang['url_change'] = '<strong>URL mudou:</strong> A URL para baixar mudou desde a última baixada. Verifique se a nova URL é válida antes de atualizar a extensão.<br />Novo: %s<br />Velho: %s'; diff --git a/lib/plugins/extension/lang/ru/lang.php b/lib/plugins/extension/lang/ru/lang.php index d524f072b..fa1625f28 100644 --- a/lib/plugins/extension/lang/ru/lang.php +++ b/lib/plugins/extension/lang/ru/lang.php @@ -4,6 +4,7 @@ * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) * * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Igor Degraf <igordegraf@gmail.com> */ $lang['menu'] = 'Управление дополнениями'; $lang['tab_plugins'] = 'Установленные плагины'; @@ -58,3 +59,10 @@ $lang['msg_template_install_success'] = 'Шаблон %s успешно уста $lang['msg_template_update_success'] = 'Шаблон %s успешно обновлён'; $lang['msg_plugin_install_success'] = 'Плагин %s успешно установлен'; $lang['msg_plugin_update_success'] = 'Плагин %s успешно обновлён'; +$lang['noperms'] = 'Папка для расширений не доступна на запись'; +$lang['notplperms'] = 'Папка для шаблонов не доступна на запись'; +$lang['nopluginperms'] = 'Папка плагинов не доступна на запись'; +$lang['git'] = 'Это расширение было установлено через git, Вы не можете обновить его тут.'; +$lang['install_url'] = 'Установить с адреса URL:'; +$lang['install_upload'] = 'Скачать расширение:'; +$lang['repo_error'] = 'Сайт с плагинами недоступен. Убедитесь, что у сайта есть доступ на www.dokuwiki.org и также проверьте настройки соединения прокси.'; diff --git a/lib/plugins/extension/lang/tr/lang.php b/lib/plugins/extension/lang/tr/lang.php new file mode 100644 index 000000000..dfabfa715 --- /dev/null +++ b/lib/plugins/extension/lang/tr/lang.php @@ -0,0 +1,60 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author İlker R. Kapaç <irifat@gmail.com> + */ +$lang['menu'] = 'Genişletme Yöneticisi'; +$lang['tab_plugins'] = 'Kurulmuş Eklentiler'; +$lang['tab_templates'] = 'Kurulmuş Şablonlar'; +$lang['tab_search'] = 'Ara ve Kur'; +$lang['tab_install'] = 'Elle Kurulum'; +$lang['notimplemented'] = 'Bu özellik henüz uygulamaya geçmemiştir'; +$lang['notinstalled'] = 'Bu genişletme yüklü değildir'; +$lang['alreadyenabled'] = 'Bu genişletme zaten etkinleştirilmiştir.'; +$lang['alreadydisabled'] = 'Bu genişletme zaten pasifleştirilmiştir'; +$lang['pluginlistsaveerror'] = 'Eklenti listesini kaydederken bir hata oluştu.'; +$lang['unknownauthor'] = 'Bilinmeyen yazar'; +$lang['unknownversion'] = 'Bilinmeyen sürüm'; +$lang['btn_info'] = 'Daha fazla bilgi göster'; +$lang['btn_update'] = 'Güncelle'; +$lang['btn_uninstall'] = 'Kaldır'; +$lang['btn_enable'] = 'Etkinleştir'; +$lang['btn_disable'] = 'Pasifleştir'; +$lang['btn_install'] = 'Kur'; +$lang['btn_reinstall'] = 'Yeniden kur'; +$lang['js']['reallydel'] = 'Genişletme gerçekten kaldırılsın mı?'; +$lang['search_for'] = 'Genişletme Ara:'; +$lang['search'] = 'Ara'; +$lang['extensionby'] = '<strong>%s</strong> tarafından %s'; +$lang['screenshot'] = '%s ekran görüntüsü'; +$lang['popularity'] = 'Rağbet: %s%%'; +$lang['homepage_link'] = 'Belgeler'; +$lang['bugs_features'] = 'Hatalar'; +$lang['tags'] = 'Etiketler:'; +$lang['author_hint'] = 'Bu yazarın genişletmelerini ara.'; +$lang['installed'] = 'Kurulu:'; +$lang['downloadurl'] = 'İndirme bağlantısı:'; +$lang['repository'] = 'Veri havuzu:'; +$lang['unknown'] = '<em>bilinmeyen</em>'; +$lang['installed_version'] = 'Kurulu sürüm:'; +$lang['install_date'] = 'Son güncellemeniz:'; +$lang['available_version'] = 'Müsait sürüm:'; +$lang['compatible'] = 'Şununla uyumlu:'; +$lang['depends'] = 'Şuna bağımlı'; +$lang['similar'] = 'Şununla benzer'; +$lang['conflicts'] = 'Şununla çelişir'; +$lang['donate'] = 'Beğendiniz mi?'; +$lang['donate_action'] = 'Yazara bir kahve ısmarlayın!'; +$lang['repo_retry'] = 'Yeniden dene'; +$lang['provides'] = 'Sağlar:'; +$lang['status'] = 'Durum:'; +$lang['status_installed'] = 'kurulu'; +$lang['status_not_installed'] = 'kurulu değil'; +$lang['status_protected'] = 'korunmuş'; +$lang['status_enabled'] = 'etkin'; +$lang['status_disabled'] = 'hizmet dışı'; +$lang['status_unmodifiable'] = 'değiştirilemez'; +$lang['status_plugin'] = 'eklenti'; +$lang['status_template'] = 'şablon'; diff --git a/lib/plugins/extension/lang/zh-tw/intro_install.txt b/lib/plugins/extension/lang/zh-tw/intro_install.txt new file mode 100644 index 000000000..3ba93f5f8 --- /dev/null +++ b/lib/plugins/extension/lang/zh-tw/intro_install.txt @@ -0,0 +1 @@ +在此你可以透過檔案上傳或提供下載網址的方式,進行手動安裝外掛與版型風格。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh-tw/lang.php b/lib/plugins/extension/lang/zh-tw/lang.php new file mode 100644 index 000000000..a86364d7a --- /dev/null +++ b/lib/plugins/extension/lang/zh-tw/lang.php @@ -0,0 +1,50 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Stan <talktostan@gmail.com> + * @author June-Hao Hou <junehao@gmail.com> + */ +$lang['menu'] = '延伸功能管理'; +$lang['tab_plugins'] = '已安裝外掛'; +$lang['tab_templates'] = '已安裝裝模版 +'; +$lang['tab_search'] = '搜尋與安裝'; +$lang['tab_install'] = '手動安裝'; +$lang['notimplemented'] = '此功能尚未完成'; +$lang['notinstalled'] = '此延伸功能尚未安裝'; +$lang['alreadyenabled'] = '此延伸功能已經安裝'; +$lang['alreadydisabled'] = '此延伸功能停用'; +$lang['unknownauthor'] = '作者未知'; +$lang['unknownversion'] = '版本未知'; +$lang['btn_info'] = '顯示更多訊息'; +$lang['btn_update'] = '更新'; +$lang['btn_uninstall'] = '移除安裝'; +$lang['btn_enable'] = '啟用'; +$lang['btn_disable'] = '停用'; +$lang['btn_install'] = '安裝'; +$lang['btn_reinstall'] = '重新安裝'; +$lang['js']['reallydel'] = '確定要移除此延伸功能?'; +$lang['search_for'] = '搜尋延伸功能:'; +$lang['search'] = '搜尋'; +$lang['tags'] = '標籤:'; +$lang['author_hint'] = '搜尋相同作者的延伸功能'; +$lang['installed'] = '已安裝:'; +$lang['downloadurl'] = '下載網址:'; +$lang['installed_version'] = '已安裝版本:'; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '相容於:'; +$lang['repo_retry'] = '再試一次'; +$lang['status'] = '狀態:'; +$lang['status_installed'] = '已安裝'; +$lang['status_not_installed'] = '未安裝'; +$lang['status_enabled'] = '作用中'; +$lang['status_disabled'] = '停用中'; +$lang['status_plugin'] = '外掛'; +$lang['noperms'] = '延伸功能資料夾無法寫入'; +$lang['notplperms'] = '版型資料夾無法寫入'; +$lang['nopluginperms'] = '外掛資料夾無法寫入'; +$lang['git'] = '此延伸功能是透過git安裝的,最好不要用上傳方式。'; +$lang['install_url'] = '透過網址安裝:'; +$lang['install_upload'] = '上傳延伸功能:'; diff --git a/lib/plugins/extension/lang/zh/intro_plugins.txt b/lib/plugins/extension/lang/zh/intro_plugins.txt new file mode 100644 index 000000000..69cb343b3 --- /dev/null +++ b/lib/plugins/extension/lang/zh/intro_plugins.txt @@ -0,0 +1 @@ +这些是你当前已经安装的插件。你可以在这里启用和禁用甚至卸载它们。插件的更新信息也显示在这,请一定在更新之前阅读插件的文档。
\ No newline at end of file diff --git a/lib/plugins/extension/lang/zh/lang.php b/lib/plugins/extension/lang/zh/lang.php index b9db01540..0264f3e9c 100644 --- a/lib/plugins/extension/lang/zh/lang.php +++ b/lib/plugins/extension/lang/zh/lang.php @@ -5,6 +5,8 @@ * * @author Cupen <Cupenoruler@foxmail.com> * @author xiqingongzi <Xiqingongzi@Gmail.com> + * @author qinghao <qingxianhao@gmail.com> + * @author lainme <lainme993@gmail.com> */ $lang['menu'] = '扩展管理器'; $lang['tab_plugins'] = '安装插件'; @@ -41,10 +43,49 @@ $lang['repository'] = '版本库:'; $lang['unknown'] = '<em>未知的</em>'; $lang['installed_version'] = '已安装版本:'; $lang['install_date'] = '您的最后一次升级:'; +$lang['available_version'] = '可用版本:'; +$lang['compatible'] = '兼容于:'; +$lang['depends'] = '依赖于:'; +$lang['similar'] = '相似于:'; +$lang['conflicts'] = '冲突于:'; $lang['donate'] = '喜欢?'; $lang['donate_action'] = '捐给作者一杯咖啡钱!'; $lang['repo_retry'] = '重试'; +$lang['provides'] = '提供:'; $lang['status'] = '现状:'; $lang['status_installed'] = '已安装的'; +$lang['status_not_installed'] = '未安装'; +$lang['status_protected'] = '受保护'; +$lang['status_enabled'] = '启用'; +$lang['status_disabled'] = '禁用'; +$lang['status_unmodifiable'] = '不可修改'; $lang['status_plugin'] = '插件'; $lang['status_template'] = '模板'; +$lang['status_bundled'] = '内建'; +$lang['msg_enabled'] = '插件 %s 已启用'; +$lang['msg_disabled'] = '插件 %s 已禁用'; +$lang['msg_delete_success'] = '插件已经卸载'; +$lang['msg_template_install_success'] = '模板 %s 安装成功'; +$lang['msg_template_update_success'] = '模板 %s 更新成功'; +$lang['msg_plugin_install_success'] = '插件 %s 安装成功'; +$lang['msg_plugin_update_success'] = '插件 %s 更新成功'; +$lang['msg_upload_failed'] = '上传文件失败'; +$lang['missing_dependency'] = '<strong>缺少或者被禁用依赖:</strong> %s'; +$lang['security_issue'] = '<strong>安全问题:</strong> %s'; +$lang['security_warning'] = '<strong>安全警告:</strong> %s'; +$lang['update_available'] = '<strong>更新:</strong>新版本 %s 已经可用。'; +$lang['wrong_folder'] = '<strong>插件安装不正确:</strong>重命名插件目录 "%s" 为 "%s"。'; +$lang['url_change'] = '<strong>URL已改变:</strong>自上次下载以来的下载 URL 已经改变。请在更新扩展前检查新 URL 是否有效。<br />新的:%s<br />旧的:%s'; +$lang['error_badurl'] = 'URL 应当以 http 或者 https 作为开头'; +$lang['error_dircreate'] = '无法创建用于保存下载的临时文件夹'; +$lang['error_download'] = '无法下载文件:%s'; +$lang['error_decompress'] = '无法解压下载的文件。这可能是由于文件损坏,在这种情况下您可以重试。这也可能是由于压缩格式是未知的,在这种情况下您需要手动下载并且安装。'; +$lang['error_findfolder'] = '无法识别扩展目录,您需要手动下载和安装'; +$lang['error_copy'] = '在尝试安装文件到目录 <em>%s</em> 时出现文件复制错误:磁盘可能已满或者文件访问权限不正确。这可能导致插件被部分安装并使您的维基处在不稳定状态'; +$lang['noperms'] = '扩展目录不可写'; +$lang['notplperms'] = '模板目录不可写'; +$lang['nopluginperms'] = '插件目录不可写'; +$lang['git'] = '这个扩展是通过 git 安装的,您可能不想在这里升级它'; +$lang['install_url'] = '从 URL 安装:'; +$lang['install_upload'] = '上传扩展:'; +$lang['repo_error'] = '无法连接到插件仓库。请确定您的服务器可以连接 www.dokuwiki.org 并检查您的代理设置。'; diff --git a/lib/plugins/extension/plugin.info.txt b/lib/plugins/extension/plugin.info.txt index ef16d78a1..ee9830628 100644 --- a/lib/plugins/extension/plugin.info.txt +++ b/lib/plugins/extension/plugin.info.txt @@ -1,7 +1,7 @@ base extension author Michael Hamann email michael@content-space.de -date 2013-08-01 +date 2014-06-15 name Extension Manager desc Allows managing and installing plugins and templates url https://www.dokuwiki.org/plugin:extension diff --git a/lib/plugins/info/plugin.info.txt b/lib/plugins/info/plugin.info.txt index 053743639..7773a419d 100644 --- a/lib/plugins/info/plugin.info.txt +++ b/lib/plugins/info/plugin.info.txt @@ -1,7 +1,7 @@ base info author Andreas Gohr email andi@splitbrain.org -date 2013-02-16 +date 2014-03-05 name Info Plugin desc Displays information about various DokuWiki internals url http://dokuwiki.org/plugin:info diff --git a/lib/plugins/popularity/lang/hr/intro.txt b/lib/plugins/popularity/lang/hr/intro.txt new file mode 100644 index 000000000..c7c3eba61 --- /dev/null +++ b/lib/plugins/popularity/lang/hr/intro.txt @@ -0,0 +1,7 @@ +====== Povratna informacija o popularnosti ====== + +Ovaj [[doku>popularity|alat]] prikupla anonimne podatke o Vašem wiki i omogućava Vam da ih pošaljete DokuWiki razvojnom timu. To im pomaže da bolje razumiju kako korisnici koriste DokuWiki i osigurava kvalitetnije odluke o budućem razvoju u skladu s stvarnim korištenjem. + +Pozivamo Vas da ponavljate ovaj korak s vremena na vrijeme kako bi razvojni tim bio obaviješten o razvoju Vašeg wiki-a. Vaši novi podaci biti će identificirani putem anonimne oznake. + +Prikupljeni podatci sadrže informacije kako što je DokuWiki inačica, broj i veličina vaših stranica i datoteka, ugrađeni dodatci i PHP-u koji se koristi. Sirovi podatci koji će biti poslani su prikazani niže. Molim koristite gumb "Pošalji podatke" da bi ste poslali ove informacije. diff --git a/lib/plugins/popularity/lang/hr/lang.php b/lib/plugins/popularity/lang/hr/lang.php new file mode 100644 index 000000000..a8ea70728 --- /dev/null +++ b/lib/plugins/popularity/lang/hr/lang.php @@ -0,0 +1,14 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['name'] = 'Povratna informacija o popularnosti (može proteći neko vrijeme dok se učita)'; +$lang['submit'] = 'Pošalji podatke'; +$lang['autosubmit'] = 'Šalji podatke automatski jednom mjesečno'; +$lang['submissionFailed'] = 'Podatci ne mogu biti poslani zbog slijedeće greške:'; +$lang['submitDirectly'] = 'Podatke možete poslati ručno potvrđivanjem forme u nastavku.'; +$lang['autosubmitError'] = 'Zadnje automatsko slanje nije uspješno zbog slijedeće greške:'; +$lang['lastSent'] = 'Podatci su poslani'; diff --git a/lib/plugins/popularity/lang/hr/submitted.txt b/lib/plugins/popularity/lang/hr/submitted.txt new file mode 100644 index 000000000..8c841b3df --- /dev/null +++ b/lib/plugins/popularity/lang/hr/submitted.txt @@ -0,0 +1,3 @@ +====== Povratna informacija o popularnosti ====== + +Podatci su uspješno poslani.
\ No newline at end of file diff --git a/lib/plugins/popularity/lang/lv/lang.php b/lib/plugins/popularity/lang/lv/lang.php index f0c940b6f..a8ef37f7a 100644 --- a/lib/plugins/popularity/lang/lv/lang.php +++ b/lib/plugins/popularity/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['name'] = 'Popularitātes atsauksmes (ielāde var aizņemt kādu laiku)'; diff --git a/lib/plugins/popularity/lang/th/lang.php b/lib/plugins/popularity/lang/th/lang.php index 3ae8a7890..f6a736a06 100644 --- a/lib/plugins/popularity/lang/th/lang.php +++ b/lib/plugins/popularity/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> diff --git a/lib/plugins/popularity/plugin.info.txt b/lib/plugins/popularity/plugin.info.txt index 4dc971d3a..eadfffaa0 100644 --- a/lib/plugins/popularity/plugin.info.txt +++ b/lib/plugins/popularity/plugin.info.txt @@ -1,7 +1,7 @@ base popularity author Andreas Gohr email andi@splitbrain.org -date 2012-11-29 +date 2013-10-14 name Popularity Feedback Plugin desc Send anonymous data about your wiki to the DokuWiki developers url http://www.dokuwiki.org/plugin:popularity diff --git a/lib/plugins/revert/lang/ar/lang.php b/lib/plugins/revert/lang/ar/lang.php index 71f411c52..6262cc674 100644 --- a/lib/plugins/revert/lang/ar/lang.php +++ b/lib/plugins/revert/lang/ar/lang.php @@ -8,6 +8,7 @@ * @author uahello@gmail.com * @author Ahmad Abd-Elghany <tolpa1@gmail.com> * @author alhajr <alhajr300@gmail.com> + * @author Mohamed Belhsine <b.mohamed897@gmail.com> */ $lang['menu'] = 'مدير الاسترجاع'; $lang['filter'] = 'ابحث في الصفحات المتأذاة'; diff --git a/lib/plugins/revert/lang/cs/lang.php b/lib/plugins/revert/lang/cs/lang.php index 69abaaade..619a9d929 100644 --- a/lib/plugins/revert/lang/cs/lang.php +++ b/lib/plugins/revert/lang/cs/lang.php @@ -16,6 +16,9 @@ * @author Zbyněk Křivka <krivka@fit.vutbr.cz> * @author Gerrit Uitslag <klapinklapin@gmail.com> * @author Petr Klíma <qaxi@seznam.cz> + * @author Radovan Buroň <radovan@buron.cz> + * @author Viktor Zavadil <vzavadil@newps.cz> + * @author Jaroslav Lichtblau <jlichtblau@seznam.cz> */ $lang['menu'] = 'Obnova zaspamovaných stránek'; $lang['filter'] = 'Hledat zaspamované stránky'; diff --git a/lib/plugins/revert/lang/hr/intro.txt b/lib/plugins/revert/lang/hr/intro.txt new file mode 100644 index 000000000..5d7a52dfb --- /dev/null +++ b/lib/plugins/revert/lang/hr/intro.txt @@ -0,0 +1,3 @@ +====== Pomoćnik za povrat ====== + +Pomaže vam pri povratku u slučaju spam napada. Da bi ste našli listu stranica koje su onečišćene spam-om unesite tekst za potragu (npr. spam URL), te potvrdite da su nađene stranice zaista spam i vratite na prethodno stanje.
\ No newline at end of file diff --git a/lib/plugins/revert/lang/hr/lang.php b/lib/plugins/revert/lang/hr/lang.php new file mode 100644 index 000000000..594136902 --- /dev/null +++ b/lib/plugins/revert/lang/hr/lang.php @@ -0,0 +1,16 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['menu'] = 'Pomoćnik za povrat stanja'; +$lang['filter'] = 'Potraži spam stranice'; +$lang['revert'] = 'Povrati odabrane stranice'; +$lang['reverted'] = '%s vraćena na izdanje %s'; +$lang['removed'] = '%s uklonjen'; +$lang['revstart'] = 'Proces povratka započeo. To može potrajati. Ako se dogodi istek vremena prije završetka, trebate povrat stranica vršiti u manjim grupama.'; +$lang['revstop'] = 'Proces povratka uspješno završio.'; +$lang['note1'] = 'Obavijest: ova pretraga razlikuje velika/mala slova'; +$lang['note2'] = 'Obavijest: stranica će biti vraćena na zadnje stanje koje ne sadrži traženi spam termin <i>%s</i>.'; diff --git a/lib/plugins/revert/lang/lv/lang.php b/lib/plugins/revert/lang/lv/lang.php index 012d6cc4c..b87369233 100644 --- a/lib/plugins/revert/lang/lv/lang.php +++ b/lib/plugins/revert/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian, Lettish language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.com> */ $lang['menu'] = 'Piemēsloto lapu atjaunotājs'; diff --git a/lib/plugins/revert/lang/nl/intro.txt b/lib/plugins/revert/lang/nl/intro.txt index db8f5a06c..efa325839 100644 --- a/lib/plugins/revert/lang/nl/intro.txt +++ b/lib/plugins/revert/lang/nl/intro.txt @@ -1,3 +1,3 @@ -===== Herstelmanager ===== +===== Herstel ===== Deze pagina helpt u bij het herstellen van pagina's na een spam-aanval. Vul een zoekterm in (bijvoorbeeld een spam url) om een lijst te krijgen van bekladde pagina's, bevestig dat de pagina's inderdaad spam bevatten en herstel de wijzigingen. diff --git a/lib/plugins/revert/lang/nl/lang.php b/lib/plugins/revert/lang/nl/lang.php index ee8678e63..d04b96869 100644 --- a/lib/plugins/revert/lang/nl/lang.php +++ b/lib/plugins/revert/lang/nl/lang.php @@ -16,8 +16,9 @@ * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit <klapinklapin@gmail.com> * @author Remon <no@email.local> + * @author Rene <wllywlnt@yahoo.com> */ -$lang['menu'] = 'Herstelmanager'; +$lang['menu'] = 'Herstel'; $lang['filter'] = 'Zoek naar bekladde pagina\'s'; $lang['revert'] = 'Herstel geselecteerde pagina\'s'; $lang['reverted'] = '%s hersteld naar revisie %s'; diff --git a/lib/plugins/revert/lang/sv/lang.php b/lib/plugins/revert/lang/sv/lang.php index e605a17d4..504332bae 100644 --- a/lib/plugins/revert/lang/sv/lang.php +++ b/lib/plugins/revert/lang/sv/lang.php @@ -19,6 +19,7 @@ * @author Henrik <henrik@idealis.se> * @author Tor Härnqvist <tor.harnqvist@gmail.com> * @author Hans Iwan Bratt <hibratt@gmail.com> + * @author Mikael Bergström <krank23@gmail.com> */ $lang['menu'] = 'Hantera återställningar'; $lang['filter'] = 'Sök efter spamsidor'; diff --git a/lib/plugins/revert/lang/th/lang.php b/lib/plugins/revert/lang/th/lang.php index 86e4f9ca4..7b6217b7c 100644 --- a/lib/plugins/revert/lang/th/lang.php +++ b/lib/plugins/revert/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Arthit Suriyawongkul <arthit@gmail.com> diff --git a/lib/plugins/revert/plugin.info.txt b/lib/plugins/revert/plugin.info.txt index 482b68dc4..8d107dc32 100644 --- a/lib/plugins/revert/plugin.info.txt +++ b/lib/plugins/revert/plugin.info.txt @@ -1,7 +1,7 @@ base revert author Andreas Gohr email andi@splitbrain.org -date 2013-03-09 +date 2013-11-21 name Revert Manager desc Allows you to mass revert recent edits to remove Spam or vandalism url http://dokuwiki.org/plugin:revert diff --git a/lib/plugins/syntax.php b/lib/plugins/syntax.php index 42a4903ec..4a301f927 100644 --- a/lib/plugins/syntax.php +++ b/lib/plugins/syntax.php @@ -20,9 +20,12 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { * Syntax Type * * Needs to return one of the mode types defined in $PARSER_MODES in parser.php + * + * @return string */ function getType(){ trigger_error('getType() not implemented in '.get_class($this), E_USER_WARNING); + return ''; } /** @@ -31,6 +34,8 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { * Defines the mode types for other dokuwiki markup that maybe nested within the * plugin's own markup. Needs to return an array of one or more of the mode types * defined in $PARSER_MODES in parser.php + * + * @return array */ function getAllowedTypes() { return array(); @@ -47,6 +52,7 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { * 'stack' - Special case. Plugin wraps other paragraphs. * * @see Doku_Handler_Block + * @return string */ function getPType(){ return 'normal'; @@ -99,7 +105,10 @@ class DokuWiki_Syntax_Plugin extends Doku_Parser_Mode_Plugin { } /** - * There should be no need to override these functions + * There should be no need to override this function + * + * @param string $mode + * @return bool */ function accepts($mode) { diff --git a/lib/plugins/usermanager/lang/bg/lang.php b/lib/plugins/usermanager/lang/bg/lang.php index 9700385f8..aadf76512 100644 --- a/lib/plugins/usermanager/lang/bg/lang.php +++ b/lib/plugins/usermanager/lang/bg/lang.php @@ -41,10 +41,10 @@ $lang['next'] = 'напред'; $lang['last'] = 'край'; $lang['edit_usermissing'] = 'Избраният потребител не е намерен, въведеното потребителско име може да е изтрито или променено другаде.'; $lang['user_notify'] = 'Уведомяване на потребителя'; -$lang['note_notify'] = 'Ел. писмо се изпраща само ако бъде променена паролата на потребителя.'; +$lang['note_notify'] = 'Имейл се изпраща само ако бъде променена паролата на потребителя.'; $lang['note_group'] = 'Новите потребители биват добавяни към стандартната групата (%s) ако не е посочена друга.'; $lang['note_pass'] = 'Паролата ще бъде генерирана автоматично, ако оставите полето празно и функцията за уведомяване на потребителя е включена.'; $lang['add_ok'] = 'Добавянето на потребителя е успешно'; $lang['add_fail'] = 'Добавянето на потребителя се провали'; -$lang['notify_ok'] = 'Изпратено е осведомително ел. писмо'; -$lang['notify_fail'] = 'Изпращането на осведомително ел. писмо не е възможно'; +$lang['notify_ok'] = 'Изпратено е осведомителен имейл'; +$lang['notify_fail'] = 'Изпращането на осведомителен имейл не е възможно'; diff --git a/lib/plugins/usermanager/lang/cs/import.txt b/lib/plugins/usermanager/lang/cs/import.txt index c264ae185..d665838f4 100644 --- a/lib/plugins/usermanager/lang/cs/import.txt +++ b/lib/plugins/usermanager/lang/cs/import.txt @@ -2,7 +2,7 @@ Vyžaduje CSV soubor s uživateli obsahující alespoň 4 sloupce. Sloupce obsahují (v daném pořadí): user-id, celé jméno, emailovou adresu, seznam skupin. -Položky CSV musí být odděleny čárkou (,) a řetězce umístěny v uvozovkách (""). Zpětné lomítko (\) lze použít pro escapování. +Položky CSV musí být odděleny čárkou (,) a řetězce umístěny v uvozovkách (%%""%%). Zpětné lomítko (\) lze použít pro escapování. Pro získání příkladu takového souboru využijte funkci "Exportovat uživatele" výše. Záznamy s duplicitním user-id budou ignorovány. diff --git a/lib/plugins/usermanager/lang/de-informal/import.txt b/lib/plugins/usermanager/lang/de-informal/import.txt index 6fd6b8d8c..bc8887193 100644 --- a/lib/plugins/usermanager/lang/de-informal/import.txt +++ b/lib/plugins/usermanager/lang/de-informal/import.txt @@ -1,7 +1,7 @@ ===== Massenimport von Benutzern ===== Dieser Import benötigt eine CSV-Datei mit mindestens vier Spalten. Diese Spalten müssen die folgenden Daten (in dieser Reihenfolge) enthalten: Benutzername, Name, E-Mailadresse und Gruppenzugehörigkeit. -Die CSV-Felder müssen durch ein Komma (,) getrennt sein. Die Zeichenfolgen müssen von Anführungszeichen ("") umgeben sein. Ein Backslash (\) kann zum Maskieren benutzt werden. +Die CSV-Felder müssen durch ein Komma (,) getrennt sein. Die Zeichenfolgen müssen von Anführungszeichen (%%""%%) umgeben sein. Ein Backslash (\) kann zum Maskieren benutzt werden. Für eine Beispieldatei kannst Du die "Benutzer exportieren"-Funktion oben benutzen. Doppelte Benutzername werden ignoriert. Ein Passwort wird generiert und den einzelnen, erfolgreich importierten Benutzern zugemailt.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/de/import.txt b/lib/plugins/usermanager/lang/de/import.txt index bf0d2922e..7faca3b9a 100644 --- a/lib/plugins/usermanager/lang/de/import.txt +++ b/lib/plugins/usermanager/lang/de/import.txt @@ -1,7 +1,7 @@ ===== Benutzer-Massenimport ===== Um mehrere Benutzer gleichzeitig zu importieren, wird eine CSV-Datei mit den folgenden vier Spalten benötigt (In dieser Reihenfolge): Benutzer-ID, Voller Name, E-Mail-Adresse und Gruppen. -Die CSV-Felder sind Kommata-separiert (,) und mit Anführungszeichen eingefasst ("). Mit Backslashes (\) können Sonderzeichen maskiert werden. +Die CSV-Felder sind Kommata-separiert (,) und mit Anführungszeichen eingefasst (%%"%%). Mit Backslashes (\) können Sonderzeichen maskiert werden. Ein Beispiel für eine gültige Datei kann mit der Benutzer-Export-Funktion oben generiert werden. Doppelte Benutzer-IDs werden ignoriert. diff --git a/lib/plugins/usermanager/lang/en/import.txt b/lib/plugins/usermanager/lang/en/import.txt index 2087083e0..360a0689b 100644 --- a/lib/plugins/usermanager/lang/en/import.txt +++ b/lib/plugins/usermanager/lang/en/import.txt @@ -2,7 +2,7 @@ Requires a CSV file of users with at least four columns. The columns must contain, in order: user-id, full name, email address and groups. -The CSV fields should be separated by commas (,) and strings delimited by quotation marks (""). Backslash (\) can be used for escaping. +The CSV fields should be separated by commas (,) and strings delimited by quotation marks (%%""%%). Backslash (\) can be used for escaping. For an example of a suitable file, try the "Export Users" function above. Duplicate user-ids will be ignored. diff --git a/lib/plugins/usermanager/lang/eo/import.txt b/lib/plugins/usermanager/lang/eo/import.txt index 61c2c74de..09fbe6911 100644 --- a/lib/plugins/usermanager/lang/eo/import.txt +++ b/lib/plugins/usermanager/lang/eo/import.txt @@ -2,7 +2,7 @@ Tio ĉi postulas CSV-dosiero de uzantoj kun minimume kvar kolumnoj. La kolumnoj devas enhavi, laŭorde: uzant-id, kompleta nomo, retadreso kaj grupoj. -La CSV-kampoj devos esti apartitaj per komoj (,) kaj ĉenoj devas esti limigitaj per citiloj (""). Retroklino (\) povas esti uzata por eskapo. +La CSV-kampoj devos esti apartitaj per komoj (,) kaj ĉenoj devas esti limigitaj per citiloj (%%""%%). Retroklino (\) povas esti uzata por eskapo. Por ekzemplo de taŭga dosiero, provu la funkcion "Eksporti uzantojn" supre. Duobligitaj uzant-id estos preteratentataj. diff --git a/lib/plugins/usermanager/lang/es/lang.php b/lib/plugins/usermanager/lang/es/lang.php index 26e4200e4..a557eacdd 100644 --- a/lib/plugins/usermanager/lang/es/lang.php +++ b/lib/plugins/usermanager/lang/es/lang.php @@ -24,6 +24,9 @@ * @author Ruben Figols <ruben.figols@gmail.com> * @author Gerardo Zamudio <gerardo@gerardozamudio.net> * @author Mercè López mercelz@gmail.com + * @author Antonio Bueno <atnbueno@gmail.com> + * @author Antonio Castilla <antoniocastilla@trazoide.com> + * @author Jonathan Hernández <me@jhalicea.com> */ $lang['menu'] = 'Administración de usuarios'; $lang['noauth'] = '(la autenticación de usuarios no está disponible)'; @@ -46,6 +49,11 @@ $lang['search'] = 'Buscar'; $lang['search_prompt'] = 'Realizar la búsqueda'; $lang['clear'] = 'Limpiar los filtros de la búsqueda'; $lang['filter'] = 'Filtrar'; +$lang['export_all'] = 'Exportar Todos los Usuarios (CSV)'; +$lang['export_filtered'] = 'Exportar Lista de Usuarios Filtrada (CSV)'; +$lang['import'] = 'Importar Nuevos Usuarios'; +$lang['line'] = 'Línea nº'; +$lang['error'] = 'Mensaje de error'; $lang['summary'] = 'Mostrando los usuarios %1$d-%2$d de %3$d encontrados. Cantidad total de usuarios %4$d.'; $lang['nonefound'] = 'No se encontraron usuarios que coincidan con los párametros de la búsqueda. Cantidad total de usuarios %d.'; $lang['delete_ok'] = '%d usuarios eliminados'; @@ -66,3 +74,10 @@ $lang['add_ok'] = 'El usuario fue creado exitosamente'; $lang['add_fail'] = 'Falló la creación del usuario'; $lang['notify_ok'] = 'Se envió la notificación por correo electrónico'; $lang['notify_fail'] = 'No se pudo enviar la notificación por correo electrónico'; +$lang['import_userlistcsv'] = 'Lista de usuarios (CSV): '; +$lang['import_error_badmail'] = 'Dirección de correo electrónico incorrecta'; +$lang['import_error_upload'] = 'Error al importar. El archivo csv no se pudo cargar o está vacío.'; +$lang['import_error_readfail'] = 'Error al importar. No se puede leer el archivo subido.'; +$lang['import_error_create'] = 'No se puede crear el usuario'; +$lang['import_notify_fail'] = 'Mensaje de notificación no se ha podido enviar por el usuario importado,%s con el email %s.'; +$lang['import_downloadfailures'] = 'Descarga errores en archivo CSV para la corrección'; diff --git a/lib/plugins/usermanager/lang/fa/lang.php b/lib/plugins/usermanager/lang/fa/lang.php index a6a484411..bb2505a27 100644 --- a/lib/plugins/usermanager/lang/fa/lang.php +++ b/lib/plugins/usermanager/lang/fa/lang.php @@ -10,6 +10,8 @@ * @author Mohammad Reza Shoaei <shoaei@gmail.com> * @author Milad DZand <M.DastanZand@gmail.com> * @author AmirH Hassaneini <mytechmix@gmail.com> + * @author Hamid <zarrabi@sharif.edu> + * @author Mohamad Mehdi Habibi <habibi.esf@gmail.com> */ $lang['menu'] = 'مدیریت کاربر'; $lang['noauth'] = '(معتبرسازی کاربر ممکن نیست)'; @@ -32,23 +34,25 @@ $lang['search'] = 'جستجو'; $lang['search_prompt'] = 'انجام جستجو'; $lang['clear'] = 'بازنویسی فیلترهای جستجو'; $lang['filter'] = 'فیلتر'; +$lang['import'] = 'ورود کاربران جدید'; +$lang['error'] = 'متن خطا'; $lang['summary'] = 'نمایش کاربر %1$d-%2$d از %3$d. در کل %4$d کاربر.'; $lang['nonefound'] = 'هیچ کاربری یافت نشد. در کل %d کاربر.'; $lang['delete_ok'] = '%d کاربر حذف شد'; $lang['delete_fail'] = 'حذف %d کاربر با مشکل مواجه شد.'; -$lang['update_ok'] = 'کاربر با موفقیت به روز رسانی شد.'; -$lang['update_fail'] = 'به روز رسانی کاربر با مشکل مواجه شد'; -$lang['update_exists'] = 'تغییر نام کاربری ممکن نیست، نام کاربری مورد نظر (%s) قبلن وجود داشته (مابقی تغییرات اعمال شده است)'; +$lang['update_ok'] = 'کاربر با موفقیت بهروز شد.'; +$lang['update_fail'] = 'بهروزرسانی کاربر با مشکل مواجه شد'; +$lang['update_exists'] = 'تغییر نام کاربری ممکن نیست، نام کاربری مورد نظر (%s) از قبل وجود داشته است (مابقی تغییرات اعمال خواهد شد).'; $lang['start'] = 'شروع'; $lang['prev'] = 'قبلی'; $lang['next'] = 'بعدی'; $lang['last'] = 'آخرین'; -$lang['edit_usermissing'] = 'کاربر انتخاب شده یافت نشد، نام کاربری مورد نظر در جایی دیگر حذف شده یا تغییر کرده.'; +$lang['edit_usermissing'] = 'کاربر انتخاب شده یافت نشد، نام کاربری موردنظر در جایی دیگر حذف شده یا تغییر کرده است.'; $lang['user_notify'] = 'آگاه کردن کاربر'; $lang['note_notify'] = 'ایمیلی برای آگاهی، فقط در زمان تغییر گذرواژه ارسال میشود.'; $lang['note_group'] = 'اگر گروهی انتخاب نشود، کاربران جدید به گروه پیشفرض (%s) افزوده خواهند شد.'; $lang['note_pass'] = 'اگر فیلد گذرواژه خالی گذاشته شود، گذرواژه به طور خودکار تولید و ایمیلی برای کاربر ارسال خواهد شد.'; $lang['add_ok'] = 'کاربر با موفقیت افزوده شد'; $lang['add_fail'] = 'افزودن کاربر با مشکل مواجه شد'; -$lang['notify_ok'] = 'ایمیل آگاهی دهنده ارسال شد'; -$lang['notify_fail'] = 'ارسال ایمیل آگاهی دهنده با مشکل مواجه شد'; +$lang['notify_ok'] = 'ایمیل آگاهیدهنده ارسال شد'; +$lang['notify_fail'] = 'ارسال ایمیل آگاهیدهنده با مشکل مواجه شد'; diff --git a/lib/plugins/usermanager/lang/fr/import.txt b/lib/plugins/usermanager/lang/fr/import.txt index 191bb8370..a1eb8f858 100644 --- a/lib/plugins/usermanager/lang/fr/import.txt +++ b/lib/plugins/usermanager/lang/fr/import.txt @@ -3,7 +3,7 @@ Requière un fichier [[wpfr>CSV]] d'utilisateurs avec un minimum de quatre colonnes. Les colonnes doivent comporter, dans l'ordre : identifiant, nom complet, adresse de courriel et groupes. -Les champs doivent être séparés par une virgule (,), les chaînes sont délimitées par des guillemets (""). On peut utiliser la balance inverse (\) comme caractère d'échappement. +Les champs doivent être séparés par une virgule (,), les chaînes sont délimitées par des guillemets (%%""%%). On peut utiliser la balance inverse (\) comme caractère d'échappement. Pour obtenir un exemple de fichier acceptable, essayer la fonction "Exporter les utilisateurs" ci dessus. Les identifiants dupliqués seront ignorés. diff --git a/lib/plugins/usermanager/lang/hr/add.txt b/lib/plugins/usermanager/lang/hr/add.txt new file mode 100644 index 000000000..f7c866495 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/add.txt @@ -0,0 +1 @@ +===== Dodaj korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/delete.txt b/lib/plugins/usermanager/lang/hr/delete.txt new file mode 100644 index 000000000..072185fc1 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/delete.txt @@ -0,0 +1 @@ +===== Ukloni korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/edit.txt b/lib/plugins/usermanager/lang/hr/edit.txt new file mode 100644 index 000000000..752fd81f3 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/edit.txt @@ -0,0 +1 @@ +===== Uredi korisnika ===== diff --git a/lib/plugins/usermanager/lang/hr/import.txt b/lib/plugins/usermanager/lang/hr/import.txt new file mode 100644 index 000000000..85ea92723 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/import.txt @@ -0,0 +1,9 @@ +===== Masovni unos korisnika ===== + +Zahtjeva CSV datoteku popisa korisnika s minimalno četiri kolone. +Kolone moraju sadržavati redom: korisničko ime, puno ime, adresu e-pošte i grupe. +Polja trebaju biti odvojena zarezom (,) a znakovni nizovi s dvostrukim navodnicima (%%""%%). Obrnuta kosa crta (\) koristi se za specijalne kodove (escaping). +Koristite "Izvoz korisnika" funkciju da bi ste dobili primjer odgovarajuće datoteke. +Duplikati korisničkih imena biti će ignorirani. + +Uspješno kreiranim korisnicima lozinka će biti generirana i poslana e-poštom.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hr/intro.txt b/lib/plugins/usermanager/lang/hr/intro.txt new file mode 100644 index 000000000..0f156579b --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/intro.txt @@ -0,0 +1 @@ +====== Upravitelj korisnicima ======
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hr/lang.php b/lib/plugins/usermanager/lang/hr/lang.php new file mode 100644 index 000000000..80613ed6f --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/lang.php @@ -0,0 +1,66 @@ +<?php + +/** + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * + * @author Davor Turkalj <turki.bsc@gmail.com> + */ +$lang['menu'] = 'Upravitelj korisnicima'; +$lang['noauth'] = '(korisnička prijava nije dostupna)'; +$lang['nosupport'] = '(upravljanje korisnikom nije podržano)'; +$lang['badauth'] = 'pogrešan mehanizam prijave'; +$lang['user_id'] = 'Korisnik'; +$lang['user_pass'] = 'Lozinka'; +$lang['user_name'] = 'Stvarno ime'; +$lang['user_mail'] = 'E-pošta'; +$lang['user_groups'] = 'Grupe'; +$lang['field'] = 'Polje'; +$lang['value'] = 'Vrijednost'; +$lang['add'] = 'Dodaj'; +$lang['delete'] = 'Obriši'; +$lang['delete_selected'] = 'Obriši odabrano'; +$lang['edit'] = 'Uredi'; +$lang['edit_prompt'] = 'Uredi ovog korisnika'; +$lang['modify'] = 'Snimi promjene'; +$lang['search'] = 'Potraži'; +$lang['search_prompt'] = 'Izvedi potragu'; +$lang['clear'] = 'Obriši filtar potrage'; +$lang['filter'] = 'Filtar'; +$lang['export_all'] = 'Izvezi sve korisnike (CSV)'; +$lang['export_filtered'] = 'Izvezi filtriranu listu korisnika (CSV)'; +$lang['import'] = 'Unos novih korisnika'; +$lang['line'] = 'Linija br.'; +$lang['error'] = 'Poruka o grešci'; +$lang['summary'] = 'Prikaz korisnika %1$d-%2$d od %3$d nađenih. Ukupno %4$d korisnika.'; +$lang['nonefound'] = 'Nema korisnika koji odgovaraju filtru.Ukupno %d korisnika.'; +$lang['delete_ok'] = '%d korisnik obrisano'; +$lang['delete_fail'] = '%d neuspjelih brisanja.'; +$lang['update_ok'] = 'Korisnik uspješno izmijenjen'; +$lang['update_fail'] = 'Neuspjela izmjena korisnika'; +$lang['update_exists'] = 'Promjena korisničkog imena neuspješna, traženo ime (%s) već postoji (ostale izmjene biti će primijenjene).'; +$lang['start'] = 'početni'; +$lang['prev'] = 'prethodni'; +$lang['next'] = 'slijedeći'; +$lang['last'] = 'zadnji'; +$lang['edit_usermissing'] = 'Odabrani korisnik nije nađen, traženo korisničko ime vjerojatno je obrisano i promijenjeno negdje drugdje.'; +$lang['user_notify'] = 'Obavijesti korisnika'; +$lang['note_notify'] = 'Obavijest korisniku biti će poslana samo ako je upisana nova lozinka.'; +$lang['note_group'] = 'Novi korisnik biti će dodijeljen u podrazumijevanu grupu (%s) ako grupa nije specificirana.'; +$lang['note_pass'] = 'Lozinka će biti generirana ako se polje ostavi prazno i obavješćivanje korisnika je omogućeno.'; +$lang['add_ok'] = 'Korisnik uspješno dodan'; +$lang['add_fail'] = 'Neuspješno dodavanje korisnika'; +$lang['notify_ok'] = 'Obavijest korisniku poslana'; +$lang['notify_fail'] = 'Obavijest korisniku ne može biti poslana'; +$lang['import_userlistcsv'] = 'Datoteka s popisom korisnika (CSV):'; +$lang['import_header'] = 'Zadnje greške pri uvozu'; +$lang['import_success_count'] = 'Uvoz korisnika: %d korisnika nađeno, %d uspješno uvezeno'; +$lang['import_failure_count'] = 'Uvoz korisnika: %d neuspješno. Greške su navedene niže.'; +$lang['import_error_fields'] = 'Nedovoljan broj polja, nađeno %d, potrebno 4.'; +$lang['import_error_baduserid'] = 'Nedostaje korisničko ime'; +$lang['import_error_badname'] = 'Krivo ime'; +$lang['import_error_badmail'] = 'Kriva adresa e-pošte'; +$lang['import_error_upload'] = 'Uvoz neuspješan. CSV datoteka ne može biti učitana ili je prazna.'; +$lang['import_error_readfail'] = 'Uvoz neuspješan. Ne mogu pročitati učitanu datoteku.'; +$lang['import_error_create'] = 'Ne mogu kreirati korisnika'; +$lang['import_notify_fail'] = 'Obavijest uvezenom korisniku %s nije moguće poslati na adresu e-pošte %s.'; +$lang['import_downloadfailures'] = 'Preuzmi greške kao CSV za ispravak'; diff --git a/lib/plugins/usermanager/lang/hr/list.txt b/lib/plugins/usermanager/lang/hr/list.txt new file mode 100644 index 000000000..50b1d2513 --- /dev/null +++ b/lib/plugins/usermanager/lang/hr/list.txt @@ -0,0 +1 @@ +===== Lista korisnika =====
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/hu/import.txt b/lib/plugins/usermanager/lang/hu/import.txt index f204f6a1e..a2db03300 100644 --- a/lib/plugins/usermanager/lang/hu/import.txt +++ b/lib/plugins/usermanager/lang/hu/import.txt @@ -2,8 +2,8 @@ Szükséges egy legalább 4 oszlopot tartalmazó, felhasználókat tartalmazó fájl. Az oszlopok kötelező tartalma, sorrendben: felhasználói azonosító, teljes név, e-mailcím és csoport. -A CSV-mezőket vesszővel (,) kell elválasztani, a szövegeket idézőjelek ("") közé kell tenni. A fordított törtvonal (\) használható feloldójelnek. -Megfelelő mintafájl megtekintéséhez próbáld ki a "Felhasználók exportálása" funkciót fentebb. +A CSV-mezőket vesszővel (,) kell elválasztani, a szövegeket idézőjelek (%%""%%) közé kell tenni. A fordított törtvonal (\) használható feloldójelnek. +Megfelelő mintafájl megtekintéséhez próbáld ki a "Felhasználók exportálása" funkciót fentebb. A duplán szereplő felhasználói azonosítók kihagyásra kerülnek. Minden sikeresen importált felhasználó számára jelszó készül, amelyet e-mailben kézhez kap.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/it/lang.php b/lib/plugins/usermanager/lang/it/lang.php index 6c6789442..ffded3481 100644 --- a/lib/plugins/usermanager/lang/it/lang.php +++ b/lib/plugins/usermanager/lang/it/lang.php @@ -16,6 +16,8 @@ * @author Matteo Pasotti <matteo@xquiet.eu> * @author snarchio@gmail.com * @author Claudio Lanconelli <lancos@libero.it> + * @author Francesco <francesco.cavalli@hotmail.com> + * @author Fabio <fabioslurp@yahoo.it> */ $lang['menu'] = 'Gestione Utenti'; $lang['noauth'] = '(autenticazione non disponibile)'; @@ -40,6 +42,9 @@ $lang['clear'] = 'Azzera filtro di ricerca'; $lang['filter'] = 'Filtro'; $lang['export_all'] = 'Esporta tutti gli utenti (CSV)'; $lang['export_filtered'] = 'Esporta elenco utenti filtrati (CSV)'; +$lang['import'] = 'Importa nuovi utenti'; +$lang['line'] = 'Linea numero'; +$lang['error'] = 'Messaggio di errore'; $lang['summary'] = 'Visualizzazione utenti %1$d-%2$d di %3$d trovati. %4$d utenti totali.'; $lang['nonefound'] = 'Nessun utente trovato. %d utenti totali.'; $lang['delete_ok'] = '%d utenti eliminati'; @@ -60,3 +65,12 @@ $lang['add_ok'] = 'Utente aggiunto correttamente'; $lang['add_fail'] = 'Aggiunta utente fallita'; $lang['notify_ok'] = 'Email di notifica inviata'; $lang['notify_fail'] = 'L\'email di notifica non può essere inviata'; +$lang['import_success_count'] = 'Importazione utenti: %d utenti trovati, %d utenti importati con successo.'; +$lang['import_failure_count'] = 'Importazione utenti: %d falliti. Errori riportati qui sotto.'; +$lang['import_error_fields'] = 'Campi insufficienti, trovati %d, richiesti 4.'; +$lang['import_error_baduserid'] = 'User-id non trovato'; +$lang['import_error_badname'] = 'Nome errato'; +$lang['import_error_badmail'] = 'Indirizzo email errato'; +$lang['import_error_upload'] = 'Importazione fallita. Il file CSV non può essere caricato, o è vuoto.'; +$lang['import_error_readfail'] = 'Importazione in errore. Impossibile leggere i file caricati.'; +$lang['import_error_create'] = 'Impossibile creare l\'utente'; diff --git a/lib/plugins/usermanager/lang/ja/import.txt b/lib/plugins/usermanager/lang/ja/import.txt index 751e515ac..6af87c263 100644 --- a/lib/plugins/usermanager/lang/ja/import.txt +++ b/lib/plugins/usermanager/lang/ja/import.txt @@ -2,7 +2,7 @@ 少なくとも4列のユーザーCSVファイルが必要です。 列の順序:ユーザーID、氏名、電子メールアドレス、グループ。 -CSVフィールドはカンマ(,)区切り、文字列は引用符("")区切りです。 +CSVフィールドはカンマ(,)区切り、文字列は引用符(%%""%%)区切りです。 エスケープにバックスラッシュ(\)を使用できます。 適切なファイル例は、上記の"エクスポートユーザー"機能で試して下さい。 重複するユーザーIDは無視されます。 diff --git a/lib/plugins/usermanager/lang/ko/edit.txt b/lib/plugins/usermanager/lang/ko/edit.txt index a938c5b2e..0b35cd7d5 100644 --- a/lib/plugins/usermanager/lang/ko/edit.txt +++ b/lib/plugins/usermanager/lang/ko/edit.txt @@ -1 +1 @@ -===== 사용자 정보 편집 =====
\ No newline at end of file +===== 사용자 편집 =====
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ko/import.txt b/lib/plugins/usermanager/lang/ko/import.txt index 44fe392d0..6d077dfb8 100644 --- a/lib/plugins/usermanager/lang/ko/import.txt +++ b/lib/plugins/usermanager/lang/ko/import.txt @@ -2,7 +2,7 @@ 적어도 열 네 개가 있는 사용자의 CSV 파일이 필요합니다. 열은 다음과 같이 포함해야 합니다: 사용자 id, 실명, 이메일 주소와 그룹. -CSV 필드는 인용 부호("")로 쉼표(,)와 구분된 문자열로 구분해야 합니다. 백슬래시(\)는 탈출에 사용할 수 있습니다. +CSV 필드는 인용 부호(%%""%%)로 쉼표(,)와 구분된 문자열로 구분해야 합니다. 백슬래시(\)는 탈출에 사용할 수 있습니다. 적절한 파일의 예를 들어, 위의 "사용자 목록 내보내기"를 시도하세요. 중복된 사용자 id는 무시됩니다. diff --git a/lib/plugins/usermanager/lang/ko/intro.txt b/lib/plugins/usermanager/lang/ko/intro.txt index d75680c71..2ce85f1a2 100644 --- a/lib/plugins/usermanager/lang/ko/intro.txt +++ b/lib/plugins/usermanager/lang/ko/intro.txt @@ -1 +1 @@ -====== 사용자 관리 ======
\ No newline at end of file +====== 사용자 관리자 ======
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/ko/lang.php b/lib/plugins/usermanager/lang/ko/lang.php index ac129c95e..70e3d94f0 100644 --- a/lib/plugins/usermanager/lang/ko/lang.php +++ b/lib/plugins/usermanager/lang/ko/lang.php @@ -44,7 +44,7 @@ $lang['delete_ok'] = '사용자 %d명이 삭제되었습니다'; $lang['delete_fail'] = '사용자 %d명을 삭제하는 데 실패했습니다.'; $lang['update_ok'] = '사용자 정보를 성공적으로 바꾸었습니다'; $lang['update_fail'] = '사용자 정보를 바꾸는 데 실패했습니다'; -$lang['update_exists'] = '사용자 이름을 바꾸는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다.)'; +$lang['update_exists'] = '사용자 이름을 바꾸는 데 실패했습니다. 사용자 이름(%s)이 이미 존재합니다. (다른 항목의 바뀜은 적용됩니다)'; $lang['start'] = '시작'; $lang['prev'] = '이전'; $lang['next'] = '다음'; diff --git a/lib/plugins/usermanager/lang/lv/import.txt b/lib/plugins/usermanager/lang/lv/import.txt new file mode 100644 index 000000000..0006ae850 --- /dev/null +++ b/lib/plugins/usermanager/lang/lv/import.txt @@ -0,0 +1,9 @@ +===== Masveida lietotāju imports ===== + +Vajag CSV failu ar vismaz četrām lietotāju datu kolonām šādā secībā: identifikators, pilns vārds, e-pasta adrese un grupas. + +CSV lauki jāatdala ar komatiem (,) un virknes — ar pēdiņām (%%""%%). Backslash (\) can be used for escaping. +Derīga faila paraugam izmantojiem augtāk redzamo "Lietotāju eksportu". +Dublētus identifikatorus ignorēs. + +Paroli katram veiksmīgi importētajam lietotājam izveidos un nosūtīs pa e-pastu.
\ No newline at end of file diff --git a/lib/plugins/usermanager/lang/lv/lang.php b/lib/plugins/usermanager/lang/lv/lang.php index 620678ff5..4944da31e 100644 --- a/lib/plugins/usermanager/lang/lv/lang.php +++ b/lib/plugins/usermanager/lang/lv/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Latvian language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Aivars Miška <allefm@gmail.lv> * @author Aivars Miška <allefm@gmail.com> */ diff --git a/lib/plugins/usermanager/lang/nl/import.txt b/lib/plugins/usermanager/lang/nl/import.txt index 267891098..3a9320ecf 100644 --- a/lib/plugins/usermanager/lang/nl/import.txt +++ b/lib/plugins/usermanager/lang/nl/import.txt @@ -1,7 +1,7 @@ ===== Massa-import van gebruikers ===== Hiervoor is een CSV-bestand nodig van de gebruikers met minstens vier kolommen. De kolommen moeten bevatten, in deze volgorde: gebruikers-id, complete naam, e-mailadres en groepen. -Het CSV-velden moeten worden gescheiden met komma's (,) en de teksten moeten worden omringd met dubbele aanhalingstekens (""). Backslash (\) kan worden gebruikt om te escapen. +Het CSV-velden moeten worden gescheiden met komma's (,) en de teksten moeten worden omringd met dubbele aanhalingstekens (%%""%%). Backslash (\) kan worden gebruikt om te escapen. Voor een voorbeeld van een werkend bestand, probeer de "Exporteer Gebruikers" functie hierboven. Dubbele gebruikers-id's zullen worden genegeerd. diff --git a/lib/plugins/usermanager/lang/nl/intro.txt b/lib/plugins/usermanager/lang/nl/intro.txt index 7df09dbab..819e64d7d 100644 --- a/lib/plugins/usermanager/lang/nl/intro.txt +++ b/lib/plugins/usermanager/lang/nl/intro.txt @@ -1 +1 @@ -==== Gebruikersmanager =====
\ No newline at end of file +====== Gebruikersbeheer ====== diff --git a/lib/plugins/usermanager/lang/nl/lang.php b/lib/plugins/usermanager/lang/nl/lang.php index 5cebede89..3f9902e14 100644 --- a/lib/plugins/usermanager/lang/nl/lang.php +++ b/lib/plugins/usermanager/lang/nl/lang.php @@ -15,8 +15,9 @@ * @author Jeroen * @author Ricardo Guijt <ricardoguijt@gmail.com> * @author Gerrit Uitslag <klapinklapin@gmail.com> + * @author Rene <wllywlnt@yahoo.com> */ -$lang['menu'] = 'Gebruikersmanager'; +$lang['menu'] = 'Gebruikersbeheer'; $lang['noauth'] = '(gebruikersauthenticatie niet beschikbaar)'; $lang['nosupport'] = '(gebruikersbeheer niet ondersteund)'; $lang['badauth'] = 'ongeldige authenticatiemethode'; diff --git a/lib/plugins/usermanager/lang/ru/import.txt b/lib/plugins/usermanager/lang/ru/import.txt index dd2b797bc..f2049dd0c 100644 --- a/lib/plugins/usermanager/lang/ru/import.txt +++ b/lib/plugins/usermanager/lang/ru/import.txt @@ -2,7 +2,7 @@ Потребуется список пользователей в файле формата CSV, состоящий из 4 столбцов. Столбцы должны быть заполнены следующим образом: user-id, полное имя, эл. почта, группы. -Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (""). Обратный слэш используется как прерывание. +Поля CSV должны быть отделены запятой (,), а строки должны быть заключены в кавычки (%%""%%). Обратный слэш используется как прерывание. В качестве примера можете взять список пользователей, экспортированный через «Экспорт пользователей». Повторяющиеся идентификаторы user-id будут игнорироваться. diff --git a/lib/plugins/usermanager/lang/ru/lang.php b/lib/plugins/usermanager/lang/ru/lang.php index 83158df31..8bbfa639c 100644 --- a/lib/plugins/usermanager/lang/ru/lang.php +++ b/lib/plugins/usermanager/lang/ru/lang.php @@ -20,6 +20,7 @@ * @author Ivan I. Udovichenko (sendtome@mymailbox.pp.ua) * @author Pavel <ivanovtsk@mail.ru> * @author Aleksandr Selivanov <alexgearbox@yandex.ru> + * @author Igor Degraf <igordegraf@gmail.com> */ $lang['menu'] = 'Управление пользователями'; $lang['noauth'] = '(авторизация пользователей недоступна)'; @@ -77,3 +78,4 @@ $lang['import_error_upload'] = 'Импорт не удался. CSV-файл $lang['import_error_readfail'] = 'Импорт не удался. Невозможно прочесть загруженный файл.'; $lang['import_error_create'] = 'Невозможно создать пользователя'; $lang['import_notify_fail'] = 'Оповещение не может быть отправлено импортированному пользователю %s по электронной почте %s.'; +$lang['import_downloadfailures'] = 'Скачать Ошибки в формате CSV для исправления'; diff --git a/lib/plugins/usermanager/lang/sk/import.txt b/lib/plugins/usermanager/lang/sk/import.txt index 91fa3e370..2207f6162 100644 --- a/lib/plugins/usermanager/lang/sk/import.txt +++ b/lib/plugins/usermanager/lang/sk/import.txt @@ -2,7 +2,7 @@ Vyžaduje CSV súbor používateľov s minimálne 4 stĺpcami. Stĺpce musia obsahovať postupne: ID používateľa, meno a priezvisko, emailová adresa a skupiny. -CVS záznamy by mali byť oddelené čiarkou (,) a reťazce uzavreté úvodzovkami (""). Znak (\) sa používa v spojení so špeciálnymi znakmi. +CVS záznamy by mali byť oddelené čiarkou (,) a reťazce uzavreté úvodzovkami (%%""%%). Znak (\) sa používa v spojení so špeciálnymi znakmi. Príklad vhodného súboru je možné získať funkciou "Export používateľov". Duplicitné ID používateľov budú ignorované. diff --git a/lib/plugins/usermanager/lang/th/lang.php b/lib/plugins/usermanager/lang/th/lang.php index eb88d7b91..d6e14f65f 100644 --- a/lib/plugins/usermanager/lang/th/lang.php +++ b/lib/plugins/usermanager/lang/th/lang.php @@ -1,7 +1,8 @@ <?php + /** - * Thai language file - * + * @license GPL 2 (http://www.gnu.org/licenses/gpl.html) + * * @author Komgrit Niyomrath <n.komgrit@gmail.com> * @author Kittithat Arnontavilas mrtomyum@gmail.com * @author Kittithat Arnontavilas <mrtomyum@gmail.com> diff --git a/lib/plugins/usermanager/lang/zh-tw/import.txt b/lib/plugins/usermanager/lang/zh-tw/import.txt index a6bb5f6ef..925cdc9d0 100644 --- a/lib/plugins/usermanager/lang/zh-tw/import.txt +++ b/lib/plugins/usermanager/lang/zh-tw/import.txt @@ -2,7 +2,7 @@ 需提供 CSV 格式的使用者列表檔案(UTF-8 編碼)。 每列至少 4 欄,依序為:帳號、姓名、電郵、群組。 -各欄以半形逗號 (,) 分隔,有半形逗號的字串可用半形雙引號 ("") 分開,引號可用反斜線 (\) 跳脫。 +各欄以半形逗號 (,) 分隔,有半形逗號的字串可用半形雙引號 (%%""%%) 分開,引號可用反斜線 (\) 跳脫。 重複的使用者帳號會自動忽略。 如需要範例檔案,可用上面的「匯出使用者」取得。 diff --git a/lib/plugins/usermanager/lang/zh-tw/lang.php b/lib/plugins/usermanager/lang/zh-tw/lang.php index 3fb6b6712..61555254d 100644 --- a/lib/plugins/usermanager/lang/zh-tw/lang.php +++ b/lib/plugins/usermanager/lang/zh-tw/lang.php @@ -16,19 +16,14 @@ * @author Danny Lin <danny0838@gmail.com> */ $lang['menu'] = '帳號管理器'; - -// custom language strings for the plugin $lang['noauth'] = '(帳號認證尚未開放)'; $lang['nosupport'] = '(尚不支援帳號管理)'; - $lang['badauth'] = '錯誤的認證機制'; - $lang['user_id'] = '帳號'; $lang['user_pass'] = '密碼'; $lang['user_name'] = '名稱'; $lang['user_mail'] = '電郵'; $lang['user_groups'] = '群組'; - $lang['field'] = '欄位'; $lang['value'] = '設定值'; $lang['add'] = '增加'; @@ -46,7 +41,6 @@ $lang['export_filtered'] = '匯出篩選後的使用者列表 (CSV)'; $lang['import'] = '匯入新使用者'; $lang['line'] = '列號'; $lang['error'] = '錯誤訊息'; - $lang['summary'] = '顯示帳號 %1$d-%2$d,共 %3$d 筆符合。共有 %4$d 個帳號。'; $lang['nonefound'] = '找不到帳號。共有 %d 個帳號。'; $lang['delete_ok'] = '已刪除 %d 個帳號'; @@ -54,13 +48,10 @@ $lang['delete_fail'] = '%d 個帳號無法刪除。'; $lang['update_ok'] = '已更新該帳號'; $lang['update_fail'] = '無法更新該帳號'; $lang['update_exists'] = '無法變更帳號名稱 (%s) ,因為有同名帳號存在。其他修改則已套用。'; - $lang['start'] = '開始'; $lang['prev'] = '上一頁'; $lang['next'] = '下一頁'; $lang['last'] = '最後一頁'; - -// added after 2006-03-09 release $lang['edit_usermissing'] = '找不到選取的帳號,可能已被刪除或改為其他名稱。'; $lang['user_notify'] = '通知使用者'; $lang['note_notify'] = '通知信只會在指定使用者新密碼時寄送。'; @@ -70,8 +61,6 @@ $lang['add_ok'] = '已新增使用者'; $lang['add_fail'] = '無法新增使用者'; $lang['notify_ok'] = '通知信已寄出'; $lang['notify_fail'] = '通知信無法寄出'; - -// import & errors $lang['import_userlistcsv'] = '使用者列表檔案 (CSV): '; $lang['import_header'] = '最近一次匯入 - 失敗'; $lang['import_success_count'] = '使用者匯入:找到 %d 個使用者,已成功匯入 %d 個。'; diff --git a/lib/plugins/usermanager/lang/zh/import.txt b/lib/plugins/usermanager/lang/zh/import.txt index eacce5a77..243a53e84 100644 --- a/lib/plugins/usermanager/lang/zh/import.txt +++ b/lib/plugins/usermanager/lang/zh/import.txt @@ -1,7 +1,7 @@ ===== 批量导入用户 ===== 需要至少有 4 列的 CSV 格式用户列表文件。列必须按顺序包括:用户ID、全名、电子邮件地址和组。 -CSV 域需要用逗号 (,) 分隔,字符串用英文双引号 ("") 分开。反斜杠可以用来转义。 +CSV 域需要用逗号 (,) 分隔,字符串用英文双引号 (%%""%%) 分开。反斜杠可以用来转义。 可以尝试上面的“导入用户”功能来查看示例文件。重复的用户ID将被忽略。 密码生成后会通过电子邮件发送给每个成功导入的用户。
\ No newline at end of file diff --git a/lib/plugins/usermanager/plugin.info.txt b/lib/plugins/usermanager/plugin.info.txt index 315459122..ae4f9b9cc 100644 --- a/lib/plugins/usermanager/plugin.info.txt +++ b/lib/plugins/usermanager/plugin.info.txt @@ -1,7 +1,7 @@ base usermanager author Chris Smith email chris@jalakai.co.uk -date 2013-02-20 +date 2014-03-05 name User Manager desc Manage DokuWiki user accounts url http://dokuwiki.org/plugin:usermanager |