From db9faf025cf129d15a086a803e8056e977975d76 Mon Sep 17 00:00:00 2001
From: Patrick Brown <ptbrown@whoopdedo.org>
Date: Wed, 6 May 2015 01:30:59 -0400
Subject: [PATCH] Report more meaningful errors when an auth backend fails.
 closes #1093

---
 inc/auth.php                                  | 25 +++++++-------
 inc/lang/en/lang.php                          |  2 ++
 lib/plugins/authplain/auth.php                | 33 +++++++++++--------
 lib/plugins/authplain/lang/af/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ar/lang.php        |  6 ++++
 lib/plugins/authplain/lang/az/lang.php        |  6 ++++
 lib/plugins/authplain/lang/bg/lang.php        |  6 ++++
 lib/plugins/authplain/lang/bn/lang.php        |  6 ++++
 .../authplain/lang/ca-valencia/lang.php       |  6 ++++
 lib/plugins/authplain/lang/ca/lang.php        |  6 ++++
 lib/plugins/authplain/lang/cs/lang.php        |  6 ++++
 lib/plugins/authplain/lang/da/lang.php        |  6 ++++
 .../authplain/lang/de-informal/lang.php       |  6 ++++
 lib/plugins/authplain/lang/de/lang.php        |  6 ++++
 lib/plugins/authplain/lang/el/lang.php        |  6 ++++
 lib/plugins/authplain/lang/en/lang.php        |  8 +++++
 lib/plugins/authplain/lang/eo/lang.php        |  6 ++++
 lib/plugins/authplain/lang/es/lang.php        |  6 ++++
 lib/plugins/authplain/lang/et/lang.php        |  6 ++++
 lib/plugins/authplain/lang/eu/lang.php        |  6 ++++
 lib/plugins/authplain/lang/fa/lang.php        |  6 ++++
 lib/plugins/authplain/lang/fi/lang.php        |  6 ++++
 lib/plugins/authplain/lang/fo/lang.php        |  6 ++++
 lib/plugins/authplain/lang/fr/lang.php        |  6 ++++
 lib/plugins/authplain/lang/gl/lang.php        |  6 ++++
 lib/plugins/authplain/lang/he/lang.php        |  6 ++++
 lib/plugins/authplain/lang/hr/lang.php        |  6 ++++
 lib/plugins/authplain/lang/hu/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ia/lang.php        |  6 ++++
 lib/plugins/authplain/lang/id-ni/lang.php     |  6 ++++
 lib/plugins/authplain/lang/id/lang.php        |  6 ++++
 lib/plugins/authplain/lang/is/lang.php        |  6 ++++
 lib/plugins/authplain/lang/it/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ja/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ka/lang.php        |  6 ++++
 lib/plugins/authplain/lang/kk/lang.php        |  6 ++++
 lib/plugins/authplain/lang/km/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ko/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ku/lang.php        |  6 ++++
 lib/plugins/authplain/lang/la/lang.php        |  6 ++++
 lib/plugins/authplain/lang/lb/lang.php        |  6 ++++
 lib/plugins/authplain/lang/lt/lang.php        |  6 ++++
 lib/plugins/authplain/lang/lv/lang.php        |  6 ++++
 lib/plugins/authplain/lang/mg/lang.php        |  6 ++++
 lib/plugins/authplain/lang/mk/lang.php        |  6 ++++
 lib/plugins/authplain/lang/mr/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ms/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ne/lang.php        |  6 ++++
 lib/plugins/authplain/lang/nl/lang.php        |  6 ++++
 lib/plugins/authplain/lang/no/lang.php        |  6 ++++
 lib/plugins/authplain/lang/pl/lang.php        |  6 ++++
 lib/plugins/authplain/lang/pt-br/lang.php     |  6 ++++
 lib/plugins/authplain/lang/pt/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ro/lang.php        |  6 ++++
 lib/plugins/authplain/lang/ru/lang.php        |  6 ++++
 lib/plugins/authplain/lang/sk/lang.php        |  6 ++++
 lib/plugins/authplain/lang/sl/lang.php        |  6 ++++
 lib/plugins/authplain/lang/sq/lang.php        |  6 ++++
 lib/plugins/authplain/lang/sr/lang.php        |  6 ++++
 lib/plugins/authplain/lang/sv/lang.php        |  6 ++++
 lib/plugins/authplain/lang/th/lang.php        |  6 ++++
 lib/plugins/authplain/lang/tr/lang.php        |  6 ++++
 lib/plugins/authplain/lang/uk/lang.php        |  6 ++++
 lib/plugins/authplain/lang/vi/lang.php        |  6 ++++
 lib/plugins/authplain/lang/zh-tw/lang.php     |  6 ++++
 lib/plugins/authplain/lang/zh/lang.php        |  6 ++++
 66 files changed, 415 insertions(+), 25 deletions(-)
 create mode 100644 lib/plugins/authplain/lang/af/lang.php
 create mode 100644 lib/plugins/authplain/lang/ar/lang.php
 create mode 100644 lib/plugins/authplain/lang/az/lang.php
 create mode 100644 lib/plugins/authplain/lang/bg/lang.php
 create mode 100644 lib/plugins/authplain/lang/bn/lang.php
 create mode 100644 lib/plugins/authplain/lang/ca-valencia/lang.php
 create mode 100644 lib/plugins/authplain/lang/ca/lang.php
 create mode 100644 lib/plugins/authplain/lang/cs/lang.php
 create mode 100644 lib/plugins/authplain/lang/da/lang.php
 create mode 100644 lib/plugins/authplain/lang/de-informal/lang.php
 create mode 100644 lib/plugins/authplain/lang/de/lang.php
 create mode 100644 lib/plugins/authplain/lang/el/lang.php
 create mode 100644 lib/plugins/authplain/lang/en/lang.php
 create mode 100644 lib/plugins/authplain/lang/eo/lang.php
 create mode 100644 lib/plugins/authplain/lang/es/lang.php
 create mode 100644 lib/plugins/authplain/lang/et/lang.php
 create mode 100644 lib/plugins/authplain/lang/eu/lang.php
 create mode 100644 lib/plugins/authplain/lang/fa/lang.php
 create mode 100644 lib/plugins/authplain/lang/fi/lang.php
 create mode 100644 lib/plugins/authplain/lang/fo/lang.php
 create mode 100644 lib/plugins/authplain/lang/fr/lang.php
 create mode 100644 lib/plugins/authplain/lang/gl/lang.php
 create mode 100644 lib/plugins/authplain/lang/he/lang.php
 create mode 100644 lib/plugins/authplain/lang/hr/lang.php
 create mode 100644 lib/plugins/authplain/lang/hu/lang.php
 create mode 100644 lib/plugins/authplain/lang/ia/lang.php
 create mode 100644 lib/plugins/authplain/lang/id-ni/lang.php
 create mode 100644 lib/plugins/authplain/lang/id/lang.php
 create mode 100644 lib/plugins/authplain/lang/is/lang.php
 create mode 100644 lib/plugins/authplain/lang/it/lang.php
 create mode 100644 lib/plugins/authplain/lang/ja/lang.php
 create mode 100644 lib/plugins/authplain/lang/ka/lang.php
 create mode 100644 lib/plugins/authplain/lang/kk/lang.php
 create mode 100644 lib/plugins/authplain/lang/km/lang.php
 create mode 100644 lib/plugins/authplain/lang/ko/lang.php
 create mode 100644 lib/plugins/authplain/lang/ku/lang.php
 create mode 100644 lib/plugins/authplain/lang/la/lang.php
 create mode 100644 lib/plugins/authplain/lang/lb/lang.php
 create mode 100644 lib/plugins/authplain/lang/lt/lang.php
 create mode 100644 lib/plugins/authplain/lang/lv/lang.php
 create mode 100644 lib/plugins/authplain/lang/mg/lang.php
 create mode 100644 lib/plugins/authplain/lang/mk/lang.php
 create mode 100644 lib/plugins/authplain/lang/mr/lang.php
 create mode 100644 lib/plugins/authplain/lang/ms/lang.php
 create mode 100644 lib/plugins/authplain/lang/ne/lang.php
 create mode 100644 lib/plugins/authplain/lang/nl/lang.php
 create mode 100644 lib/plugins/authplain/lang/no/lang.php
 create mode 100644 lib/plugins/authplain/lang/pl/lang.php
 create mode 100644 lib/plugins/authplain/lang/pt-br/lang.php
 create mode 100644 lib/plugins/authplain/lang/pt/lang.php
 create mode 100644 lib/plugins/authplain/lang/ro/lang.php
 create mode 100644 lib/plugins/authplain/lang/ru/lang.php
 create mode 100644 lib/plugins/authplain/lang/sk/lang.php
 create mode 100644 lib/plugins/authplain/lang/sl/lang.php
 create mode 100644 lib/plugins/authplain/lang/sq/lang.php
 create mode 100644 lib/plugins/authplain/lang/sr/lang.php
 create mode 100644 lib/plugins/authplain/lang/sv/lang.php
 create mode 100644 lib/plugins/authplain/lang/th/lang.php
 create mode 100644 lib/plugins/authplain/lang/tr/lang.php
 create mode 100644 lib/plugins/authplain/lang/uk/lang.php
 create mode 100644 lib/plugins/authplain/lang/vi/lang.php
 create mode 100644 lib/plugins/authplain/lang/zh-tw/lang.php
 create mode 100644 lib/plugins/authplain/lang/zh/lang.php

diff --git a/inc/auth.php b/inc/auth.php
index 17923ba2a..dd0fc35b3 100644
--- a/inc/auth.php
+++ b/inc/auth.php
@@ -1006,7 +1006,7 @@ function register() {
 
     //okay try to create the user
     if(!$auth->triggerUserMod('create', array($login, $pass, $fullname, $email))) {
-        msg($lang['reguexists'], -1);
+        msg($lang['regfail'], -1);
         return false;
     }
 
@@ -1098,17 +1098,18 @@ function updateprofile() {
         }
     }
 
-    if($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes))) {
-        // update cookie and session with the changed data
-        if($changes['pass']) {
-            list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
-            $pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true));
-            auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky);
-        }
-        return true;
+    if(!($result = $auth->triggerUserMod('modify', array($INPUT->server->str('REMOTE_USER'), &$changes)))) {
+        msg($lang['proffail'], -1);
+        return false;
     }
 
-    return false;
+    // update cookie and session with the changed data
+    if($changes['pass']) {
+        list( /*user*/, $sticky, /*pass*/) = auth_getCookie();
+        $pass = auth_encrypt($changes['pass'], auth_cookiesalt(!$sticky, true));
+        auth_setCookie($INPUT->server->str('REMOTE_USER'), $pass, (bool) $sticky);
+    }
+    return true;
 }
 
 /**
@@ -1221,7 +1222,7 @@ function act_resendpwd() {
 
             // change it
             if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) {
-                msg('error modifying user data', -1);
+                msg($lang['proffail'], -1);
                 return false;
             }
 
@@ -1229,7 +1230,7 @@ function act_resendpwd() {
 
             $pass = auth_pwgen($user);
             if(!$auth->triggerUserMod('modify', array($user, array('pass' => $pass)))) {
-                msg('error modifying user data', -1);
+                msg($lang['proffail'], -1);
                 return false;
             }
 
diff --git a/inc/lang/en/lang.php b/inc/lang/en/lang.php
index 3f11a1ee4..2bbf61000 100644
--- a/inc/lang/en/lang.php
+++ b/inc/lang/en/lang.php
@@ -75,6 +75,7 @@ $lang['regmissing']            = 'Sorry, you must fill in all fields.';
 $lang['reguexists']            = 'Sorry, a user with this login already exists.';
 $lang['regsuccess']            = 'The user has been created and the password was sent by email.';
 $lang['regsuccess2']           = 'The user has been created.';
+$lang['regfail']               = 'The user could not be created.';
 $lang['regmailfail']           = 'Looks like there was an error on sending the password mail. Please contact the admin!';
 $lang['regbadmail']            = 'The given email address looks invalid - if you think this is an error, contact the admin';
 $lang['regbadpass']            = 'The two given passwords are not identical, please try again.';
@@ -90,6 +91,7 @@ $lang['profdeleteuser']        = 'Delete Account';
 $lang['profdeleted']           = 'Your user account has been deleted from this wiki';
 $lang['profconfdelete']        = 'I wish to remove my account from this wiki. <br/> This action can not be undone.';
 $lang['profconfdeletemissing'] = 'Confirmation check box not ticked';
+$lang['proffail']              = 'User profile was not updated.';
 
 $lang['pwdforget']             = 'Forgotten your password? Get a new one';
 $lang['resendna']              = 'This wiki does not support password resending.';
diff --git a/lib/plugins/authplain/auth.php b/lib/plugins/authplain/auth.php
index b31c02fc8..bd46c61a7 100644
--- a/lib/plugins/authplain/auth.php
+++ b/lib/plugins/authplain/auth.php
@@ -134,7 +134,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
         global $config_cascade;
 
         // user mustn't already exist
-        if($this->getUserData($user) !== false) return false;
+        if($this->getUserData($user) !== false) {
+            msg($this->getLang('userexists'), -1);
+            return false;
+        }
 
         $pass = auth_cryptPassword($pwd);
 
@@ -144,16 +147,13 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
         // prepare user line
         $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');
-            return $pwd;
+        if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
+            msg($this->getLang('writefail'), -1);
+            return null;
         }
 
-        msg(
-            'The '.$config_cascade['plainauth.users']['default'].
-                ' file is not writable. Please inform the Wiki-Admin', -1
-        );
-        return null;
+        $this->users[$user] = compact('pass', 'name', 'mail', 'grps');
+        return $pwd;
     }
 
     /**
@@ -169,7 +169,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
         global $config_cascade;
 
         // sanity checks, user must already exist and there must be something to change
-        if(($userinfo = $this->getUserData($user)) === false) return false;
+        if(($userinfo = $this->getUserData($user)) === false) {
+            msg($this->getLang('usernotexists'), -1);
+            return false;
+        }
         if(!is_array($changes) || !count($changes)) return true;
 
         // update userinfo with new data, remembering to encrypt any password
@@ -186,13 +189,14 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
         $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);
+            msg($this->getLang('writefail'), -1);
             return false;
         }
 
         if(!io_saveFile($config_cascade['plainauth.users']['default'], $userline, true)) {
             msg('There was an error modifying your user data. You should register again.', -1);
             // FIXME, user has been deleted but not recreated, should force a logout and redirect to login page
+            // Should replace the delete/save hybrid modify with an atomic io_replaceInFile
             $ACT = 'register';
             return false;
         }
@@ -223,7 +227,10 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
         if(empty($deleted)) return 0;
 
         $pattern = '/^('.join('|', $deleted).'):/';
-        io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true);
+        if (!io_deleteFromFile($config_cascade['plainauth.users']['default'], $pattern, true)) {
+            msg($this->getLang('writefail'), -1);
+            return 0;
+        }
 
         // reload the user list and count the difference
         $count = count($this->users);
@@ -407,4 +414,4 @@ class auth_plugin_authplain extends DokuWiki_Auth_Plugin {
             $this->_pattern[$item] = '/'.str_replace('/', '\/', $pattern).'/i'; // allow regex characters
         }
     }
-}
\ No newline at end of file
+}
diff --git a/lib/plugins/authplain/lang/af/lang.php b/lib/plugins/authplain/lang/af/lang.php
new file mode 100644
index 000000000..29742cfd2
--- /dev/null
+++ b/lib/plugins/authplain/lang/af/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Die gebruikersnaam wat jy gebruik het, is alreeds gebruik. Kies asseblief \'n ander gebruikersnaam.';
diff --git a/lib/plugins/authplain/lang/ar/lang.php b/lib/plugins/authplain/lang/ar/lang.php
new file mode 100644
index 000000000..16d59f397
--- /dev/null
+++ b/lib/plugins/authplain/lang/ar/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'عذرا، يوجد مشترك بنفس الاسم.';
diff --git a/lib/plugins/authplain/lang/az/lang.php b/lib/plugins/authplain/lang/az/lang.php
new file mode 100644
index 000000000..f98eccde1
--- /dev/null
+++ b/lib/plugins/authplain/lang/az/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Təssüf ki bu ad ilə istifadəçi artıq mövcuddur.';
diff --git a/lib/plugins/authplain/lang/bg/lang.php b/lib/plugins/authplain/lang/bg/lang.php
new file mode 100644
index 000000000..5b8e6bc37
--- /dev/null
+++ b/lib/plugins/authplain/lang/bg/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Вече съществува потребител с избраното име.';
diff --git a/lib/plugins/authplain/lang/bn/lang.php b/lib/plugins/authplain/lang/bn/lang.php
new file mode 100644
index 000000000..43fe4ca6e
--- /dev/null
+++ b/lib/plugins/authplain/lang/bn/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'দুঃখিত, এই লগইন সঙ্গে একটি ব্যবহারকারী ইতিমধ্যেই বিদ্যমান.';
diff --git a/lib/plugins/authplain/lang/ca-valencia/lang.php b/lib/plugins/authplain/lang/ca-valencia/lang.php
new file mode 100644
index 000000000..3e973beae
--- /dev/null
+++ b/lib/plugins/authplain/lang/ca-valencia/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Disculpe, pero ya existix un usuari en este nom.';
diff --git a/lib/plugins/authplain/lang/ca/lang.php b/lib/plugins/authplain/lang/ca/lang.php
new file mode 100644
index 000000000..5a675639d
--- /dev/null
+++ b/lib/plugins/authplain/lang/ca/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Ja existeix un altre usuari amb aquest nom.';
diff --git a/lib/plugins/authplain/lang/cs/lang.php b/lib/plugins/authplain/lang/cs/lang.php
new file mode 100644
index 000000000..8128d45a3
--- /dev/null
+++ b/lib/plugins/authplain/lang/cs/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Uživatel se stejným jménem už je zaregistrován.';
diff --git a/lib/plugins/authplain/lang/da/lang.php b/lib/plugins/authplain/lang/da/lang.php
new file mode 100644
index 000000000..c7dd376c1
--- /dev/null
+++ b/lib/plugins/authplain/lang/da/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Dette brugernavn er allerede i brug.';
diff --git a/lib/plugins/authplain/lang/de-informal/lang.php b/lib/plugins/authplain/lang/de-informal/lang.php
new file mode 100644
index 000000000..f1d484947
--- /dev/null
+++ b/lib/plugins/authplain/lang/de-informal/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Der Benutzername existiert leider schon.';
diff --git a/lib/plugins/authplain/lang/de/lang.php b/lib/plugins/authplain/lang/de/lang.php
new file mode 100644
index 000000000..f1d484947
--- /dev/null
+++ b/lib/plugins/authplain/lang/de/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Der Benutzername existiert leider schon.';
diff --git a/lib/plugins/authplain/lang/el/lang.php b/lib/plugins/authplain/lang/el/lang.php
new file mode 100644
index 000000000..7f7e4e76d
--- /dev/null
+++ b/lib/plugins/authplain/lang/el/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Αυτός ο λογαριασμός υπάρχει ήδη.';
diff --git a/lib/plugins/authplain/lang/en/lang.php b/lib/plugins/authplain/lang/en/lang.php
new file mode 100644
index 000000000..6f8abfdb6
--- /dev/null
+++ b/lib/plugins/authplain/lang/en/lang.php
@@ -0,0 +1,8 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Sorry, a user with this login already exists.';
+$lang['usernotexists']  = 'Sorry, that user doesn\'t exist.';
+$lang['writefail']      = 'Unable to modify user data. Please inform the Wiki-Admin';
diff --git a/lib/plugins/authplain/lang/eo/lang.php b/lib/plugins/authplain/lang/eo/lang.php
new file mode 100644
index 000000000..ab7655e81
--- /dev/null
+++ b/lib/plugins/authplain/lang/eo/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Pardonu, ĉi tiu uzanto-nomo jam ekzistas.';
diff --git a/lib/plugins/authplain/lang/es/lang.php b/lib/plugins/authplain/lang/es/lang.php
new file mode 100644
index 000000000..8f03e79cb
--- /dev/null
+++ b/lib/plugins/authplain/lang/es/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Lo siento, ya existe un usuario con este nombre.';
diff --git a/lib/plugins/authplain/lang/et/lang.php b/lib/plugins/authplain/lang/et/lang.php
new file mode 100644
index 000000000..7f9f7771b
--- /dev/null
+++ b/lib/plugins/authplain/lang/et/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Tegelikult on sellise nimega kasutaja juba olemas.';
diff --git a/lib/plugins/authplain/lang/eu/lang.php b/lib/plugins/authplain/lang/eu/lang.php
new file mode 100644
index 000000000..09ca4d3b7
--- /dev/null
+++ b/lib/plugins/authplain/lang/eu/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Barkatu, izen bereko erabiltzailea existitzen da.';
diff --git a/lib/plugins/authplain/lang/fa/lang.php b/lib/plugins/authplain/lang/fa/lang.php
new file mode 100644
index 000000000..49083ad60
--- /dev/null
+++ b/lib/plugins/authplain/lang/fa/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'نام کاربری‌ای که وارد کردید قبلن استفاده شده است. خواهشمندیم یک نام دیگر انتخاب کنید.';
diff --git a/lib/plugins/authplain/lang/fi/lang.php b/lib/plugins/authplain/lang/fi/lang.php
new file mode 100644
index 000000000..3a77f3e3a
--- /dev/null
+++ b/lib/plugins/authplain/lang/fi/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Käyttäjä tällä käyttäjänimellä on jo olemassa.';
diff --git a/lib/plugins/authplain/lang/fo/lang.php b/lib/plugins/authplain/lang/fo/lang.php
new file mode 100644
index 000000000..a9654664b
--- /dev/null
+++ b/lib/plugins/authplain/lang/fo/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Hetta brúkaranavn er upptiki.';
diff --git a/lib/plugins/authplain/lang/fr/lang.php b/lib/plugins/authplain/lang/fr/lang.php
new file mode 100644
index 000000000..9316836e4
--- /dev/null
+++ b/lib/plugins/authplain/lang/fr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Désolé, ce nom d\'utilisateur est déjà pris.';
diff --git a/lib/plugins/authplain/lang/gl/lang.php b/lib/plugins/authplain/lang/gl/lang.php
new file mode 100644
index 000000000..35138d378
--- /dev/null
+++ b/lib/plugins/authplain/lang/gl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Sentímolo, mais xa existe un usuario con ese nome.';
diff --git a/lib/plugins/authplain/lang/he/lang.php b/lib/plugins/authplain/lang/he/lang.php
new file mode 100644
index 000000000..01d877b62
--- /dev/null
+++ b/lib/plugins/authplain/lang/he/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'משתמש בשם זה כבר נרשם, עמך הסליחה.';
diff --git a/lib/plugins/authplain/lang/hr/lang.php b/lib/plugins/authplain/lang/hr/lang.php
new file mode 100644
index 000000000..ffcbf5f61
--- /dev/null
+++ b/lib/plugins/authplain/lang/hr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Korisnik s tim korisničkim imenom već postoji.';
diff --git a/lib/plugins/authplain/lang/hu/lang.php b/lib/plugins/authplain/lang/hu/lang.php
new file mode 100644
index 000000000..6de5db772
--- /dev/null
+++ b/lib/plugins/authplain/lang/hu/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Sajnáljuk, ilyen azonosítójú felhasználónk már van.';
diff --git a/lib/plugins/authplain/lang/ia/lang.php b/lib/plugins/authplain/lang/ia/lang.php
new file mode 100644
index 000000000..7596f3f4c
--- /dev/null
+++ b/lib/plugins/authplain/lang/ia/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Regrettabilemente, un usator con iste nomine ja existe.';
diff --git a/lib/plugins/authplain/lang/id-ni/lang.php b/lib/plugins/authplain/lang/id-ni/lang.php
new file mode 100644
index 000000000..729c9f9dc
--- /dev/null
+++ b/lib/plugins/authplain/lang/id-ni/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Bologö dödöu, no so zangoguna\'ö töi da\'a.';
diff --git a/lib/plugins/authplain/lang/id/lang.php b/lib/plugins/authplain/lang/id/lang.php
new file mode 100644
index 000000000..5e6a99830
--- /dev/null
+++ b/lib/plugins/authplain/lang/id/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Maaf, user dengan user login ini telah ada.';
diff --git a/lib/plugins/authplain/lang/is/lang.php b/lib/plugins/authplain/lang/is/lang.php
new file mode 100644
index 000000000..21392ee5e
--- /dev/null
+++ b/lib/plugins/authplain/lang/is/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Afsakið, notandi með þessu nafni er þegar skráður inn.';
diff --git a/lib/plugins/authplain/lang/it/lang.php b/lib/plugins/authplain/lang/it/lang.php
new file mode 100644
index 000000000..716041ffb
--- /dev/null
+++ b/lib/plugins/authplain/lang/it/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Il nome utente inserito esiste già.';
diff --git a/lib/plugins/authplain/lang/ja/lang.php b/lib/plugins/authplain/lang/ja/lang.php
new file mode 100644
index 000000000..aad08a8bd
--- /dev/null
+++ b/lib/plugins/authplain/lang/ja/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'このユーザー名は既に存在しています。';
diff --git a/lib/plugins/authplain/lang/ka/lang.php b/lib/plugins/authplain/lang/ka/lang.php
new file mode 100644
index 000000000..8983791c9
--- /dev/null
+++ b/lib/plugins/authplain/lang/ka/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'მსგავსი ლოგინი უკვე არსებობს';
diff --git a/lib/plugins/authplain/lang/kk/lang.php b/lib/plugins/authplain/lang/kk/lang.php
new file mode 100644
index 000000000..95fe53204
--- /dev/null
+++ b/lib/plugins/authplain/lang/kk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Кешіріңіз, бұл түпнұскамен де пайдаланушы бар.';
diff --git a/lib/plugins/authplain/lang/km/lang.php b/lib/plugins/authplain/lang/km/lang.php
new file mode 100644
index 000000000..322e454e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/km/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'សុំអាទោស​ នាមប្រើនេះមានរួចហើ។';
diff --git a/lib/plugins/authplain/lang/ko/lang.php b/lib/plugins/authplain/lang/ko/lang.php
new file mode 100644
index 000000000..de5a7c02f
--- /dev/null
+++ b/lib/plugins/authplain/lang/ko/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = '죄송하지만 같은 이름을 사용하는 사용자가 있습니다.';
diff --git a/lib/plugins/authplain/lang/ku/lang.php b/lib/plugins/authplain/lang/ku/lang.php
new file mode 100644
index 000000000..64cb834f3
--- /dev/null
+++ b/lib/plugins/authplain/lang/ku/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Sorry, a user with this login already exists.';
diff --git a/lib/plugins/authplain/lang/la/lang.php b/lib/plugins/authplain/lang/la/lang.php
new file mode 100644
index 000000000..5f2eecfd8
--- /dev/null
+++ b/lib/plugins/authplain/lang/la/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Nomen Sodalis ab aliquo iam elegitur.';
diff --git a/lib/plugins/authplain/lang/lb/lang.php b/lib/plugins/authplain/lang/lb/lang.php
new file mode 100644
index 000000000..4c760dfe4
--- /dev/null
+++ b/lib/plugins/authplain/lang/lb/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Et get schonn e Benotzer mat deem Numm.';
diff --git a/lib/plugins/authplain/lang/lt/lang.php b/lib/plugins/authplain/lang/lt/lang.php
new file mode 100644
index 000000000..5ad435a04
--- /dev/null
+++ b/lib/plugins/authplain/lang/lt/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Vartotojas su pasirinktu prisijungimo vardu jau egzistuoja.';
diff --git a/lib/plugins/authplain/lang/lv/lang.php b/lib/plugins/authplain/lang/lv/lang.php
new file mode 100644
index 000000000..3a9d4d3e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/lv/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Atvaino, tāds lietotājs jau ir.';
diff --git a/lib/plugins/authplain/lang/mg/lang.php b/lib/plugins/authplain/lang/mg/lang.php
new file mode 100644
index 000000000..8472161b7
--- /dev/null
+++ b/lib/plugins/authplain/lang/mg/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Indrisy fa efa nisy namandrika io anarana io.';
diff --git a/lib/plugins/authplain/lang/mk/lang.php b/lib/plugins/authplain/lang/mk/lang.php
new file mode 100644
index 000000000..8ebb9fab8
--- /dev/null
+++ b/lib/plugins/authplain/lang/mk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Жалам, корисник со ова корисничко име веќе постои.';
diff --git a/lib/plugins/authplain/lang/mr/lang.php b/lib/plugins/authplain/lang/mr/lang.php
new file mode 100644
index 000000000..15dcf18a0
--- /dev/null
+++ b/lib/plugins/authplain/lang/mr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'या नावाने सदस्याची नोंदणी झालेली आहे, कृपया दुसरे सदस्य नाव निवडा.';
diff --git a/lib/plugins/authplain/lang/ms/lang.php b/lib/plugins/authplain/lang/ms/lang.php
new file mode 100644
index 000000000..14c3b11af
--- /dev/null
+++ b/lib/plugins/authplain/lang/ms/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Maaf, nama pengguna yang dimasukkan telah diguna. Sila pilih nama yang lain.';
diff --git a/lib/plugins/authplain/lang/ne/lang.php b/lib/plugins/authplain/lang/ne/lang.php
new file mode 100644
index 000000000..942757855
--- /dev/null
+++ b/lib/plugins/authplain/lang/ne/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'यो नामको प्रयोगकर्ता पहिले देखि रहेको छ।';
diff --git a/lib/plugins/authplain/lang/nl/lang.php b/lib/plugins/authplain/lang/nl/lang.php
new file mode 100644
index 000000000..1a5397234
--- /dev/null
+++ b/lib/plugins/authplain/lang/nl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Er bestaat al een gebruiker met deze loginnaam.';
diff --git a/lib/plugins/authplain/lang/no/lang.php b/lib/plugins/authplain/lang/no/lang.php
new file mode 100644
index 000000000..981881369
--- /dev/null
+++ b/lib/plugins/authplain/lang/no/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Det finnes allerede en konto med dette brukernavnet.';
diff --git a/lib/plugins/authplain/lang/pl/lang.php b/lib/plugins/authplain/lang/pl/lang.php
new file mode 100644
index 000000000..9a61b0047
--- /dev/null
+++ b/lib/plugins/authplain/lang/pl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Użytkownik o tej nazwie już istnieje.';
diff --git a/lib/plugins/authplain/lang/pt-br/lang.php b/lib/plugins/authplain/lang/pt-br/lang.php
new file mode 100644
index 000000000..3a9b67218
--- /dev/null
+++ b/lib/plugins/authplain/lang/pt-br/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Desculpe, mas já existe um usuário com esse nome.';
diff --git a/lib/plugins/authplain/lang/pt/lang.php b/lib/plugins/authplain/lang/pt/lang.php
new file mode 100644
index 000000000..c49649d4e
--- /dev/null
+++ b/lib/plugins/authplain/lang/pt/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Este utilizador já está inscrito. Por favor escolha outro nome de utilizador.';
diff --git a/lib/plugins/authplain/lang/ro/lang.php b/lib/plugins/authplain/lang/ro/lang.php
new file mode 100644
index 000000000..eb243a12f
--- /dev/null
+++ b/lib/plugins/authplain/lang/ro/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Ne pare rău, un utilizator cu acest nume este deja autentificat.';
diff --git a/lib/plugins/authplain/lang/ru/lang.php b/lib/plugins/authplain/lang/ru/lang.php
new file mode 100644
index 000000000..8a40852d6
--- /dev/null
+++ b/lib/plugins/authplain/lang/ru/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Извините, пользователь с таким логином уже существует.';
diff --git a/lib/plugins/authplain/lang/sk/lang.php b/lib/plugins/authplain/lang/sk/lang.php
new file mode 100644
index 000000000..5153fc1c9
--- /dev/null
+++ b/lib/plugins/authplain/lang/sk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Užívateľ s rovnakým menom je už zaregistrovaný.';
diff --git a/lib/plugins/authplain/lang/sl/lang.php b/lib/plugins/authplain/lang/sl/lang.php
new file mode 100644
index 000000000..d4ee30fda
--- /dev/null
+++ b/lib/plugins/authplain/lang/sl/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Uporabnik s tem imenom že obstaja.';
diff --git a/lib/plugins/authplain/lang/sq/lang.php b/lib/plugins/authplain/lang/sq/lang.php
new file mode 100644
index 000000000..e3a93502f
--- /dev/null
+++ b/lib/plugins/authplain/lang/sq/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Na vjen keq, ekziston një përdorues tjetër me të njëjtin emër.';
diff --git a/lib/plugins/authplain/lang/sr/lang.php b/lib/plugins/authplain/lang/sr/lang.php
new file mode 100644
index 000000000..2d85ca42a
--- /dev/null
+++ b/lib/plugins/authplain/lang/sr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Извините, корисник са истим именом већ постоји.';
diff --git a/lib/plugins/authplain/lang/sv/lang.php b/lib/plugins/authplain/lang/sv/lang.php
new file mode 100644
index 000000000..fb80df956
--- /dev/null
+++ b/lib/plugins/authplain/lang/sv/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Det finns redan en användare med det användarnamnet.';
diff --git a/lib/plugins/authplain/lang/th/lang.php b/lib/plugins/authplain/lang/th/lang.php
new file mode 100644
index 000000000..c7aaf68dd
--- /dev/null
+++ b/lib/plugins/authplain/lang/th/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'ชื่อบัญชีที่ใส่นั้นมีผู้อื่นได้ใช้แล้ว กรุณาเลือกชื่อผู้ใช้อื่น';
diff --git a/lib/plugins/authplain/lang/tr/lang.php b/lib/plugins/authplain/lang/tr/lang.php
new file mode 100644
index 000000000..d7064e8bf
--- /dev/null
+++ b/lib/plugins/authplain/lang/tr/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Üzgünüz, bu isime sahip bir kullanıcı zaten mevcut.';
diff --git a/lib/plugins/authplain/lang/uk/lang.php b/lib/plugins/authplain/lang/uk/lang.php
new file mode 100644
index 000000000..d8f0a32b2
--- /dev/null
+++ b/lib/plugins/authplain/lang/uk/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Користувач з таким іменем вже існує.';
diff --git a/lib/plugins/authplain/lang/vi/lang.php b/lib/plugins/authplain/lang/vi/lang.php
new file mode 100644
index 000000000..7ecb0a27c
--- /dev/null
+++ b/lib/plugins/authplain/lang/vi/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = 'Bạn khác đã dùng username này rồi.';
diff --git a/lib/plugins/authplain/lang/zh-tw/lang.php b/lib/plugins/authplain/lang/zh-tw/lang.php
new file mode 100644
index 000000000..8a5d290e5
--- /dev/null
+++ b/lib/plugins/authplain/lang/zh-tw/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = '很抱歉,有人已使用了這個帳號。';
diff --git a/lib/plugins/authplain/lang/zh/lang.php b/lib/plugins/authplain/lang/zh/lang.php
new file mode 100644
index 000000000..03542fe72
--- /dev/null
+++ b/lib/plugins/authplain/lang/zh/lang.php
@@ -0,0 +1,6 @@
+<?php
+/**
+ * @license    GPL 2 (http://www.gnu.org/licenses/gpl.html)
+ *
+ */
+$lang['userexists']     = '对不起,该用户名已经存在。';
-- 
GitLab