Remove mod_register_web in master because it's already included in ejabberd

This commit is contained in:
Badlop 2015-02-06 12:46:48 +01:00
parent cadc841927
commit 45824cf82b
14 changed files with 0 additions and 1260 deletions

View File

@ -1,37 +0,0 @@
2009-05-02 Badlop <badlop@process-one.net>
* src/msgs/es.mod_register_web.po: Update Spanish translation
* src/msgs/es.mod_register_web.msg: Likewise
* src/mod_register_web.erl: Update translatable strings
* src/msgs/mod_register_web.pot: Likewise
* src/msgs/: New directory for module translations (EJAB-925)
2009-03-30 Badlop <badlop@process-one.net>
* src/mod_register_web.erl: Use captcha in account registration
page, using ejabberd_captcha, requires recent ejabberd
version. Fix password change. Hide password text. Show host in
forms. Fix vhost support.
* README.txt: Require ejabberd trunk SVN r2001
2009-03-11 Badlop <badlop@process-one.net>
* src/mod_register_web.erl: Fix capitalization of HTTP headers
2009-01-27 Badlop <badlop@process-one.net>
* README.txt: Require ejabberd trunk SVN. There is a 2.0.x branch.
2008-05-31 Badlop <badlop@process-one.net>
* README.txt: Require ejabberd 2.0.2. Add explanation about last
character / in URL
2008-05-18 Badlop <badlop@process-one.net>
* mod_register_web: New module that provides web pages to register
account and other related tasks

View File

@ -1,2 +0,0 @@
{'../ejabberd-dev/src/gen_mod', [{outdir, "../ejabberd-dev/ebin"},{i,"../ejabberd-dev/include"}]}.
{'src/mod_register_web', [{outdir, "ebin"},{i,"../ejabberd-dev/include"}]}.

View File

@ -1,77 +0,0 @@
mod_register_web - Web to register account
Homepage: http://www.ejabberd.im/mod_register_web
Author: Badlop
Requirements: ejabberd ejabberd 2.1.0 or higher
DESCRIPTION
-----------
This module provides a web page where users can register Jabber accounts,
change password and other related tasks.
CONFIGURATION
-------------
Add to ejabberd.cfg, 'modules' section the basic configuration:
{modules, [
...
{mod_register_web, []},
...
]}.
In the 'listen' section enable the web page:
{listen, [
...
{5281, ejabberd_http, [
tls,
{certfile, "/etc/ejabberd/certificate.pem"},
{request_handlers, [
{["register"], mod_register_web}
]}
]},
...
]}.
In this example the page is served in https://example.org:5281/register/
Make sure to include the last / character in the URL.
Otherwise when you enter a subpage the URL will not be correct,
for example: http://localhost:5281/new ---> 404 Not Found
This module supports CAPTCHA image to register a new account.
To enable this feature, configure the options captcha_cmd and captcha_host.
See the ejabberd Guide for more information about those options.
This module supports the option registration_watchers,
which works similarly to the mod_register option.
FEATURE REQUESTS
----------------
* Allow configuration of the hardcoded "register" path in URL.
* Enforce configurable ACL+ACCESS to register
* Improve the default CSS to provide an acceptable look.
* Option to use a custom CSS file.
* Optionally registration request is only forwarded to admin, no account created.
* Option to select which subpages are available
* Store in a custom mnesia table: timestamp of account register and IP.
* Use time limiter by IP like mod_register for: register, changepass.
* Allow private email during register, and store in custom table.
* Optionally require private email to register.
* Optionally require email confirmation to register.
* Allow to set a private email address anytime.
* Allow to recover password using the private email to confirm (see mod_passrecover).
* Optionally require invitation

View File

@ -1 +0,0 @@
erl -pa ../ejabberd-dev/ebin -pa ebin -make

View File

@ -1,2 +0,0 @@
#!/bin/sh
erl -pa ../ejabberd-dev/ebin -pz ebin -make

View File

@ -1,584 +0,0 @@
%%%-------------------------------------------------------------------
%%% File : mod_register_web.erl
%%% Author : Badlop <badlop@process-one.net>
%%% Purpose : Web pages to register account and related tasks
%%% Created : 4 May 2008 by Badlop <badlop@process-one.net>
%%%-------------------------------------------------------------------
-module(mod_register_web).
-author('badlop@process-one.net').
-behaviour(gen_mod).
-export([
start/2,
stop/1,
process/2
]).
-include("ejabberd.hrl").
-include("jlib.hrl").
-include("web/ejabberd_http.hrl").
-include("web/ejabberd_web_admin.hrl").
%% TODO: Check that all the text is translatable.
%% TODO: Check EDoc syntax is correct.
%%%----------------------------------------------------------------------
%%% gen_mod callbacks
%%%----------------------------------------------------------------------
%% TODO: Improve this module to allow each virtual host to have different
%% options. See http://support.process-one.net/browse/EJAB-561
start(_Host, _Opts) ->
%% case gen_mod:get_opt(docroot, Opts, undefined) of
ok.
stop(_Host) ->
ok.
%%%----------------------------------------------------------------------
%%% HTTP handlers
%%%----------------------------------------------------------------------
process([], #request{method = 'GET', lang = Lang}) ->
index_page(Lang);
process(["register.css"], #request{method = 'GET'}) ->
serve_css();
process(["new"], #request{method = 'GET', lang = Lang, host = Host}) ->
form_new_get(Host, Lang);
process(["delete"], #request{method = 'GET', lang = Lang, host = Host}) ->
form_del_get(Host, Lang);
process(["change_password"], #request{method = 'GET', lang = Lang, host = Host}) ->
form_changepass_get(Host, Lang);
process(["new"], #request{method = 'POST', q = Q, ip = {Ip,_Port}, lang = Lang, host = Host}) ->
case form_new_post(Q, Host) of
{success, ok, {Username, Host, _Password}} ->
Jid = jlib:make_jid(Username, Host, ""),
send_registration_notifications(Jid, Ip),
Text = ?T("Your Jabber account was succesfully created."),
{200, [], Text};
Error ->
ErrorText = ?T("There was an error creating the account: ") ++
?T(get_error_text(Error)),
{404, [], ErrorText}
end;
process(["delete"], #request{method = 'POST', q = Q, lang = Lang, host = Host}) ->
case form_del_post(Q, Host) of
{atomic, ok} ->
Text = ?T("Your Jabber account was succesfully deleted."),
{200, [], Text};
Error ->
ErrorText = ?T("There was an error deleting the account: ") ++
?T(get_error_text(Error)),
{404, [], ErrorText}
end;
%% TODO: Currently only the first vhost is usable. The web request record
%% should include the host where the POST was sent.
process(["change_password"], #request{method = 'POST', q = Q, lang = Lang, host = Host}) ->
case form_changepass_post(Q, Host) of
{atomic, ok} ->
Text = ?T("The password of your Jabber account was succesfully changed."),
{200, [], Text};
Error ->
ErrorText = ?T("There was an error changing the password: ") ++
?T(get_error_text(Error)),
{404, [], ErrorText}
end.
%%%----------------------------------------------------------------------
%%% CSS
%%%----------------------------------------------------------------------
serve_css() ->
{200, [{"Content-Type", "text/css"},
last_modified(), cache_control_public()], css()}.
last_modified() ->
{"Last-Modified", "Mon, 25 Feb 2008 13:23:30 GMT"}.
cache_control_public() ->
{"Cache-Control", "public"}.
css() ->
"html,body {
background: white;
margin: 0;
padding: 0;
height: 100%;
}".
%%%----------------------------------------------------------------------
%%% Index page
%%%----------------------------------------------------------------------
index_page(Lang) ->
HeadEls = [
?XCT("title", "Jabber Account Registration"),
?XA("link",
[{"href", "/register/register.css"},
{"type", "text/css"},
{"rel", "stylesheet"}])
],
Els=[
?XACT("h1",
[{"class", "title"}, {"style", "text-align:center;"}],
"Jabber Account Registration"),
?XE("ul", [
?XE("li", [?ACT("new", "Register a Jabber account")]),
?XE("li", [?ACT("change_password", "Change Password")]),
?XE("li", [?ACT("delete", "Unregister a Jabber account")])
]
)
],
{200,
[{"Server", "ejabberd"},
{"Content-Type", "text/html"}],
ejabberd_web:make_xhtml(HeadEls, Els)}.
%%%----------------------------------------------------------------------
%%% Formulary new account GET
%%%----------------------------------------------------------------------
form_new_get(Host, Lang) ->
CaptchaEls = build_captcha_li_list(Lang),
HeadEls = [
?XCT("title", "Register a Jabber account"),
?XA("link",
[{"href", "/register/register.css"},
{"type", "text/css"},
{"rel", "stylesheet"}])
],
Els=[
?XACT("h1",
[{"class", "title"}, {"style", "text-align:center;"}],
"Register a Jabber account"),
?XCT("p",
"This page allows to create a Jabber account in this Jabber server. "
"Your JID (Jabber IDentifier) will be of the form: username@server. "
"Please read carefully the instructions to fill correctly the fields."),
%% <!-- JID's take the form of 'username@server.com'. For example, my JID is 'kirjava@jabber.org'.
%% The maximum length for a JID is 255 characters. -->
?XAE("form", [{"action", ""}, {"method", "post"}],
[
?XE("ol", [
?XE("li", [
?CT("Username:"),
?C(" "),
?INPUTS("text", "username", "", "20"),
?BR,
?XE("ul", [
?XCT("li", "This is case insensitive: macbeth is the same that MacBeth and Macbeth."),
?XCT("li", "Characters not allowed: @ : ' \" < > &")
])
]),
?XE("li", [
?CT("Server:"),
?C(" "),
?C(Host)
]),
?XE("li", [
?CT("Password:"),
?C(" "),
?INPUTS("password", "password", "", "20"),
?BR,
?XE("ul", [
?XCT("li", "Don't tell your password to anybody, "
"not even the administrators of the Jabber server."),
?XCT("li", "You can later change your password using a Jabber client."),
?XCT("li", "Some Jabber clients can store your password in your computer. "
"Use that feature only if you trust your computer is safe."),
?XCT("li", "Memorize your password, or write it in a paper placed in a safe place. "
"In Jabber there isn't an automated way to recover your password if you forget it.")
])
]),
?XE("li", [
?CT("Password Verification:"),
?C(" "),
?INPUTS("password", "password2", "", "20")
])] ++ CaptchaEls ++ [
%% Nombre</b> (opcional)<b>:</b> <input type="text" size="20" name="name" maxlength="255"> <br /> <br /> -->
%%
%% Direcci&oacute;n de correo</b> (opcional)<b>:</b> <input type="text" size="20" name="email" maxlength="255"> <br /> <br /> -->
?XE("li", [
?INPUTT("submit", "register", "Register")
])
])
])
],
{200,
[{"Server", "ejabberd"},
{"Content-Type", "text/html"}],
ejabberd_web:make_xhtml(HeadEls, Els)}.
%% Copied from mod_register.erl
send_registration_notifications(UJID, Source) ->
Host = UJID#jid.lserver,
case gen_mod:get_module_opt(Host, ?MODULE, registration_watchers, []) of
[] -> ok;
JIDs when is_list(JIDs) ->
Body = lists:flatten(
io_lib:format(
"[~s] The account ~s was registered from IP address ~s "
"on node ~w using ~p.",
[get_time_string(), jlib:jid_to_string(UJID),
ip_to_string(Source), node(), ?MODULE])),
lists:foreach(
fun(S) ->
case jlib:string_to_jid(S) of
error -> ok;
JID ->
ejabberd_router:route(
jlib:make_jid("", Host, ""),
JID,
{xmlelement, "message", [{"type", "chat"}],
[{xmlelement, "body", [],
[{xmlcdata, Body}]}]})
end
end, JIDs);
_ ->
ok
end.
ip_to_string(Source) when is_tuple(Source) -> inet_parse:ntoa(Source);
ip_to_string(undefined) -> "undefined";
ip_to_string(_) -> "unknown".
get_time_string() -> write_time(erlang:localtime()).
%% Function copied from ejabberd_logger_h.erl and customized
write_time({{Y,Mo,D},{H,Mi,S}}) ->
io_lib:format("~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w",
[Y, Mo, D, H, Mi, S]).
%%%----------------------------------------------------------------------
%%% Formulary new POST
%%%----------------------------------------------------------------------
form_new_post(Q, Host) ->
case catch get_register_parameters(Q) of
[Username, Password, Password, Id, Key] ->
form_new_post(Username, Host, Password, {Id, Key});
[_Username, _Password, _Password2, false, false] ->
{error, passwords_not_identical};
[_Username, _Password, _Password2, Id, Key] ->
ejabberd_captcha:check_captcha(Id, Key), %% This deletes the captcha
{error, passwords_not_identical};
_ ->
{error, wrong_parameters}
end.
get_register_parameters(Q) ->
lists:map(
fun(Key) ->
case lists:keysearch(Key, 1, Q) of
{value, {_Key, Value}} -> Value;
false -> false
end
end,
["username", "password", "password2", "id", "key"]).
form_new_post(Username, Host, Password, {false, false}) ->
register_account(Username, Host, Password);
form_new_post(Username, Host, Password, {Id, Key}) ->
case ejabberd_captcha:check_captcha(Id, Key) of
captcha_valid ->
register_account(Username, Host, Password);
captcha_non_valid ->
{error, captcha_non_valid};
captcha_not_found ->
{error, captcha_non_valid}
end.
%%%----------------------------------------------------------------------
%%% Formulary Captcha support for new GET/POST
%%%----------------------------------------------------------------------
build_captcha_li_list(Lang) ->
case ejabberd_captcha:is_feature_available() of
true -> build_captcha_li_list2(Lang);
false -> []
end.
build_captcha_li_list2(Lang) ->
Id = randoms:get_string(),
SID = "",
From = #jid{user = "", server = "test", resource = ""},
To = #jid{user = "", server = "test", resource = ""},
Args = [],
ejabberd_captcha:create_captcha(Id, SID, From, To, Lang, Args),
{_, {CImg,CText,CId,CKey}} = ejabberd_captcha:build_captcha_html(Id, Lang),
[?XE("li", [CText,
?C(" "),
CId,
CKey,
?BR,
CImg]
)].
%%%----------------------------------------------------------------------
%%% Formulary change password GET
%%%----------------------------------------------------------------------
form_changepass_get(Host, Lang) ->
HeadEls = [
?XCT("title", "Change Password"),
?XA("link",
[{"href", "/register/register.css"},
{"type", "text/css"},
{"rel", "stylesheet"}])
],
Els=[
?XACT("h1",
[{"class", "title"}, {"style", "text-align:center;"}],
"Change Password"),
?XAE("form", [{"action", ""}, {"method", "post"}],
[
?XE("ol", [
?XE("li", [
?CT("Username:"),
?C(" "),
?INPUTS("text", "username", "", "20")
]),
?XE("li", [
?CT("Server:"),
?C(" "),
?C(Host)
]),
?XE("li", [
?CT("Old Password:"),
?C(" "),
?INPUTS("password", "passwordold", "", "20")
]),
?XE("li", [
?CT("New Password:"),
?C(" "),
?INPUTS("password", "password", "", "20")
]),
?XE("li", [
?CT("Password Verification:"),
?C(" "),
?INPUTS("password", "password2", "", "20")
]),
?XE("li", [
?INPUTT("submit", "changepass", "Change Password")
])
])
])
],
{200,
[{"Server", "ejabberd"},
{"Content-Type", "text/html"}],
ejabberd_web:make_xhtml(HeadEls, Els)}.
%%%----------------------------------------------------------------------
%%% Formulary change password POST
%%%----------------------------------------------------------------------
form_changepass_post(Q, Host) ->
case catch get_changepass_parameters(Q) of
[Username, PasswordOld, Password, Password] ->
try_change_password(Username, Host, PasswordOld, Password);
[_Username, _PasswordOld, _Password, _Password2] ->
{error, passwords_not_identical};
_ ->
{error, wrong_parameters}
end.
get_changepass_parameters(Q) ->
lists:map(
fun(Key) ->
{value, {_Key, Value}} = lists:keysearch(Key, 1, Q),
Value
end,
["username", "passwordold", "password", "password2"]).
%% @spec(Username,Host,PasswordOld,Password) -> {atomic, ok} |
%% {error, account_doesnt_exist} |
%% {error, password_not_changed} |
%% {error, password_incorrect}
try_change_password(Username, Host, PasswordOld, Password) ->
try change_password(Username, Host, PasswordOld, Password) of
{atomic, ok} ->
{atomic, ok}
catch
error:{badmatch, Error} ->
{error, Error}
end.
change_password(Username, Host, PasswordOld, Password) ->
%% Check the account exists
account_exists = check_account_exists(Username, Host),
%% Check the old password is correct
password_correct = check_password(Username, Host, PasswordOld),
%% This function always returns: ok
%% Change the password
ok = ejabberd_auth:set_password(Username, Host, Password),
%% Check the new password is correct
case check_password(Username, Host, Password) of
password_correct ->
{atomic, ok};
password_incorrect ->
{error, password_not_changed}
end.
check_account_exists(Username, Host) ->
case ejabberd_auth:is_user_exists(Username, Host) of
true -> account_exists;
false -> account_doesnt_exist
end.
check_password(Username, Host, Password) ->
case ejabberd_auth:check_password(Username, Host, Password) of
true -> password_correct;
false -> password_incorrect
end.
%%%----------------------------------------------------------------------
%%% Formulary delete account GET
%%%----------------------------------------------------------------------
form_del_get(Host, Lang) ->
HeadEls = [
?XCT("title", "Unregister a Jabber account"),
?XA("link",
[{"href", "/register/register.css"},
{"type", "text/css"},
{"rel", "stylesheet"}])
],
Els=[
?XACT("h1",
[{"class", "title"}, {"style", "text-align:center;"}],
"Unregister a Jabber account"),
?XCT("p",
"This page allows to unregister a Jabber account in this Jabber server."),
?XAE("form", [{"action", ""}, {"method", "post"}],
[
?XE("ol", [
?XE("li", [
?CT("Username:"),
?C(" "),
?INPUTS("text", "username", "", "20")
]),
?XE("li", [
?CT("Server:"),
?C(" "),
?C(Host)
]),
?XE("li", [
?CT("Password:"),
?C(" "),
?INPUTS("password", "password", "", "20")
]),
?XE("li", [
?INPUTT("submit", "unregister", "Unregister")
])
])
])
],
{200,
[{"Server", "ejabberd"},
{"Content-Type", "text/html"}],
ejabberd_web:make_xhtml(HeadEls, Els)}.
%% @spec(Username, Host, Password) -> {success, ok, {Username, Host, Password} |
%% {success, exists, {Username, Host, Password}} |
%% {error, not_allowed} |
%% {error, invalid_jid}
register_account(Username, Host, Password) ->
case ejabberd_auth:try_register(Username, Host, Password) of
{atomic, Res} ->
{success, Res, {Username, Host, Password}};
Other ->
Other
end.
%%%----------------------------------------------------------------------
%%% Formulary delete POST
%%%----------------------------------------------------------------------
form_del_post(Q, Host) ->
case catch get_unregister_parameters(Q) of
[Username, Password] ->
try_unregister_account(Username, Host, Password);
_ ->
{error, wrong_parameters}
end.
get_unregister_parameters(Q) ->
lists:map(
fun(Key) ->
{value, {_Key, Value}} = lists:keysearch(Key, 1, Q),
Value
end,
["username", "password"]).
%% @spec(Username, Host, Password) -> {atomic, ok} |
%% {error, account_doesnt_exist} |
%% {error, account_exists} |
%% {error, password_incorrect}
try_unregister_account(Username, Host, Password) ->
try unregister_account(Username, Host, Password) of
{atomic, ok} ->
{atomic, ok}
catch
error:{badmatch, Error} ->
{error, Error}
end.
unregister_account(Username, Host, Password) ->
%% Check the account exists
account_exists = check_account_exists(Username, Host),
%% Check the password is correct
password_correct = check_password(Username, Host, Password),
%% This function always returns: ok
ok = ejabberd_auth:remove_user(Username, Host, Password),
%% Check the account does not exist anymore
account_doesnt_exist = check_account_exists(Username, Host),
%% If we reached this point, return success
{atomic, ok}.
%%%----------------------------------------------------------------------
%%% Error texts
%%%----------------------------------------------------------------------
get_error_text({error, captcha_non_valid}) ->
"The captcha you entered is wrong";
get_error_text({atomic, exists}) ->
"The account already exists";
get_error_text({error, password_incorrect}) ->
"Incorrect password";
get_error_text({error, invalid_jid}) ->
"The username is not valid";
get_error_text({error, not_allowed}) ->
"Not allowed";
get_error_text({error, account_doesnt_exist}) ->
"Account doesn't exist";
get_error_text({error, account_exists}) ->
"The account was not deleted";
get_error_text({error, password_not_changed}) ->
"The password was not changed";
get_error_text({error, passwords_not_identical}) ->
"The passwords are different";
get_error_text({error, wrong_parameters}) ->
"Wrong parameters in the web formulary".

View File

@ -1,24 +0,0 @@
{"Characters not allowed: @ : ' \" < > &","Caracteres no permitidos: @ : ' \" < > &"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","No le digas tu contraseña a nadie, ni siquiera a los administradores del servidor Jabber."}.
{"Jabber Account Registration","Registro de Cuenta Jabber"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Memoriza tu contraseña, o apúntala en un papel en un lugar seguro. En Jabber no hay un método automatizado para recuperar la contraseña si la olvidas."}.
{"New Password:","Contraseña nueva:"}.
{"Old Password:","Contraseña antigua:"}.
{"Password Verification:","Verificación de contraseña:"}.
{"Register a Jabber account","Registrar una cuenta Jabber"}.
{"Register","Registrar"}.
{"Server:","Servidor:"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Algunos clientes Jabber pueden recordar tu contraseña en la máquina. Usa esa opción solo si confías en que la máquina que usas es segura."}.
{"The password of your Jabber account was succesfully changed.","La contraseña de tu cuenta Jabber se ha cambiado correctamente."}.
{"There was an error changing the password: ","Hubo un error cambiando la contraseña."}.
{"There was an error creating the account: ","Hubo uno error al crear la cuenta:"}.
{"There was an error deleting the account: ","Hubo un error borrando la cuenta."}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","No importa si usas mayúsculas: macbeth es lo mismo que MacBeth y Macbeth."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Esta página te permite crear una cuenta Jabber este servidor Jabber. Tu JID (Jabber IDentificador) será de la forma: nombredeusuario@servidor. Por favor lee detenidamente las instrucciones para rellenar correctamente los campos."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Esta página te permite borrar tu cuenta Jabber en este servidor Jabber."}.
{"Unregister a Jabber account","Borrar una cuenta Jabber"}.
{"Unregister","Borrar"}.
{"Username:","Nombre de usuario:"}.
{"You can later change your password using a Jabber client.","Puedes cambiar tu contraseña después, usando un cliente Jabber."}.
{"Your Jabber account was succesfully created.","Tu cuenta Jabber se ha creado correctamente."}.
{"Your Jabber account was succesfully deleted.","Tu cuenta Jabber se ha borrado correctamente."}.

View File

@ -1,126 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: es.mod_register_web\n"
"PO-Revision-Date: 2009-05-02 15:47+0200\n"
"Last-Translator: Badlop <badlop@process-one.net>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Spanish (castellano)\n"
#: mod_register_web.erl:66
msgid "Your Jabber account was succesfully created."
msgstr "Tu cuenta Jabber se ha creado correctamente."
#: mod_register_web.erl:69
msgid "There was an error creating the account: "
msgstr "Hubo uno error al crear la cuenta:"
#: mod_register_web.erl:79
msgid "Your Jabber account was succesfully deleted."
msgstr "Tu cuenta Jabber se ha borrado correctamente."
#: mod_register_web.erl:82
msgid "There was an error deleting the account: "
msgstr "Hubo un error borrando la cuenta."
#: mod_register_web.erl:92
msgid "The password of your Jabber account was succesfully changed."
msgstr "La contraseña de tu cuenta Jabber se ha cambiado correctamente."
#: mod_register_web.erl:95
msgid "There was an error changing the password: "
msgstr "Hubo un error cambiando la contraseña."
#: mod_register_web.erl:129 mod_register_web.erl:138
msgid "Jabber Account Registration"
msgstr "Registro de Cuenta Jabber"
#: mod_register_web.erl:140 mod_register_web.erl:165 mod_register_web.erl:174
msgid "Register a Jabber account"
msgstr "Registrar una cuenta Jabber"
#: mod_register_web.erl:142 mod_register_web.erl:408 mod_register_web.erl:417
msgid "Unregister a Jabber account"
msgstr "Borrar una cuenta Jabber"
#: mod_register_web.erl:176
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Esta página te permite crear una cuenta Jabber este servidor Jabber. Tu JID "
"(Jabber IDentificador) será de la forma: nombredeusuario@servidor. Por favor "
"lee detenidamente las instrucciones para rellenar correctamente los campos."
#: mod_register_web.erl:185 mod_register_web.erl:299 mod_register_web.erl:424
msgid "Username:"
msgstr "Nombre de usuario:"
#: mod_register_web.erl:190
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"No importa si usas mayúsculas: macbeth es lo mismo que MacBeth y Macbeth."
#: mod_register_web.erl:191
msgid "Characters not allowed: @ : ' \" < > &"
msgstr "Caracteres no permitidos: @ : ' \" < > &"
#: mod_register_web.erl:195 mod_register_web.erl:304 mod_register_web.erl:429
msgid "Server:"
msgstr "Servidor:"
#: mod_register_web.erl:205
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"No le digas tu contraseña a nadie, ni siquiera a los administradores del "
"servidor Jabber."
#: mod_register_web.erl:207
msgid "You can later change your password using a Jabber client."
msgstr "Puedes cambiar tu contraseña después, usando un cliente Jabber."
#: mod_register_web.erl:208
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Algunos clientes Jabber pueden recordar tu contraseña en la máquina. Usa esa "
"opción solo si confías en que la máquina que usas es segura."
#: mod_register_web.erl:210
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Memoriza tu contraseña, o apúntala en un papel en un lugar seguro. En Jabber "
"no hay un método automatizado para recuperar la contraseña si la olvidas."
#: mod_register_web.erl:215 mod_register_web.erl:319
msgid "Password Verification:"
msgstr "Verificación de contraseña:"
#: mod_register_web.erl:232
msgid "Register"
msgstr "Registrar"
#: mod_register_web.erl:309
msgid "Old Password:"
msgstr "Contraseña antigua:"
#: mod_register_web.erl:314
msgid "New Password:"
msgstr "Contraseña nueva:"
#: mod_register_web.erl:419
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
"Esta página te permite borrar tu cuenta Jabber en este servidor Jabber."
#: mod_register_web.erl:439
msgid "Unregister"
msgstr "Borrar"

View File

@ -1,114 +0,0 @@
msgid ""
msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
"X-Language: Language Name\n"
"Last-Translator: Translator name and contact method\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: mod_register_web.erl:66
msgid "Your Jabber account was succesfully created."
msgstr ""
#: mod_register_web.erl:69
msgid "There was an error creating the account: "
msgstr ""
#: mod_register_web.erl:79
msgid "Your Jabber account was succesfully deleted."
msgstr ""
#: mod_register_web.erl:82
msgid "There was an error deleting the account: "
msgstr ""
#: mod_register_web.erl:92
msgid "The password of your Jabber account was succesfully changed."
msgstr ""
#: mod_register_web.erl:95
msgid "There was an error changing the password: "
msgstr ""
#: mod_register_web.erl:129 mod_register_web.erl:138
msgid "Jabber Account Registration"
msgstr ""
#: mod_register_web.erl:140 mod_register_web.erl:165 mod_register_web.erl:174
msgid "Register a Jabber account"
msgstr ""
#: mod_register_web.erl:142 mod_register_web.erl:408 mod_register_web.erl:417
msgid "Unregister a Jabber account"
msgstr ""
#: mod_register_web.erl:176
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: mod_register_web.erl:185 mod_register_web.erl:299 mod_register_web.erl:424
msgid "Username:"
msgstr ""
#: mod_register_web.erl:190
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: mod_register_web.erl:191
msgid "Characters not allowed: @ : ' \" < > &"
msgstr ""
#: mod_register_web.erl:195 mod_register_web.erl:304 mod_register_web.erl:429
msgid "Server:"
msgstr ""
#: mod_register_web.erl:205
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: mod_register_web.erl:207
msgid "You can later change your password using a Jabber client."
msgstr ""
#: mod_register_web.erl:208
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: mod_register_web.erl:210
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: mod_register_web.erl:215 mod_register_web.erl:319
msgid "Password Verification:"
msgstr ""
#: mod_register_web.erl:232
msgid "Register"
msgstr ""
#: mod_register_web.erl:309
msgid "Old Password:"
msgstr ""
#: mod_register_web.erl:314
msgid "New Password:"
msgstr ""
#: mod_register_web.erl:419
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: mod_register_web.erl:439
msgid "Unregister"
msgstr ""

View File

@ -1,24 +0,0 @@
{"Your Jabber account was succesfully created.", "Ваш Jabber-аккаунт был успешно создан."}.
{"There was an error creating the account: ", "Ошибка при создании аккаунта:"}.
{"Your Jabber account was succesfully deleted.", "Ваш Jabber-аккаунт был успешно удален."}.
{"There was an error deleting the account: ", "Ошибка при удалении аккаунта:"}.
{"The password of your Jabber account was succesfully changed.", "Пароль Вашего Jabber-аккаунта был успешно изменен."}.
{"There was an error changing the password: ", "Ошибка при смене пароля:"}.
{"Jabber Account Registration", "Регистрация Jabber-аккаунта"}.
{"Register a Jabber account", "Зарегистрировать Jabber-аккаунт"}.
{"Unregister a Jabber account", "Удалить Jabber-аккаунт"}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.", "Здесь Вы можете создать Jabber-аккаунт на этом Jabber-сервере. Ваш JID (Jabber-идентификатор) будет в виде: \"пользователь@сервер\". Пожалуйста, внимательно читайте инструкции для правильного заполнения полей."}.
{"Username:", "Имя пользователя:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.", "Регистр не имеет значения: \"маша\" и \"МАША\" будет считаться одним и тем же именем."}.
{"Characters not allowed: @ : ' \" < > &", "Недопустимые символы: @ : ' \" < > &"}.
{"Server:", "Сервер:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.", "Не говорите никому свой пароль, даже администраторам сервера."}.
{"You can later change your password using a Jabber client.", "Позже Вы можете изменить пароль через Jabber-клиент."}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.", "Некоторые Jabber-клиенты могут сохранять пароль на Вашем компьютере. Используйте эту функцию только в том случае, если считаете это безопасным."}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.", "Запомните пароль или запишите его на бумаге, которую сохраните в безопасном месте. В Jabber'е нет автоматизированного средства восстановления пароля в том случае, если Вы его забудете."}.
{"Password Verification:", "Проверка пароля:"}.
{"Register", "Зарегистрироваться"}.
{"Old Password:", "Старый пароль:"}.
{"New Password:", "Новый пароль:"}.
{"This page allows to unregister a Jabber account in this Jabber server.", "Здесь Вы можете удалить Jabber-аккаунт с этого сервера."}.
{"Unregister", "Удалить"}.

View File

@ -1,126 +0,0 @@
# translation of ru.mod_register_web.po to Russian
# Header entry was created by KBabel!
#
# rain <linuxoid.rain@gmail.com>, 2010.
# xmpp:rain@jabberworld.info
msgid ""
msgstr ""
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"Mime-Version: 1.0\n"
"Last-Translator: rain <linuxoid.rain@gmail.com>\n"
"PO-Revision-Date: 2010-11-17 18:00+0200\n"
"Project-Id-Version: ru.mod_register_web\n"
"Language-Team: Russian\n"
"X-Generator: KBabel 1.11.4\n"
"MIME-Version: 1.0\n"
"Last-Translator: rain <linuxoid.rain@gmail.com>\n"
#: mod_register_web.erl:66
msgid "Your Jabber account was succesfully created."
msgstr "Ваш Jabber-аккаунт был успешно создан."
#: mod_register_web.erl:69
msgid "There was an error creating the account: "
msgstr "Ошибка при создании аккаунта:"
#: mod_register_web.erl:79
msgid "Your Jabber account was succesfully deleted."
msgstr "Ваш Jabber-аккаунт был успешно удален."
#: mod_register_web.erl:82
msgid "There was an error deleting the account: "
msgstr "Ошибка при удалении аккаунта:"
#: mod_register_web.erl:92
msgid "The password of your Jabber account was succesfully changed."
msgstr "Пароль Вашего Jabber-аккаунта был успешно изменен."
#: mod_register_web.erl:95
msgid "There was an error changing the password: "
msgstr "Ошибка при смене пароля:"
#: mod_register_web.erl:129 mod_register_web.erl:138
msgid "Jabber Account Registration"
msgstr "Регистрация Jabber-аккаунта"
#: mod_register_web.erl:140 mod_register_web.erl:165 mod_register_web.erl:174
msgid "Register a Jabber account"
msgstr "Зарегистрировать Jabber-аккаунт"
#: mod_register_web.erl:142 mod_register_web.erl:408 mod_register_web.erl:417
msgid "Unregister a Jabber account"
msgstr "Удалить Jabber-аккаунт"
#: mod_register_web.erl:176
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Здесь Вы можете создать Jabber-аккаунт на этом Jabber-сервере. Ваш JID (Jabber-идентификатор) будет в виде: \"пользователь@сервер\". "
"Пожалуйста, внимательно читайте инструкции для правильного заполнения полей."
#: mod_register_web.erl:185 mod_register_web.erl:299 mod_register_web.erl:424
msgid "Username:"
msgstr "Имя пользователя:"
#: mod_register_web.erl:190
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr "Регистр не имеет значения: \"маша\" и \"МАША\" будет считаться одним и тем же именем."
#: mod_register_web.erl:191
msgid "Characters not allowed: @ : ' \" < > &"
msgstr "Недопустимые символы: @ : ' \" < > &"
#: mod_register_web.erl:195 mod_register_web.erl:304 mod_register_web.erl:429
msgid "Server:"
msgstr "Сервер:"
#: mod_register_web.erl:205
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr "Не говорите никому свой пароль, даже администраторам сервера."
#: mod_register_web.erl:207
msgid "You can later change your password using a Jabber client."
msgstr "Позже Вы можете изменить пароль через Jabber-клиент."
#: mod_register_web.erl:208
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr "Некоторые Jabber-клиенты могут сохранять пароль на Вашем компьютере. Используйте эту функцию только в том случае, если считаете это безопасным."
#: mod_register_web.erl:210
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr "Запомните пароль или запишите его на бумаге, которую сохраните в безопасном месте. В Jabber'е нет автоматизированного средства восстановления пароля в том случае, если Вы его забудете."
#: mod_register_web.erl:215 mod_register_web.erl:319
msgid "Password Verification:"
msgstr "Проверка пароля:"
#: mod_register_web.erl:232
msgid "Register"
msgstr "Зарегистрироваться"
#: mod_register_web.erl:309
msgid "Old Password:"
msgstr "Старый пароль:"
#: mod_register_web.erl:314
msgid "New Password:"
msgstr "Новый пароль:"
#: mod_register_web.erl:419
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Здесь Вы можете удалить Jabber-аккаунт с этого сервера."
#: mod_register_web.erl:439
msgid "Unregister"
msgstr "Удалить"

View File

@ -1,24 +0,0 @@
{"Your Jabber account was succesfully created.", "Ваш Jabber-акаунт було успішно створено."}.
{"There was an error creating the account: ", "Помилка при створенні акаунту:"}.
{"Your Jabber account was succesfully deleted.", "Ваш Jabber-акаунт було успішно видалено."}.
{"There was an error deleting the account: ", "Помилка при видаленні акаунту: "}.
{"The password of your Jabber account was succesfully changed.", "Пароль вашого Jabber-акаунту був успішно змінений."}.
{"There was an error changing the password: ", "Помилка при зміні пароля: "}.
{"Jabber Account Registration", "Реєстрація Jabber-акаунту"}.
{"Register a Jabber account", "Зареєструвати Jabber-акаунт"}.
{"Unregister a Jabber account", "Видалити Jabber-акаунт"}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.", "Тут ви можете зареєструвати обліковий запис Jabber на цьому сервері. Ваш JID (ідентифікатор Jabber) матиме вигляд \"користувач@сервер\". Щоб вірно заповнити поля нижче, будь ласка, уважно читайте інструкції до них."}.
{"Username:", "Ім'я користувача:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.", "Регістр не має значення: \"МАША\" та \"маша\" буде сприйматися як одне й те саме ім'я."}.
{"Characters not allowed: @ : ' \" < > &", "Заборонені символи: @ : ' \" < > &"}.
{"Server:", "Сервер:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.", "Нікому не кажіть свій пароль, навіть адміністраторам сервера."}.
{"You can later change your password using a Jabber client.", "Пізніше можна змінити пароль через Jabber-клієнт."}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.", "Деякі Jabber-клієнти можуть зберігати пароль на вашому комп'ютері. Користуйтесь цією функцією тільки у тому випадку, якщо вважаєте її безпечною."}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.", "Запам'ятайте пароль, або запишіть його на папері, який треба зберегти у безпечному місці. У Jabber'і немає автоматизованих засобів відновлення пароля на той випадок, якщо ви його забудете."}.
{"Password Verification:", "Перевірка пароля:"}.
{"Register", "Зареєструвати"}.
{"Old Password:", "Старий пароль:"}.
{"New Password:", "Новий пароль:"}.
{"This page allows to unregister a Jabber account in this Jabber server.", "Тут ви можете видалити свій акаунт з цього Jabber-сервера."}.
{"Unregister", "Видалити"}.

View File

@ -1,119 +0,0 @@
# translation of uk.mod_register_web.po to Russian
# rain <linuxoid.rain@gmail.com>, 2010.
msgid ""
msgstr ""
"Project-Id-Version: uk.mod_register_web\n"
"Last-Translator: rain <linuxoid.rain@gmail.com>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"PO-Revision-Date: 2010-11-18 02:31+0200\n"
"Language-Team: Ukrainian\n"
"X-Generator: KBabel 1.11.4\n"
#: mod_register_web.erl:66
msgid "Your Jabber account was succesfully created."
msgstr "Ваш Jabber-акаунт було успішно створено."
#: mod_register_web.erl:69
msgid "There was an error creating the account: "
msgstr "Помилка при створенні акаунту:"
#: mod_register_web.erl:79
msgid "Your Jabber account was succesfully deleted."
msgstr "Ваш Jabber-акаунт було успішно видалено."
#: mod_register_web.erl:82
msgid "There was an error deleting the account: "
msgstr "Помилка при видаленні акаунту: "
#: mod_register_web.erl:92
msgid "The password of your Jabber account was succesfully changed."
msgstr "Пароль вашого Jabber-акаунту був успішно змінений."
#: mod_register_web.erl:95
msgid "There was an error changing the password: "
msgstr "Помилка при зміні пароля: "
#: mod_register_web.erl:129 mod_register_web.erl:138
msgid "Jabber Account Registration"
msgstr "Реєстрація Jabber-акаунту"
#: mod_register_web.erl:140 mod_register_web.erl:165 mod_register_web.erl:174
msgid "Register a Jabber account"
msgstr "Зареєструвати Jabber-акаунт"
#: mod_register_web.erl:142 mod_register_web.erl:408 mod_register_web.erl:417
msgid "Unregister a Jabber account"
msgstr "Видалити Jabber-акаунт"
#: mod_register_web.erl:176
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr "Тут ви можете зареєструвати обліковий запис Jabber на цьому сервері. Ваш JID (ідентифікатор Jabber) матиме вигляд \"користувач@сервер\". Щоб вірно заповнити поля нижче, будь ласка, уважно читайте інструкції до них."
#: mod_register_web.erl:185 mod_register_web.erl:299 mod_register_web.erl:424
msgid "Username:"
msgstr "Ім'я користувача:"
#: mod_register_web.erl:190
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr "Регістр не має значення: \"МАША\" та \"маша\" буде сприйматися як одне й те саме ім'я."
#: mod_register_web.erl:191
msgid "Characters not allowed: @ : ' \" < > &"
msgstr "Заборонені символи: @ : ' \" < > &"
#: mod_register_web.erl:195 mod_register_web.erl:304 mod_register_web.erl:429
msgid "Server:"
msgstr "Сервер:"
#: mod_register_web.erl:205
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr "Нікому не кажіть свій пароль, навіть адміністраторам сервера."
#: mod_register_web.erl:207
msgid "You can later change your password using a Jabber client."
msgstr "Пізніше можна змінити пароль через Jabber-клієнт."
#: mod_register_web.erl:208
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr "Деякі Jabber-клієнти можуть зберігати пароль на вашому комп'ютері. Користуйтесь цією функцією тільки у тому випадку, якщо вважаєте її безпечною."
#: mod_register_web.erl:210
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr "Запам'ятайте пароль, або запишіть його на папері, який треба зберегти у безпечному місці. У Jabber'і немає автоматизованих засобів відновлення пароля на той випадок, якщо ви його забудете."
#: mod_register_web.erl:215 mod_register_web.erl:319
msgid "Password Verification:"
msgstr "Перевірка пароля:"
#: mod_register_web.erl:232
msgid "Register"
msgstr "Зареєструвати"
#: mod_register_web.erl:309
msgid "Old Password:"
msgstr "Старий пароль:"
#: mod_register_web.erl:314
msgid "New Password:"
msgstr "Новий пароль:"
#: mod_register_web.erl:419
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Тут ви можете видалити свій акаунт з цього Jabber-сервера."
#: mod_register_web.erl:439
msgid "Unregister"
msgstr "Видалити"