24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-07-06 23:22:36 +02:00

merge with latest 2.1.x (pre 2.1.7)

This commit is contained in:
Christophe Romain 2011-04-11 15:47:04 +02:00
commit 33d4126290
63 changed files with 2696 additions and 330 deletions

View File

@ -1636,11 +1636,14 @@ The configurable options are:
\titem{\{captcha\_cmd, Path\}}
Full path to a script that generates the image.
The default value is an empty string: \term{""}
\titem{\{captcha\_host, Host\}}
Host part of the URL sent to the user.
You can include the port number.
The URL sent to the user is formed by: \term{http://Host/captcha/}
The default value is the first hostname configured.
\titem{\{captcha\_host, ProtocolHostPort\}}
Host part of the URL sent to the user,
and the port number where ejabberd listens for CAPTCHA requests.
The URL sent to the user is formed by: \term{http://Host:Port/captcha/}
The default value is: the first hostname configured, and port 5280.
If the port number you specify does not match exactly an ejabberd listener
(because you are using a reverse proxy or other port-forwarding tool),
then specify also the transfer protocol, as seen in the example below.
\end{description}
Additionally, an \term{ejabberd\_http} listener must be enabled with the \term{captcha} option.
@ -1652,6 +1655,7 @@ Example configuration:
{captcha_cmd, "/lib/ejabberd/priv/bin/captcha.sh"}.
{captcha_host, "example.org:5280"}.
%% {captcha_host, "https://example.org:443"}.
{listen,
[
@ -2627,15 +2631,16 @@ The syntax is:
Possible \term{Value} are:
\begin{description}
\titem{no\_queue} All queries of a namespace with this processing discipline are
processed immediately. This also means that no other packets can be processed
processed directly. This means that the XMPP connection that sends this IQ query gets blocked:
no other packets can be processed
until this one has been completely processed. Hence this discipline is not
recommended if the processing of a query can take a relatively long time.
\titem{one\_queue} In this case a separate queue is created for the processing
of IQ queries of a namespace with this discipline. In addition, the processing
of this queue is done in parallel with that of other packets. This discipline
is most recommended.
\titem{\{queues, N\}} N separate queues are created to process the
queries. The queries are thus process in parallel, but in a
\titem{\{queues, N\}} N separate queues are created to process the
queries. The queries are thus processed in parallel, but in a
controlled way.
\titem{parallel} For every packet with this discipline a separate Erlang process
is spawned. Consequently, all these packets are processed in parallel.
@ -4064,11 +4069,13 @@ has a unique identification and the following parameters:
\item[Name] The name of the group, which will be displayed in the roster.
\item[Description] The description of the group. This parameter does not affect
anything.
\item[Members] A list of full JIDs of group members, entered one per line in
\item[Members] A list of JIDs of group members, entered one per line in
the Web Admin.
To put as members all the registered users in the virtual hosts,
you can use the special directive: @all@.
Note that this directive is designed for a small server with just a few hundred users.
The special member directive \term{@all@}
represents all the registered users in the virtual host;
which is only recommended for a small server with just a few hundred users.
The special member directive \term{@online@}
represents the online users in the virtual host.
\item[Displayed groups] A list of groups that will be in the rosters of this
group's members.
\end{description}
@ -4999,6 +5006,9 @@ The command line parameters:
If using \term{-sname}, specify either this option or \term{ERL\_INETRC}.
\titem{-kernel inet\_dist\_listen\_min 4200 inet\_dist\_listen\_min 4210}
Define the first and last ports that \term{epmd} (section \ref{epmd}) can listen to.
\titem{-kernel inet\_dist\_use\_interface "\{ 127,0,0,1 \}"}
Define the IP address where this Erlang node listens for other nodes
connections (see section \ref{epmd}).
\titem{-detached}
Starts the Erlang system detached from the system console.
Useful for running daemons and backgrounds processes.
@ -5411,6 +5421,12 @@ The Erlang command-line parameter used internally is, for example:
\begin{verbatim}
erl ... -kernel inet_dist_listen_min 4370 inet_dist_listen_max 4375
\end{verbatim}
It is also possible to configure in \term{ejabberdctl.cfg}
the network interface where the Erlang node will listen and accept connections.
The Erlang command-line parameter used internally is, for example:
\begin{verbatim}
erl ... -kernel inet_dist_use_interface "{127,0,0,1}"
\end{verbatim}
\makesection{cookie}{Erlang Cookie}

View File

@ -475,7 +475,7 @@
%%{captcha_cmd, "/lib/ejabberd/priv/bin/captcha.sh"}.
%%
%% Host part of the URL sent to the user.
%% Host for the URL and port where ejabberd listens for CAPTCHA requests.
%%
%%{captcha_host, "example.org:5280"}.

View File

@ -371,23 +371,21 @@ get_prog_name() ->
get_url(Str) ->
CaptchaHost = ejabberd_config:get_local_option(captcha_host),
TransferProt = atom_to_list(get_transfer_protocol(CaptchaHost)),
case CaptchaHost of
Host when is_list(Host) ->
TransferProt ++ "://" ++ Host ++ "/captcha/" ++ Str;
case string:tokens(CaptchaHost, ":") of
[TransferProt, Host, PortString] ->
TransferProt ++ ":" ++ Host ++ ":" ++ PortString ++ "/captcha/" ++ Str;
[Host, PortString] ->
TransferProt = atom_to_list(get_transfer_protocol(PortString)),
TransferProt ++ "://" ++ Host ++ ":" ++ PortString ++ "/captcha/" ++ Str;
_ ->
TransferProt ++ "://" ++ ?MYNAME ++ "/captcha/" ++ Str
"http://" ++ ?MYNAME ++ ":5280/captcha/" ++ Str
end.
get_transfer_protocol(CaptchaHost) ->
PortNumber = get_port_number_from_captcha_host_option(CaptchaHost),
get_transfer_protocol(PortString) ->
PortNumber = list_to_integer(PortString),
PortListeners = get_port_listeners(PortNumber),
get_captcha_transfer_protocol(PortListeners).
get_port_number_from_captcha_host_option(CaptchaHost) ->
[_Host, PortString] = string:tokens(CaptchaHost, ":"),
list_to_integer(PortString).
get_port_listeners(PortNumber) ->
AllListeners = ejabberd_config:get_local_option(listen),
lists:filter(
@ -400,7 +398,8 @@ get_port_listeners(PortNumber) ->
get_captcha_transfer_protocol([]) ->
throw("The port number mentioned in captcha_host is not "
"a ejabberd_http listener with 'captcha' option.");
"a ejabberd_http listener with 'captcha' option. "
"Change the port number or specify http:// in that option.");
get_captcha_transfer_protocol([{{_Port, _Ip, tcp}, ejabberd_http, Opts}
| Listeners]) ->
case lists:member(captcha, Opts) of

View File

@ -34,10 +34,12 @@
-export([route/3,
route_iq/4,
route_iq/5,
process_iq_reply/3,
register_iq_handler/4,
register_iq_handler/5,
register_iq_response_handler/4,
register_iq_response_handler/5,
unregister_iq_handler/2,
unregister_iq_response_handler/2,
refresh_iq_handlers/0,
@ -123,23 +125,35 @@ route(From, To, Packet) ->
ok
end.
route_iq(From, To, #iq{type = Type} = IQ, F) when is_function(F) ->
route_iq(From, To, IQ, F) ->
route_iq(From, To, IQ, F, undefined).
route_iq(From, To, #iq{type = Type} = IQ, F, Timeout) when is_function(F) ->
Packet = if Type == set; Type == get ->
ID = ejabberd_router:make_id(),
Host = From#jid.lserver,
register_iq_response_handler(Host, ID, undefined, F),
register_iq_response_handler(Host, ID, undefined, F, Timeout),
jlib:iq_to_xml(IQ#iq{id = ID});
true ->
jlib:iq_to_xml(IQ)
end,
ejabberd_router:route(From, To, Packet).
register_iq_response_handler(_Host, ID, Module, Function) ->
TRef = erlang:start_timer(?IQ_TIMEOUT, ejabberd_local, ID),
ets:insert(iq_response, #iq_response{id = ID,
module = Module,
function = Function,
timer = TRef}).
register_iq_response_handler(Host, ID, Module, Function) ->
register_iq_response_handler(Host, ID, Module, Function, undefined).
register_iq_response_handler(_Host, ID, Module, Function, Timeout0) ->
Timeout = case Timeout0 of
undefined ->
?IQ_TIMEOUT;
N when is_integer(N), N > 0 ->
N
end,
TRef = erlang:start_timer(Timeout, ejabberd_local, ID),
mnesia:dirty_write(#iq_response{id = ID,
module = Module,
function = Function,
timer = TRef}).
register_iq_handler(Host, XMLNS, Module, Fun) ->
ejabberd_local ! {register_iq_handler, Host, XMLNS, Module, Fun}.

View File

@ -50,12 +50,23 @@
#
#FIREWALL_WINDOW=
#.
#' INET_DIST_INTERFACE: IP address where this Erlang node listens other nodes
#
# This communication is used by ejabberdctl command line tool,
# and in a cluster of several ejabberd nodes.
# Notice that the IP address must be specified in the Erlang syntax.
#
# Default: {127,0,0,1}
#
INET_DIST_INTERFACE={127,0,0,1}
#.
#' ERL_PROCESSES: Maximum number of Erlang processes
#
# Erlang consumes a lot of lightweight processes. If there is a lot of activity
# on ejabberd so that the maximum number of processes is reached, people will
# experiment greater latency times. As these processes are implemented in
# experience greater latency times. As these processes are implemented in
# Erlang, and therefore not related to the operating system processes, you do
# not have to worry about allowing a huge number of them.
#

View File

@ -76,10 +76,12 @@ fi
NAME=-name
[ "$ERLANG_NODE" = "${ERLANG_NODE%.*}" ] && NAME=-sname
if [ "$FIREWALL_WINDOW" = "" ] ; then
KERNEL_OPTS=""
else
KERNEL_OPTS="-kernel inet_dist_listen_min ${FIREWALL_WINDOW%-*} inet_dist_listen_max ${FIREWALL_WINDOW#*-}"
KERNEL_OPTS=""
if [ "$FIREWALL_WINDOW" != "" ] ; then
KERNEL_OPTS="${KERNEL_OPTS} -kernel inet_dist_listen_min ${FIREWALL_WINDOW%-*} inet_dist_listen_max ${FIREWALL_WINDOW#*-}"
fi
if [ "$INET_DIST_INTERFACE" != "" ] ; then
KERNEL_OPTS="${KERNEL_OPTS} -kernel inet_dist_use_interface \"${INET_DIST_INTERFACE}\""
fi
ERLANG_OPTS="+K $POLL -smp $SMP +P $ERL_PROCESSES $ERL_OPTIONS"

View File

@ -126,7 +126,8 @@ loop(Port, Timeout, ProcessName, ExtPrg) ->
?ERROR_MSG("extauth call '~p' didn't receive response", [Msg]),
Caller ! {eauth, false},
unregister(ProcessName),
spawn(?MODULE, init, [ProcessName, ExtPrg]),
Pid = spawn(?MODULE, init, [ProcessName, ExtPrg]),
flush_buffer_and_forward_messages(Pid),
exit(port_terminated)
end;
stop ->
@ -140,6 +141,15 @@ loop(Port, Timeout, ProcessName, ExtPrg) ->
exit(port_terminated)
end.
flush_buffer_and_forward_messages(Pid) ->
receive
Message ->
Pid ! Message,
flush_buffer_and_forward_messages(Pid)
after 0 ->
true
end.
join(List, Sep) ->
lists:foldl(fun(A, "") -> A;
(A, Acc) -> Acc ++ Sep ++ A

View File

@ -219,6 +219,7 @@ handle_info({route_chan, Channel, Resource,
NewStateData =
case xml:get_attr_s("type", Attrs) of
"unavailable" ->
send_stanza_unavailable(Channel, StateData),
S1 = ?SEND(io_lib:format("PART #~s\r\n", [Channel])),
S1#state{channels =
dict:erase(Channel, S1#state.channels)};
@ -656,13 +657,9 @@ terminate(_Reason, _StateName, FullStateData) ->
bounce_messages("Server Connect Failed"),
lists:foreach(
fun(Chan) ->
ejabberd_router:route(
jlib:make_jid(
lists:concat([Chan, "%", StateData#state.server]),
StateData#state.host, StateData#state.nick),
StateData#state.user,
{xmlelement, "presence", [{"type", "error"}],
[Error]})
Stanza = {xmlelement, "presence", [{"type", "error"}],
[Error]},
send_stanza(Chan, StateData, Stanza)
end, dict:fetch_keys(StateData#state.channels)),
case StateData#state.socket of
undefined ->
@ -672,6 +669,30 @@ terminate(_Reason, _StateName, FullStateData) ->
end,
ok.
send_stanza(Chan, StateData, Stanza) ->
ejabberd_router:route(
jlib:make_jid(
lists:concat([Chan, "%", StateData#state.server]),
StateData#state.host, StateData#state.nick),
StateData#state.user,
Stanza).
send_stanza_unavailable(Chan, StateData) ->
Affiliation = "member", % this is a simplification
Role = "none",
Stanza =
{xmlelement, "presence", [{"type", "unavailable"}],
[{xmlelement, "x", [{"xmlns", ?NS_MUC_USER}],
[{xmlelement, "item",
[{"affiliation", Affiliation},
{"role", Role}],
[]},
{xmlelement, "status",
[{"code", "110"}],
[]}
]}]},
send_stanza(Chan, StateData, Stanza).
%%%----------------------------------------------------------------------
%%% Internal functions
%%%----------------------------------------------------------------------

View File

@ -2696,14 +2696,21 @@ send_kickban_presence(JID, Reason, Code, NewAffiliation, StateData) ->
end, LJIDs).
send_kickban_presence1(UJID, Reason, Code, Affiliation, StateData) ->
{ok, #user{jid = _RealJID,
{ok, #user{jid = RealJID,
nick = Nick}} =
?DICT:find(jlib:jid_tolower(UJID), StateData#state.users),
SAffiliation = affiliation_to_list(Affiliation),
BannedJIDString = jlib:jid_to_string(RealJID),
lists:foreach(
fun({_LJID, Info}) ->
JidAttrList = case (Info#user.role == moderator) orelse
((StateData#state.config)#config.anonymous
== false) of
true -> [{"jid", BannedJIDString}];
false -> []
end,
ItemAttrs = [{"affiliation", SAffiliation},
{"role", "none"}],
{"role", "none"}] ++ JidAttrList,
ItemEls = case Reason of
"" ->
[];

View File

@ -95,7 +95,7 @@ init([Host, Opts]) ->
SendPings = gen_mod:get_opt(send_pings, Opts, ?DEFAULT_SEND_PINGS),
PingInterval = gen_mod:get_opt(ping_interval, Opts, ?DEFAULT_PING_INTERVAL),
TimeoutAction = gen_mod:get_opt(timeout_action, Opts, none),
IQDisc = gen_mod:get_opt(iqdisc, Opts, one_queue),
IQDisc = gen_mod:get_opt(iqdisc, Opts, no_queue),
mod_disco:register_feature(Host, ?NS_PING),
gen_iq_handler:add_iq_handler(ejabberd_sm, Host, ?NS_PING,
?MODULE, iq_ping, IQDisc),

View File

@ -37,6 +37,8 @@
process_item/2,
in_subscription/6,
out_subscription/4,
user_available/1,
unset_presence/4,
register_user/2,
remove_user/2,
list_groups/1,
@ -85,6 +87,10 @@ start(Host, _Opts) ->
?MODULE, get_jid_info, 70),
ejabberd_hooks:add(roster_process_item, Host,
?MODULE, process_item, 50),
ejabberd_hooks:add(user_available_hook, Host,
?MODULE, user_available, 50),
ejabberd_hooks:add(unset_presence_hook, Host,
?MODULE, unset_presence, 50),
ejabberd_hooks:add(register_user, Host,
?MODULE, register_user, 50),
ejabberd_hooks:add(remove_user, Host,
@ -109,6 +115,10 @@ stop(Host) ->
?MODULE, get_jid_info, 70),
ejabberd_hooks:delete(roster_process_item, Host,
?MODULE, process_item, 50),
ejabberd_hooks:delete(user_available_hook, Host,
?MODULE, user_available, 50),
ejabberd_hooks:delete(unset_presence_hook, Host,
?MODULE, unset_presence, 50),
ejabberd_hooks:delete(register_user, Host,
?MODULE, register_user, 50),
ejabberd_hooks:delete(remove_user, Host,
@ -470,21 +480,38 @@ get_group_opt(Host, Group, Opt, Default) ->
Default
end.
get_online_users(Host) ->
lists:usort([{U, S} || {U, S, _} <- ejabberd_sm:get_vh_session_list(Host)]).
get_group_users(Host, Group) ->
case get_group_opt(Host, Group, all_users, false) of
true ->
ejabberd_auth:get_vh_registered_users(Host);
false ->
[]
end ++ get_group_explicit_users(Host, Group).
end ++
case get_group_opt(Host, Group, online_users, false) of
true ->
get_online_users(Host);
false ->
[]
end ++
get_group_explicit_users(Host, Group).
get_group_users(_User, Host, Group, GroupOpts) ->
get_group_users(Host, Group, GroupOpts) ->
case proplists:get_value(all_users, GroupOpts, false) of
true ->
ejabberd_auth:get_vh_registered_users(Host);
false ->
[]
end ++ get_group_explicit_users(Host, Group).
end ++
case proplists:get_value(online_users, GroupOpts, false) of
true ->
get_online_users(Host);
false ->
[]
end ++
get_group_explicit_users(Host, Group).
%% @spec (Host::string(), Group::string()) -> [{User::string(), Server::string()}]
get_group_explicit_users(Host, Group) ->
@ -502,11 +529,20 @@ get_group_explicit_users(Host, Group) ->
get_group_name(Host, Group) ->
get_group_opt(Host, Group, name, Group).
%% Get list of names of groups that have @all@ in the memberlist
%% Get list of names of groups that have @all@/@online@/etc in the memberlist
get_special_users_groups(Host) ->
lists:filter(
fun(Group) ->
get_group_opt(Host, Group, all_users, false)
orelse get_group_opt(Host, Group, online_users, false)
end,
list_groups(Host)).
%% Get list of names of groups that have @online@ in the memberlist
get_special_users_groups_online(Host) ->
lists:filter(
fun(Group) ->
get_group_opt(Host, Group, online_users, false)
end,
list_groups(Host)).
@ -661,7 +697,7 @@ push_user_to_members(User, Server, Subscription) ->
lists:foreach(
fun({U, S}) ->
push_roster_item(U, S, LUser, LServer, GroupName, Subscription)
end, get_group_users(LUser, LServer, Group, GroupOpts))
end, get_group_users(LServer, Group, GroupOpts))
end, lists:usort(SpecialGroups++UserGroups)).
push_user_to_displayed(LUser, LServer, Group, Subscription) ->
@ -673,7 +709,8 @@ push_user_to_displayed(LUser, LServer, Group, Subscription) ->
push_user_to_group(LUser, LServer, Group, GroupName, Subscription) ->
lists:foreach(
fun({U, S}) ->
fun({U, S}) when (U == LUser) and (S == LServer) -> ok;
({U, S}) ->
push_roster_item(U, S, LUser, LServer, GroupName, Subscription)
end, get_group_users(LServer, Group)).
@ -757,6 +794,51 @@ ask_to_pending(subscribe) -> out;
ask_to_pending(unsubscribe) -> none;
ask_to_pending(Ask) -> Ask.
user_available(New) ->
LUser = New#jid.luser,
LServer = New#jid.lserver,
Resources = ejabberd_sm:get_user_resources(LUser, LServer),
?DEBUG("user_available for ~p @ ~p (~p resources)",
[LUser, LServer, length(Resources)]),
case length(Resources) of
%% first session for this user
1 ->
%% This is a simplification - we ignore he 'display'
%% property - @online@ is always reflective.
OnlineGroups = get_special_users_groups_online(LServer),
lists:foreach(
fun(OG) ->
?DEBUG("user_available: pushing ~p @ ~p grp ~p",
[LUser, LServer, OG ]),
push_user_to_displayed(LUser, LServer, OG, both)
end, OnlineGroups);
_ ->
ok
end.
unset_presence(LUser, LServer, Resource, Status) ->
Resources = ejabberd_sm:get_user_resources(LUser, LServer),
?DEBUG("unset_presence for ~p @ ~p / ~p -> ~p (~p resources)",
[LUser, LServer, Resource, Status, length(Resources)]),
%% if user has no resources left...
case length(Resources) of
0 ->
%% This is a simplification - we ignore he 'display'
%% property - @online@ is always reflective.
OnlineGroups = get_special_users_groups_online(LServer),
%% for each of these groups...
lists:foreach(
fun(OG) ->
%% Push removal of the old user to members of groups
%% where the group that this uwas members was displayed
push_user_to_displayed(LUser, LServer, OG, remove),
%% Push removal of members of groups that where
%% displayed to the group which thiuser has left
push_displayed_to_user(LUser, LServer, OG, LServer,remove)
end, OnlineGroups);
_ ->
ok
end.
%%---------------------
%% Web Admin
@ -860,6 +942,7 @@ shared_roster_group(Host, Group, Query, Lang) ->
Name = get_opt(GroupOpts, name, ""),
Description = get_opt(GroupOpts, description, ""),
AllUsers = get_opt(GroupOpts, all_users, false),
OnlineUsers = get_opt(GroupOpts, online_users, false),
%%Disabled = false,
DisplayedGroups = get_opt(GroupOpts, displayed_groups, []),
Members = mod_shared_roster:get_group_explicit_users(Host, Group),
@ -869,7 +952,14 @@ shared_roster_group(Host, Group, Query, Lang) ->
"@all@\n";
true ->
[]
end ++ [[us_to_list(Member), $\n] || Member <- Members],
end ++
if
OnlineUsers ->
"@online@\n";
true ->
[]
end ++
[[us_to_list(Member), $\n] || Member <- Members],
FDisplayedGroups = [[DG, $\n] || DG <- DisplayedGroups],
DescNL = length(element(2, regexp:split(Description, "\n"))),
FGroup =
@ -953,6 +1043,8 @@ shared_roster_group_parse_query(Host, Group, Query) ->
case SJID of
"@all@" ->
USs;
"@online@" ->
USs;
_ ->
case jlib:string_to_jid(SJID) of
JID when is_record(JID, jid) ->
@ -967,10 +1059,15 @@ shared_roster_group_parse_query(Host, Group, Query) ->
true -> [{all_users, true}];
false -> []
end,
OnlineUsersOpt =
case lists:member("@online@", SJIDs) of
true -> [{online_users, true}];
false -> []
end,
mod_shared_roster:set_group_opts(
Host, Group,
NameOpt ++ DispGroupsOpt ++ DescriptionOpt ++ AllUsersOpt),
NameOpt ++ DispGroupsOpt ++ DescriptionOpt ++ AllUsersOpt ++ OnlineUsersOpt),
if
NewMembers == error -> error;

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","Mòdul ejannerd Publicar-Subscriure"}.
{"ejabberd SOCKS5 Bytestreams module","mòdul ejabberd SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Mòdul ejabberd vCard"}.
{"ejabberd virtual hosts","Hosts virtuals del ejabberd"}.
{"ejabberd Web Admin","Web d'administració del ejabberd"}.
{"Elements","Elements"}.
{"Email","Email"}.
@ -362,6 +361,7 @@
{"User","Usuari"}.
{"Validate","Validar"}.
{"vCard User Search","Recerca de vCard d'usuari"}.
{"Virtual Hosts","Hosts virtuals"}.
{"Visitors are not allowed to change their nicknames in this room","Els visitants no tenen permés canviar el seus Nicknames en esta sala"}.
{"Visitors are not allowed to send messages to all occupants","Els visitants no poden enviar missatges a tots els ocupants"}.
{"Wednesday","Dimecres"}.

View File

@ -1365,8 +1365,8 @@ msgid "~s access rule configuration"
msgstr "Configuració de les Regles d'Accés ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Hosts virtuals del ejabberd"
msgid "Virtual Hosts"
msgstr "Hosts virtuals"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe modul"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams modul"}.
{"ejabberd vCard module","ejabberd vCard modul"}.
{"ejabberd virtual hosts","Virtuální hostitelé ejabberd"}.
{"ejabberd Web Admin","Webová administrace ejabberd"}.
{"Elements","Položek"}.
{"Email","E-mail"}.
@ -388,6 +387,7 @@
{"User","Uživatel"}.
{"Validate","Ověřit"}.
{"vCard User Search","Hledání uživatelů podle vizitek"}.
{"Virtual Hosts","Virtuální hostitelé"}.
{"Visitors are not allowed to change their nicknames in this room","Návštěvníkům této místnosti je zakázáno měnit přezdívku"}.
{"Visitors are not allowed to send messages to all occupants","Návštevníci nemají povoleno zasílat zprávy všem účastníkům konference"}.
{"Wednesday","Středa"}.

View File

@ -1345,8 +1345,8 @@ msgid "~s access rule configuration"
msgstr "~s konfigurace pravidla přístupu"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Virtuální hostitelé ejabberd"
msgid "Virtual Hosts"
msgstr "Virtuální hostitelé"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe-Modul"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5-Bytestreams-Modul"}.
{"ejabberd vCard module","ejabberd vCard-Modul"}.
{"ejabberd virtual hosts","ejabberd virtuelle Hosts"}.
{"ejabberd Web Admin","ejabberd Web-Admin"}.
{"Elements","Elemente"}.
{"Email","E-Mail"}.
@ -388,6 +387,7 @@
{"Users Last Activity","Letzte Benutzeraktivität"}.
{"Validate","Validieren"}.
{"vCard User Search","vCard-Benutzer-Suche"}.
{"Virtual Hosts","Virtuelle Hosts"}.
{"Visitors are not allowed to change their nicknames in this room","Besucher dürfen in diesem Raum ihren Benutzernamen nicht ändern"}.
{"Visitors are not allowed to send messages to all occupants","Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"}.
{"Wednesday","Mittwoch"}.

View File

@ -1378,8 +1378,8 @@ msgid "~s access rule configuration"
msgstr "~s Zugangsregel-Konfiguration"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtuelle Hosts"
msgid "Virtual Hosts"
msgstr "Virtuelle Hosts"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -1329,7 +1329,7 @@ msgid "~s access rule configuration"
msgstr ""
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgid "Virtual Hosts"
msgstr ""
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","ejabberd module Δημοσίευσης-Εγγραφής"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","ejabberd vCard module"}.
{"ejabberd virtual hosts","εικονικοί κεντρικοί υπολογιστές ejabberd"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Στοιχεία"}.
{"Email","Email"}.
@ -388,6 +387,7 @@
{"User","Χρήστης"}.
{"Validate","Επαληθεύστε"}.
{"vCard User Search","vCard Αναζήτηση χρηστών"}.
{"Virtual Hosts","εικονικοί κεντρικοί υπολογιστές"}.
{"Visitors are not allowed to change their nicknames in this room","Οι επισκέπτες δεν επιτρέπεται να αλλάξουν τα ψευδώνυμα τους σε αυτή την αίθουσα"}.
{"Visitors are not allowed to send messages to all occupants","Οι επισκέπτες δεν επιτρέπεται να στείλουν μηνύματα σε όλους τους συμμετέχωντες"}.
{"Wednesday","Τετάρτη"}.

View File

@ -1382,8 +1382,8 @@ msgid "~s access rule configuration"
msgstr "~s διαμόρφωση κανόνα πρόσβασης"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "εικονικοί κεντρικοί υπολογιστές ejabberd"
msgid "Virtual Hosts"
msgstr "εικονικοί κεντρικοί υπολογιστές"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Public-Abonada modulo"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bajtfluo modulo"}.
{"ejabberd vCard module","ejabberd vCard-modulo"}.
{"ejabberd virtual hosts","ejabberd virtual-gastigoj"}.
{"ejabberd Web Admin","ejabberd Teksaĵa Administro"}.
{"Elements","Eroj"}.
{"Email","Retpoŝto"}.
@ -362,6 +361,7 @@
{"User","Uzanto"}.
{"Validate","Validigu"}.
{"vCard User Search","Serĉado de vizitkartoj"}.
{"Virtual Hosts","Virtual-gastigoj"}.
{"Visitors are not allowed to change their nicknames in this room","Ne estas permesata al vizitantoj ŝanĝi siajn kaŝnomojn en ĉi tiu ĉambro"}.
{"Visitors are not allowed to send messages to all occupants","Vizitantoj ne rajtas sendi mesaĝojn al ĉiuj partoprenantoj"}.
{"Wednesday","Merkredo"}.

View File

@ -1359,8 +1359,8 @@ msgid "~s access rule configuration"
msgstr "Agordo de atingo-reguloj de ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtual-gastigoj"
msgid "Virtual Hosts"
msgstr "Virtual-gastigoj"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1789,9 +1789,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(Kruda)"
#~ msgid "Virtual Hosts"
#~ msgstr "Virtual-gastigoj"
#~ msgid "Specified nickname is already registered"
#~ msgstr "Donita kaŝnomo jam estas registrita"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","Módulo de Publicar-Subscribir de ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Módulo SOCKS5 Bytestreams para ejabberd"}.
{"ejabberd vCard module","Módulo vCard para ejabberd"}.
{"ejabberd virtual hosts","Dominios de ejabberd"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elementos"}.
{"Email","correo"}.
@ -388,6 +387,7 @@
{"User","Usuario"}.
{"Validate","Validar"}.
{"vCard User Search","Buscar vCard de usuario"}.
{"Virtual Hosts","Dominios Virtuales"}.
{"Visitors are not allowed to change their nicknames in this room","Los visitantes no tienen permitido cambiar sus apodos en esta sala"}.
{"Visitors are not allowed to send messages to all occupants","Los visitantes no pueden enviar mensajes a todos los ocupantes"}.
{"Wednesday","miércoles"}.

View File

@ -4,7 +4,7 @@ msgid ""
msgstr ""
"Project-Id-Version: es\n"
"PO-Revision-Date: 2010-11-19 13:40+0100\n"
"Last-Translator: \n"
"Last-Translator: Badlop <badlop@process-one.net>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
@ -1367,8 +1367,8 @@ msgid "~s access rule configuration"
msgstr "Configuración de las Regla de Acceso ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Dominios de ejabberd"
msgid "Virtual Hosts"
msgstr "Dominios Virtuales"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","Module Publish-Subscribe d'ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","Module vCard ejabberd"}.
{"ejabberd virtual hosts","Serveurs virtuels d'ejabberd"}.
{"ejabberd Web Admin","Console Web d'administration de ejabberd"}.
{"Elements","Éléments"}.
{"Email","Email"}.
@ -388,6 +387,7 @@
{"User","Utilisateur"}.
{"Validate","Valider"}.
{"vCard User Search","Recherche dans l'annnuaire"}.
{"Virtual Hosts","Serveurs virtuels"}.
{"Visitors are not allowed to change their nicknames in this room","Les visiteurs ne sont pas autorisés à changer de pseudo dans ce salon"}.
{"Visitors are not allowed to send messages to all occupants","Les visiteurs ne sont pas autorisés à envoyer des messages à tout les occupants"}.
{"Wednesday","Mercredi"}.

View File

@ -1381,8 +1381,8 @@ msgid "~s access rule configuration"
msgstr "Configuration des règles d'accès ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Serveurs virtuels d'ejabberd"
msgid "Virtual Hosts"
msgstr "Serveurs virtuels"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1824,6 +1824,3 @@ msgstr "Effacer"
#~ msgid "(Raw)"
#~ msgstr "(Brut)"
#~ msgid "Virtual Hosts"
#~ msgstr "Serveurs virtuels"

View File

@ -73,7 +73,6 @@
{"ejabberd Publish-Subscribe module","Módulo de Publicar-Subscribir de ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","Módulo vCard para ejabberd"}.
{"ejabberd virtual hosts","Hosts virtuais de ejabberd"}.
{"ejabberd Web Admin","Ejabberd Administrador Web"}.
{"Elements","Elementos"}.
{"Email","Email"}.
@ -356,6 +355,7 @@
{"User","Usuario"}.
{"Validate","Validar"}.
{"vCard User Search","Procura de usuario en vCard"}.
{"Virtual Hosts","Hosts Virtuais"}.
{"Visitors are not allowed to change their nicknames in this room","Os visitantes non están autorizados a cambiar os seus That alcumes nesta sala"}.
{"Visitors are not allowed to send messages to all occupants","Os visitantes non poden enviar mensaxes a todos os ocupantes"}.
{"Wednesday","Mércores"}.

View File

@ -1370,8 +1370,8 @@ msgid "~s access rule configuration"
msgstr "Configuración das Regra de Acceso ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Hosts virtuais de ejabberd"
msgid "Virtual Hosts"
msgstr "Hosts Virtuais"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1805,9 +1805,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(Cru)"
#~ msgid "Virtual Hosts"
#~ msgstr "Hosts Virtuais"
#~ msgid "Specified nickname is already registered"
#~ msgstr "O alcume especificado xa está rexistrado, terás que buscar outro"

408
src/msgs/id.msg Normal file
View File

@ -0,0 +1,408 @@
{"Access Configuration","Akses Konfigurasi"}.
{"Access Control List Configuration","Konfigurasi Daftar Akses Pengendalian"}.
{"Access Control Lists","Akses Daftar Pengendalian"}.
{"Access control lists","Daftar Pengendalian Akses"}.
{"Access denied by service policy","Akses ditolak oleh kebijakan layanan"}.
{"Access rules","Akses peraturan"}.
{"Access Rules","Aturan Akses"}.
{"Action on user","Tindakan pada pengguna"}.
{"Add Jabber ID","Tambah Jabber ID"}.
{"Add New","Tambah Baru"}.
{"Add User","Tambah Pengguna"}.
{"Administration","Administrasi"}.
{"Administration of ","Administrasi"}.
{"Administrator privileges required","Hak istimewa Administrator dibutuhkan"}.
{"A friendly name for the node","Nama yang dikenal untuk node"}.
{"All activity","Semua aktifitas"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Izinkan ID Jabber ini untuk berlangganan pada node pubsub ini?"}.
{"Allow users to change the subject","Perbolehkan pengguna untuk mengganti topik"}.
{"Allow users to query other users","Perbolehkan pengguna untuk mengetahui pengguna lain"}.
{"Allow users to send invites","Perbolehkan pengguna mengirimkan undangan"}.
{"Allow users to send private messages","perbolehkan pengguna mengirimkan pesan ke pengguna lain secara pribadi"}.
{"Allow visitors to change nickname","Perbolehkan visitor mengganti nama julukan"}.
{"Allow visitors to send status text in presence updates","Izinkan pengunjung untuk mengirim teks status terbaru"}.
{"All Users","Semua Pengguna"}.
{"Announcements","Pengumuman"}.
{"anyone","Siapapun"}.
{"A password is required to enter this room","Diperlukan kata sandi untuk masuk ruangan ini"}.
{"April","April"}.
{"August","Agustus"}.
{"Backup","Backup"}.
{"Backup Management","Manajemen Backup"}.
{"Backup of ","Cadangan dari"}.
{"Backup to File at ","Backup ke File pada"}.
{"Bad format","Format yang buruk"}.
{"Birthday","Hari Lahir"}.
{"CAPTCHA web page","CAPTCHA laman web"}.
{"Change Password","Ubah Kata Sandi"}.
{"Change User Password","Ubah User Password"}.
{"Characters not allowed:","Karakter tidak diperbolehkan:"}.
{"Chatroom configuration modified","Konfigurasi ruang chat diubah"}.
{"Chatroom is created","Ruang chat telah dibuat"}.
{"Chatroom is destroyed","Ruang chat dilenyapkan"}.
{"Chatroom is started","Ruang chat dimulai"}.
{"Chatroom is stopped","Ruang chat dihentikan"}.
{"Chatrooms","Ruangan Chat"}.
{"Choose a username and password to register with this server","Pilih nama pengguna dan kata sandi untuk mendaftar dengan layanan ini"}.
{"Choose modules to stop","Pilih Modul untuk berhenti"}.
{"Choose storage type of tables","Pilih jenis penyimpanan tabel"}.
{"Choose whether to approve this entity's subscription.","Pilih apakah akan menyetujui hubungan pertemanan ini."}.
{"City","Kota"}.
{"Commands","Perintah"}.
{"Conference room does not exist","Ruang Konferensi tidak ada"}.
{"Configuration of room ~s","Pengaturan ruangan ~s"}.
{"Configuration","Pengaturan"}.
{"Connected Resources:","Sumber Daya Terhubung:"}.
{"Connections parameters","Parameter Koneksi"}.
{"Country","Negara"}.
{"CPU Time:","Waktu CPU:"}.
{"Database","Database"}.
{"Database Tables at ","Tabel Database pada"}.
{"Database Tables Configuration at ","Database Tabel Konfigurasi pada"}.
{"December","Desember"}.
{"Default users as participants","pengguna pertama kali masuk sebagai participant"}.
{"Delete","Hapus"}.
{"Delete message of the day","Hapus pesan harian"}.
{"Delete message of the day on all hosts","Hapus pesan harian pada semua host"}.
{"Delete Selected","Hapus Yang Terpilih"}.
{"Delete User","Hapus Pengguna"}.
{"Deliver event notifications","Memberikan pemberitahuan acara"}.
{"Deliver payloads with event notifications","Memberikan muatan dengan pemberitahuan acara"}.
{"Description:","Keterangan:"}.
{"Disc only copy","Hanya salinan dari disc"}.
{"Displayed Groups:","Tampilkan Grup:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Jangan memberitahukan kata sandi Anda ke siapapun, bahkan para administrator dari layanan Jabber."}.
{"Dump Backup to Text File at ","Dump Backup ke File Teks di"}.
{"Dump to Text File","Dump menjadi File Teks"}.
{"Edit Properties","Ganti Properti"}.
{"ejabberd IRC module","ejabberd IRC modul"}.
{"ejabberd MUC module","ejabberd MUC Module"}.
{"ejabberd Publish-Subscribe module","Modul ejabberd Setujui-Pertemanan"}.
{"ejabberd SOCKS5 Bytestreams module","modul ejabberd SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Modul ejabberd vCard"}.
{"ejabberd Web Admin","Admin Web ejabberd"}.
{"Elements","Elemen-elemen"}.
{"Email","Email"}.
{"Enable logging","Aktifkan catatan"}.
{"Encoding for server ~b","Pengkodean untuk layanan ~b"}.
{"End User Session","Akhir Sesi Pengguna"}.
{"Enter list of {Module, [Options]}","Masukkan daftar {Modul, [Options]}"}.
{"Enter nickname you want to register","Masukkan nama julukan Anda jika ingin mendaftar"}.
{"Enter path to backup file","Masukkan path untuk file cadangan"}.
{"Enter path to jabberd14 spool dir","Masukkan path ke direktori spool jabberd14"}.
{"Enter path to jabberd14 spool file","Masukkan path ke file jabberd14 spool"}.
{"Enter path to text file","Masukkan path ke file teks"}.
{"Enter the text you see","Masukkan teks yang Anda lihat"}.
{"Enter username and encodings you wish to use for connecting to IRC servers. Press 'Next' to get more fields to fill in. Press 'Complete' to save settings.","Masukkan username dan pengkodean yang ingin Anda gunakan untuk menghubungkan ke layanan IRC. Tekan 'Selanjutnya' untuk mendapatkan lagi formulir kemudian Tekan 'Lengkap' untuk menyimpan pengaturan."}.
{"Enter username, encodings, ports and passwords you wish to use for connecting to IRC servers","Masukkan username, pengkodean, port dan sandi yang ingin Anda gunakan untuk menghubungkan ke layanan IRC"}.
{"Erlang Jabber Server","Layanan Erlang Jabber"}.
{"Error","Kesalahan"}.
{"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].","Contoh: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."}.
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Ekspor data dari semua pengguna pada layanan ke berkas PIEFXIS (XEP-0227):"}.
{"Export data of users in a host to PIEFXIS files (XEP-0227):","Ekspor data pengguna pada sebuah host ke berkas PIEFXIS (XEP-0227):"}.
{"Family Name","Nama Keluarga (marga)"}.
{"February","Februari"}.
{"Fill in fields to search for any matching Jabber User","Isi kolom untuk mencari pengguna Jabber yang sama"}.
{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)","Isi formulir untuk pencarian pengguna Jabber yang cocok (Tambahkan * ke mengakhiri pengisian untuk menyamakan kata)"}.
{"Friday","Jumat"}.
{"From","Dari"}.
{"From ~s","Dari ~s"}.
{"Full Name","Nama Lengkap"}.
{"Get Number of Online Users","Dapatkan Jumlah User Yang Online"}.
{"Get Number of Registered Users","Dapatkan Jumlah Pengguna Yang Terdaftar"}.
{"Get User Last Login Time","Dapatkan Waktu Login Terakhir Pengguna "}.
{"Get User Password","Dapatkan User Password"}.
{"Get User Statistics","Dapatkan Statistik Pengguna"}.
{"Group ","Grup"}.
{"Groups","Grup"}.
{"has been banned","telah dibanned"}.
{"has been kicked because of an affiliation change","telah dikick karena perubahan afiliasi"}.
{"has been kicked because of a system shutdown","telah dikick karena sistem shutdown"}.
{"has been kicked because the room has been changed to members-only","telah dikick karena ruangan telah diubah menjadi hanya untuk member"}.
{"has been kicked","telah dikick"}.
{" has set the subject to: ","telah menetapkan topik yaitu:"}.
{"Host","Host"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Jika Anda tidak melihat gambar CAPTCHA disini, silahkan kunjungi halaman web."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Jika Anda ingin menentukan port yang berbeda, sandi, pengkodean untuk layanan IRC, isi daftar ini dengan nilai-nilai dalam format '{\"server irc \", \"encoding \", port, \"sandi \"}'. Secara default ini menggunakan layanan \"~s \" pengkodean, port ~p, kata sandi kosong."}.
{"Import Directory","Impor Direktori"}.
{"Import File","Impor File"}.
{"Import user data from jabberd14 spool file:","Impor data pengguna dari sekumpulan berkas jabberd14:"}.
{"Import User from File at ","Impor Pengguna dari File pada"}.
{"Import users data from a PIEFXIS file (XEP-0227):","impor data-data pengguna dari sebuah PIEFXIS (XEP-0227):"}.
{"Import users data from jabberd14 spool directory:","Импорт пользовательских данных из буферной директории jabberd14:"}.
{"Import Users from Dir at ","Impor Pengguna dari Dir di"}.
{"Import Users From jabberd14 Spool Files","Impor Pengguna Dari jabberd14 Spool File"}.
{"Improper message type","Jenis pesan yang tidak benar"}.
{"Incorrect password","Kata sandi salah"}.
{"Invalid affiliation: ~s","Afiliasi tidak valid: ~s"}.
{"Invalid role: ~s","Peran tidak valid: ~s"}.
{"IP addresses","Alamat IP"}.
{"IP","IP"}.
{"IRC channel (don't put the first #)","Channel IRC (tidak perlu menempatkan # sebelumnya)"}.
{"IRC server","Layanan IRC"}.
{"IRC settings","Pengaturan IRC"}.
{"IRC Transport","IRC Transport"}.
{"IRC username","Nama Pengguna IRC"}.
{"IRC Username","Nama Pengguna IRC"}.
{"is now known as","sekarang dikenal sebagai"}.
{"It is not allowed to send private messages","Hal ini tidak diperbolehkan untuk mengirim pesan pribadi"}.
{"It is not allowed to send private messages of type \"groupchat\"","Hal ini tidak diperbolehkan untuk mengirim pesan pribadi jenis \"groupchat \""}.
{"It is not allowed to send private messages to the conference","Hal ini tidak diperbolehkan untuk mengirim pesan pribadi ke konferensi"}.
{"Jabber Account Registration","Pendaftaran Akun Jabber"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s tidak valid"}.
{"January","Januari"}.
{"Join IRC channel","Gabung channel IRC"}.
{"joins the room","bergabung ke ruangan"}.
{"Join the IRC channel here.","Gabung ke channel IRC disini"}.
{"Join the IRC channel in this Jabber ID: ~s","Gabung ke channel IRC dengan Jabber ID: ~s"}.
{"July","Juli"}.
{"June","Juni"}.
{"Last Activity","Aktifitas Terakhir"}.
{"Last login","Terakhir Login"}.
{"Last month","Akhir bulan"}.
{"Last year","Akhir tahun"}.
{"leaves the room","meninggalkan ruangan"}.
{"Listened Ports at ","Mendeteksi Port-port di"}.
{"Listened Ports","Port Terdeteksi"}.
{"List of modules to start","Daftar modul untuk memulai"}.
{"Low level update script","Perbaruan naskah tingkat rendah"}.
{"Make participants list public","Buat daftar participant diketahui oleh public"}.
{"Make room captcha protected","Buat ruangan dilindungi dengan chapta"}.
{"Make room members-only","Buat ruangan hanya untuk member saja"}.
{"Make room moderated","Buat ruangan hanya untuk moderator saja"}.
{"Make room password protected","Buat ruangan yang dilindungi dengan kata sandi"}.
{"Make room persistent","Buat ruangan menjadi permanent"}.
{"Make room public searchable","Buat ruangan dapat dicari"}.
{"March","Maret"}.
{"Maximum Number of Occupants","Maksimum Jumlah Penghuni"}.
{"Max # of items to persist","Max item untuk bertahan"}.
{"Max payload size in bytes","Max kapasitas ukuran dalam bytes"}.
{"May","Mei"}.
{"Members:","Anggota:"}.
{"Membership is required to enter this room","Hanya Member yang dapat masuk ruangan ini"}.
{"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.","Hafalkan kata sandi Anda, atau dicatat dan letakkan di tempat yang aman. Didalam Jabber tidak ada cara otomatis untuk mendapatkan kembali password Anda jika Anda lupa."}.
{"Memory","Memori"}.
{"Message body","Isi Pesan"}.
{"Middle Name","Nama Tengah"}.
{"Moderator privileges required","Hak istimewa moderator dibutuhkan"}.
{"moderators only","Hanya moderator"}.
{"Modified modules","Modifikasi modul-modul"}.
{"Module","Modul"}.
{"Modules at ","modul-modul di"}.
{"Modules","Modul"}.
{"Monday","Senin"}.
{"Name:","Nama:"}.
{"Name","Nama"}.
{"Never","Tidak Pernah"}.
{"New Password:","Password Baru:"}.
{"Nickname","Nama Julukan"}.
{"Nickname Registration at ","Pendaftaran Julukan pada"}.
{"Nickname ~s does not exist in the room","Nama Julukan ~s tidak berada di dalam ruangan"}.
{"No body provided for announce message","Tidak ada isi pesan yang disediakan untuk mengirimkan pesan"}.
{"No Data","Tidak Ada Data"}.
{"Node ID","ID Node"}.
{"Node ","Node"}.
{"Node not found","Node tidak ditemukan"}.
{"Nodes","Node-node"}.
{"No limit","Tidak terbatas"}.
{"None","Tak satupun"}.
{"No resource provided","Tidak ada sumber daya yang disediakan"}.
{"Not Found","Tidak Ditemukan"}.
{"Notify subscribers when items are removed from the node","Beritahu pelanggan ketika item tersebut dikeluarkan dari node"}.
{"Notify subscribers when the node configuration changes","Beritahu pelanggan ketika ada perubahan konfigurasi node"}.
{"Notify subscribers when the node is deleted","Beritahu pelanggan ketika node dihapus"}.
{"November","Nopember"}.
{"Number of occupants","Jumlah Penghuni"}.
{"Number of online users","Jumlah pengguna online"}.
{"Number of registered users","Jumlah pengguna terdaftar"}.
{"October","Oktober"}.
{"Offline Messages:","Pesan Offline:"}.
{"Offline Messages","Pesan Offline"}.
{"OK","YA"}.
{"Old Password:","Password Lama:"}.
{"Online","Online"}.
{"Online Users:","Pengguna Online:"}.
{"Online Users","Pengguna Yang Online"}.
{"Only deliver notifications to available users","Hanya mengirimkan pemberitahuan kepada pengguna yang tersedia"}.
{"Only moderators and participants are allowed to change the subject in this room","Hanya moderator dan peserta yang diizinkan untuk mengganti topik pembicaraan di ruangan ini"}.
{"Only moderators are allowed to change the subject in this room","Hanya moderator yang diperbolehkan untuk mengubah topik dalam ruangan ini"}.
{"Only occupants are allowed to send messages to the conference","Hanya penghuni yang diizinkan untuk mengirim pesan ke konferensi"}.
{"Only occupants are allowed to send queries to the conference","Hanya penghuni diizinkan untuk mengirim permintaan ke konferensi"}.
{"Only service administrators are allowed to send service messages","Layanan hanya diperuntukan kepada administrator yang diizinkan untuk mengirim layanan pesan"}.
{"Options","Pilihan-pilihan"}.
{"Organization Name","Nama Organisasi"}.
{"Organization Unit","Unit Organisasi"}.
{"Outgoing s2s Connections","Koneksi Keluar s2s"}.
{"Outgoing s2s Connections:","Koneksi s2s yang keluar:"}.
{"Outgoing s2s Servers:","Layanan s2s yang keluar:"}.
{"Owner privileges required","Hak istimewa owner dibutuhkan"}.
{"Packet","Paket"}.
{"Password ~b","Kata Sandi ~b"}.
{"Password:","Kata Sandi:"}.
{"Password","Sandi"}.
{"Password Verification:","Verifikasi Kata Sandi:"}.
{"Password Verification","Verifikasi Sandi"}.
{"Path to Dir","Jalur ke Dir"}.
{"Path to File","Jalur ke File"}.
{"Pending","Tertunda"}.
{"Period: ","Periode:"}.
{"Persist items to storage","Pertahankan item ke penyimpanan"}.
{"Ping","Ping"}.
{"Please note that these options will only backup the builtin Mnesia database. If you are using the ODBC module, you also need to backup your SQL database separately.","Harap dicatat bahwa pilihan ini hanya akan membuat cadangan builtin Mnesia database. Jika Anda menggunakan modul ODBC, anda juga perlu untuk membuat cadangan database SQL Anda secara terpisah."}.
{"Pong","Pong"}.
{"Port ~b","Port ~b"}.
{"Port","Port"}.
{"Present real Jabber IDs to","Tampilkan Jabber ID secara lengkap"}.
{"private, ","pribadi, "}.
{"Protocol","Protocol"}.
{"Publish-Subscribe","Setujui-Pertemanan"}.
{"PubSub subscriber request","Permintaan pertemanan PubSub"}.
{"Purge all items when the relevant publisher goes offline","Bersihkan semua item ketika penerbit yang relevan telah offline"}.
{"Queries to the conference members are not allowed in this room","Permintaan untuk para anggota konferensi tidak diperbolehkan di ruangan ini"}.
{"RAM and disc copy","RAM dan disc salinan"}.
{"RAM copy","Salinan RAM"}.
{"Raw","mentah"}.
{"Really delete message of the day?","Benar-benar ingin menghapus pesan harian?"}.
{"Recipient is not in the conference room","Penerima tidak berada di ruangan konferensi"}.
{"Register a Jabber account","Daftarkan sebuah akun jabber"}.
{"Registered Users:","Pengguna Terdaftar:"}.
{"Registered Users","Pengguna Terdaftar"}.
{"Register","Mendaftar"}.
{"Registration in mod_irc for ","Pendaftaran di mod_irc untuk"}.
{"Remote copy","Salinan Remote"}.
{"Remove All Offline Messages","Hapus Semua Pesan Offline"}.
{"Remove","Menghapus"}.
{"Remove User","Hapus Pengguna"}.
{"Replaced by new connection","Diganti dengan koneksi baru"}.
{"Resources","Sumber daya"}.
{"Restart","Jalankan Ulang"}.
{"Restart Service","Restart Layanan"}.
{"Restore Backup from File at ","Kembalikan Backup dari File pada"}.
{"Restore binary backup after next ejabberd restart (requires less memory):","Mengembalikan cadangan yang berpasanagn setelah ejabberd berikutnya dijalankan ulang (memerlukan memori lebih sedikit):"}.
{"Restore binary backup immediately:","Segera mengembalikan cadangan yang berpasangan:"}.
{"Restore","Mengembalikan"}.
{"Restore plain text backup immediately:","Segera mengembalikan cadangan teks biasa:"}.
{"Room Configuration","Konfigurasi Ruangan"}.
{"Room creation is denied by service policy","Pembuatan Ruangan ditolak oleh kebijakan layanan"}.
{"Room description","Keterangan ruangan"}.
{"Room Occupants","Penghuni Ruangan"}.
{"Room title","Nama Ruangan"}.
{"Roster groups allowed to subscribe","Kelompok kontak yang diizinkan untuk berlangganan"}.
{"Roster","Kontak"}.
{"Roster of ","Kontak dari"}.
{"Roster size","Ukuran Daftar Kontak"}.
{"RPC Call Error","Panggilan Kesalahan RPC"}.
{"Running Nodes","Menjalankan Node"}.
{"~s access rule configuration","~s aturan akses konfigurasi"}.
{"Saturday","Sabtu"}.
{"Script check","Periksa naskah"}.
{"Search Results for ","Hasil Pencarian untuk"}.
{"Search users in ","Pencarian pengguna dalam"}.
{"Send announcement to all online users","Kirim pengumuman untuk semua pengguna yang online"}.
{"Send announcement to all online users on all hosts","Kirim pengumuman untuk semua pengguna yang online pada semua host"}.
{"Send announcement to all users","Kirim pengumuman untuk semua pengguna"}.
{"Send announcement to all users on all hosts","Kirim pengumuman untuk semua pengguna pada semua host"}.
{"September","September"}.
{"Server ~b","Layanan ~b"}.
{"Server:","Layanan:"}.
{"Set message of the day and send to online users","Mengatur pesan harian dan mengirimkan ke pengguna yang online"}.
{"Set message of the day on all hosts and send to online users","Mengatur pesan harian pada semua host dan kirimkan ke pengguna yang online"}.
{"Shared Roster Groups","Berbagi grup kontak"}.
{"Show Integral Table","Tampilkan Tabel Terpisah"}.
{"Show Ordinary Table","Tampilkan Tabel Normal"}.
{"Shut Down Service","Shut Down Layanan"}.
{"~s invites you to the room ~s","~s mengundang anda ke ruangan ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Beberapa klien Jabber dapat menyimpan password di komputer Anda. Gunakan fitur itu hanya jika Anda mempercayai komputer Anda aman."}.
{"Specify the access model","Tentukan model akses"}.
{"Specify the event message type","Tentukan jenis acara pesan"}.
{"Specify the publisher model","Tentukan model penerbitan"}.
{"~s's Offline Messages Queue","Antrian Pesan Offline ~s"}.
{"Start Modules at ","Mulai Modul pada"}.
{"Start Modules","Memulai Modul"}.
{"Start","Mulai"}.
{"Statistics of ~p","statistik dari ~p"}.
{"Statistics","Statistik"}.
{"Stop","Hentikan"}.
{"Stop Modules at ","Hentikan Modul pada"}.
{"Stop Modules","Hentikan Modul"}.
{"Stopped Nodes","Menghentikan node"}.
{"Storage Type","Jenis Penyimpanan"}.
{"Store binary backup:","Penyimpanan cadangan yang berpasangan:"}.
{"Store plain text backup:","Simpan cadangan teks biasa:"}.
{"Subject","Subyek"}.
{"Submit","Serahkan"}.
{"Submitted","Ulangi masukan"}.
{"Subscriber Address","Alamat Pertemanan"}.
{"Subscription","Berlangganan"}.
{"Sunday","Minggu"}.
{"That nickname is already in use by another occupant","Julukan itu sudah digunakan oleh penghuni lain"}.
{"That nickname is registered by another person","Julukan tersebut telah didaftarkan oleh orang lain"}.
{"The captcha is valid.","Captcha ini benar."}.
{"The CAPTCHA verification has failed","Verifikasi CAPTCHA telah gagal"}.
{"The collections with which a node is affiliated","Koleksi dengan yang berafiliasi dengan sebuah node"}.
{"the password is","kata sandi yaitu:"}.
{"The password is too weak","Kata sandi terlalu lemah"}.
{"The password of your Jabber account was successfully changed.","Kata sandi pada akun Jabber Anda telah berhasil diubah."}.
{"There was an error changing the password: ","Ada kesalahan dalam mengubah password:"}.
{"There was an error creating the account: ","Ada kesalahan saat membuat akun:"}.
{"There was an error deleting the account: ","Ada kesalahan saat menghapus akun:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Pada bagian ini huruf besar dan kecil tidak dibedakan: Misalnya macbeth adalah sama dengan MacBeth juga 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.","Halaman ini memungkinkan untuk membuat akun Jabber di layanan Jabber ini. JID Anda (Jabber Pengenal) akan berbentuk: namapengguna@layanan. Harap baca dengan seksama petunjuk-petunjuk untuk mengisi kolom dengan benar."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Pada bagian ini memungkinkan Anda untuk membatalkan pendaftaran akun Jabber pada layanan Jabber ini."}.
{"This participant is kicked from the room because he sent an error message","Peserta ini dikick dari ruangan karena dia mengirim pesan kesalahan"}.
{"This participant is kicked from the room because he sent an error message to another participant","Participant ini dikick dari ruangan karena ia mengirim pesan kesalahan ke participant lain"}.
{"This participant is kicked from the room because he sent an error presence","Participant ini dikick dari ruangan karena ia mengirim kehadiran kesalahan"}.
{"This room is not anonymous","Ruangan ini tidak dikenal"}.
{"Thursday","Kamis"}.
{"Time delay","Waktu tunda"}.
{"Time","Waktu"}.
{"To","Kepada"}.
{"To ~s","Kepada ~s"}.
{"Traffic rate limit is exceeded","Lalu lintas melebihi batas"}.
{"Transactions Aborted:","Transaksi yang dibatalkan:"}.
{"Transactions Committed:","Transaksi yang dilakukan:"}.
{"Transactions Logged:","Transaksi yang ditempuh:"}.
{"Transactions Restarted:","Transaksi yang dijalankan ulang:"}.
{"Tuesday","Selasa"}.
{"Unable to generate a captcha","Tidak dapat menghasilkan captcha"}.
{"Unable to generate a CAPTCHA","Tidak dapat menghasilkan CAPTCHA"}.
{"Unauthorized","Ditolak"}.
{"Unregister a Jabber account","Nonaktifkan akun jabber"}.
{"Unregister","Nonaktifkan"}.
{"Update ","Memperbarui "}.
{"Update","Memperbarui"}.
{"Update message of the day (don't send)","Rubah pesan harian (tidak dikirim)"}.
{"Update message of the day on all hosts (don't send)","Rubah pesan harian pada semua host (tidak dikirim)"}.
{"Update plan","Rencana Perubahan"}.
{"Update script","Perbarui naskah"}.
{"Uptime:","Sampai saat:"}.
{"Use of STARTTLS required","Penggunaan STARTTLS diperlukan"}.
{"User Management","Manajemen Pengguna"}.
{"Username:","Nama Pengguna:"}.
{"User ","Pengguna"}.
{"User","Pengguna"}.
{"Users are not allowed to register accounts so quickly","Pengguna tidak diperkenankan untuk mendaftar akun begitu cepat"}.
{"Users Last Activity","Aktifitas terakhir para pengguna"}.
{"Users","Pengguna"}.
{"Validate","Mengesahkan"}.
{"vCard User Search","vCard Pencarian Pengguna"}.
{"Virtual Hosts","Virtual Hosts"}.
{"Visitors are not allowed to change their nicknames in this room","Visitor tidak diperbolehkan untuk mengubah nama julukan di ruangan ini"}.
{"Visitors are not allowed to send messages to all occupants","Visitor tidak diperbolehkan untuk mengirim pesan ke semua penghuni"}.
{"Wednesday","Rabu"}.
{"When to send the last published item","Ketika untuk mengirim item terakhir yang dipublikasikan"}.
{"Whether to allow subscriptions","Apakah diperbolehkan untuk berlangganan"}.
{"You can later change your password using a Jabber client.","Anda dapat mengubah kata sandi anda dilain waktu dengan menggunakan klien Jabber."}.
{"You have been banned from this room","Anda telah diblokir dari ruangan ini"}.
{"You must fill in field \"Nickname\" in the form","Anda harus mengisi kolom \"Julukan\" dalam formulir"}.
{"You need a client that supports x:data and CAPTCHA to register","Anda memerlukan klien yang mendukung x:data dan CAPTCHA untuk mendaftar"}.
{"You need a client that supports x:data to register the nickname","Anda memerlukan klien yang mendukung x:data untuk mendaftar julukan"}.
{"You need an x:data capable client to configure mod_irc settings","Anda memerlukan x:data klien untuk mampu mengkonfigurasi pengaturan mod_irc"}.
{"You need an x:data capable client to configure room","Anda memerlukan x:data klien untuk dapat mengkonfigurasi ruangan"}.
{"You need an x:data capable client to search","Anda memerlukan x:data klien untuk melakukan pencarian"}.
{"Your active privacy list has denied the routing of this stanza.","Daftar privasi aktif Anda telah menolak routing ztanza ini"}.
{"Your contact offline message queue is full. The message has been discarded.","Kontak offline Anda pada antrian pesan sudah penuh. Pesan telah dibuang."}.
{"Your Jabber account was successfully created.","Jabber akun Anda telah sukses dibuat"}.
{"Your Jabber account was successfully deleted.","Jabber akun Anda berhasil dihapus."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Pesan Anda untuk ~s sedang diblokir. Untuk membuka blokir tersebut, kunjungi ~s"}.

1799
src/msgs/id.po Normal file

File diff suppressed because it is too large Load Diff

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","Modulo Pubblicazione/Iscrizione (PubSub) per ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Modulo SOCKS5 Bytestreams per ejabberd"}.
{"ejabberd vCard module","Modulo vCard per ejabberd"}.
{"ejabberd virtual hosts","Host virtuali di ejabberd"}.
{"ejabberd Web Admin","Amministrazione web ejabberd"}.
{"Elements","Elementi"}.
{"Email","E-mail"}.
@ -362,6 +361,7 @@
{"User","Utente"}.
{"Validate","Validare"}.
{"vCard User Search","Ricerca di utenti per vCard"}.
{"Virtual Hosts","Host Virtuali"}.
{"Visitors are not allowed to change their nicknames in this room","Non è consentito ai visitatori cambiare il nickname in questa stanza"}.
{"Visitors are not allowed to send messages to all occupants","Non è consentito ai visitatori l'invio di messaggi a tutti i presenti"}.
{"Wednesday","Mercoledì"}.

View File

@ -1372,8 +1372,8 @@ msgid "~s access rule configuration"
msgstr "Configurazione delle regole di accesso per ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Host virtuali di ejabberd"
msgid "Virtual Hosts"
msgstr "Host Virtuali"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe module"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","ejabberd vCard module"}.
{"ejabberd virtual hosts","ejabberd ヴァーチャルホスト"}.
{"ejabberd Web Admin","ejabberd Web 管理"}.
{"Elements","要素"}.
{"Email","メールアドレス"}.
@ -388,6 +387,7 @@
{"Users Last Activity","ユーザーの活動履歴"}.
{"Validate","検証"}.
{"vCard User Search","vCard ユーザー検索"}.
{"Virtual Hosts","ヴァーチャルホスト"}.
{"Visitors are not allowed to change their nicknames in this room","ビジターはこのチャットルームでニックネームを変更することは許可されていません"}.
{"Visitors are not allowed to send messages to all occupants","ビジターが移住者ににメッセージを送ることは許可されていません"}.
{"Wednesday","水曜日"}.

File diff suppressed because it is too large Load Diff

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe module"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","ejabberd's vCard-module"}.
{"ejabberd virtual hosts","Virtuele hosts"}.
{"ejabberd Web Admin","ejabberd Webbeheer"}.
{"Elements","Elementen"}.
{"Email","E-mail"}.
@ -362,6 +361,7 @@
{"Users Last Activity","Laatste activiteit van gebruikers"}.
{"Validate","Bevestigen"}.
{"vCard User Search","Gebruikers zoeken"}.
{"Virtual Hosts","Virtuele hosts"}.
{"Visitors are not allowed to change their nicknames in this room","Het is bezoekers niet toegestaan hun naam te veranderen in dit kanaal"}.
{"Visitors are not allowed to send messages to all occupants","Bezoekers mogen geen berichten verzenden naar alle aanwezigen"}.
{"Wednesday","Woensdag"}.

View File

@ -1378,7 +1378,7 @@ msgid "~s access rule configuration"
msgstr "Access rules op ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgid "Virtual Hosts"
msgstr "Virtuele hosts"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe modul"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams modul"}.
{"ejabberd vCard module","ejabberd vCard modul"}.
{"ejabberd virtual hosts","virtuella ejabberd maskiner"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elementer"}.
{"Email","Epost"}.
@ -362,6 +361,7 @@
{"Users Last Activity","Brukers Siste Aktivitet"}.
{"Validate","Bekrefte gyldighet"}.
{"vCard User Search","vCard Bruker Søk"}.
{"Virtual Hosts","Virtuella Maskiner"}.
{"Visitors are not allowed to change their nicknames in this room","Besøkende får ikke lov å endre kallenavn i dette "}.
{"Visitors are not allowed to send messages to all occupants","Besøkende får ikke sende meldinger til alle deltakere"}.
{"Wednesday","onsdag"}.

View File

@ -1352,8 +1352,8 @@ msgid "~s access rule configuration"
msgstr "tilgangsregel konfigurasjon for ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "virtuella ejabberd maskiner"
msgid "Virtual Hosts"
msgstr "Virtuella Maskiner"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","Moduł Publish-Subscribe"}.
{"ejabberd SOCKS5 Bytestreams module","Moduł SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Moduł vCard ejabberd"}.
{"ejabberd virtual hosts","wirtualne hosty ejabberd"}.
{"ejabberd Web Admin","ejabberd: Panel Administracyjny"}.
{"Elements","Elementy"}.
{"Email","Email"}.
@ -388,6 +387,7 @@
{"User","Użytkownik"}.
{"Validate","Potwierdź"}.
{"vCard User Search","Wyszukiwanie vCard użytkowników"}.
{"Virtual Hosts","Wirtualne Hosty"}.
{"Visitors are not allowed to change their nicknames in this room","Uczestnicy tego pokoju nie mogą zmieniać swoich nicków"}.
{"Visitors are not allowed to send messages to all occupants","Odwiedzający nie mogą wysyłać wiadomości do wszystkich obecnych"}.
{"Wednesday","Środa"}.

View File

@ -1360,8 +1360,8 @@ msgid "~s access rule configuration"
msgstr "~s konfiguracja zasad dostępu"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "wirtualne hosty ejabberd"
msgid "Virtual Hosts"
msgstr "Wirtualne Hosty"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -78,7 +78,6 @@
{"ejabberd Publish-Subscribe module","Módulo para Publicar Tópicos do ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Modulo ejabberd SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Módulo vCard para ejabberd"}.
{"ejabberd virtual hosts","Hosts virtuais de ejabberd"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elementos"}.
{"Email","Email"}.
@ -376,6 +375,7 @@
{"User","Usuário"}.
{"Validate","Validar"}.
{"vCard User Search","Busca de Usuário vCard"}.
{"Virtual Hosts","Hosts virtuais"}.
{"Visitors are not allowed to change their nicknames in this room","Nesta sala, os visitantes não pode mudar seus apelidos"}.
{"Visitors are not allowed to send messages to all occupants","Os visitantes não podem enviar mensagens a todos os ocupantes"}.
{"Wednesday","Quarta"}.

View File

@ -1368,8 +1368,8 @@ msgid "~s access rule configuration"
msgstr "Configuração da Regra de Acesso ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Hosts virtuais de ejabberd"
msgid "Virtual Hosts"
msgstr "Hosts virtuais"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -1425,8 +1425,8 @@ msgstr "Configuração das Regra de Acesso ~s"
#: web/ejabberd_web_admin.erl:1031
#, fuzzy
msgid "ejabberd virtual hosts"
msgstr "Estatísticas do ejabberd"
msgid "Virtual Hosts"
msgstr "Servidores virtuales"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","Модуль ejabberd Публикации-Подписки"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams модуль"}.
{"ejabberd vCard module","ejabberd vCard модуль"}.
{"ejabberd virtual hosts","Виртуальные хосты ejabberd"}.
{"ejabberd Web Admin","Web-интерфейс администрирования ejabberd"}.
{"Elements","Элементы"}.
{"Email","Электронная почта"}.
@ -388,6 +387,7 @@
{"User","Пользователь"}.
{"Validate","Утвердить"}.
{"vCard User Search","Поиск пользователей по vCard"}.
{"Virtual Hosts","Виртуальные хосты"}.
{"Visitors are not allowed to change their nicknames in this room","Посетителям запрещено изменять свои псевдонимы в этой комнате"}.
{"Visitors are not allowed to send messages to all occupants","Посетителям не разрешается посылать сообщения всем присутствующим"}.
{"Wednesday","Среда"}.

View File

@ -1363,8 +1363,8 @@ msgid "~s access rule configuration"
msgstr "Конфигурация правила доступа ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Виртуальные хосты ejabberd"
msgid "Virtual Hosts"
msgstr "Виртуальные хосты"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -77,7 +77,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe modul"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams modul"}.
{"ejabberd vCard module","ejabberd vCard modul"}.
{"ejabberd virtual hosts","ejabberd virtuálne servery"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Prvky"}.
{"Email","E-mail"}.
@ -362,6 +361,7 @@
{"User","Užívateľ"}.
{"Validate","Overiť"}.
{"vCard User Search","Hľadať užívateľov vo vCard"}.
{"Virtual Hosts","Virtuálne servery"}.
{"Visitors are not allowed to change their nicknames in this room","V tejto miestnosti nieje povolené meniť prezývky"}.
{"Visitors are not allowed to send messages to all occupants","Návštevníci nemajú povolené zasielať správy všetkým prihláseným do konferencie"}.
{"Wednesday","Streda"}.

View File

@ -1355,8 +1355,8 @@ msgid "~s access rule configuration"
msgstr "~s konfigurácia prístupového pravidla"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd virtuálne servery"
msgid "Virtual Hosts"
msgstr "Virtuálne servery"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1788,9 +1788,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(Raw)"
#~ msgid "Virtual Hosts"
#~ msgstr "Virtuálne servery"
#~ msgid "Specified nickname is already registered"
#~ msgstr "Zadaná prezývka je už registrovaná"

View File

@ -72,7 +72,6 @@
{"ejabberd Publish-Subscribe module","ejabberd publikprenumerations modul"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestrem modul"}.
{"ejabberd vCard module","ejabberd vCard-modul"}.
{"ejabberd virtual hosts","Virtuella ejabberd-servrar"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elements"}.
{"Email","Email"}.
@ -348,6 +347,7 @@
{"Users Last Activity","Användarens senaste aktivitet"}.
{"Validate","Validera"}.
{"vCard User Search","vCard användare sök"}.
{"Virtual Hosts","Virtuella servrar"}.
{"Visitors are not allowed to change their nicknames in this room","Det är inte tillåtet for gäster att ändra sina smeknamn i detta rummet"}.
{"Visitors are not allowed to send messages to all occupants","Besökare får inte skicka medelande till alla"}.
{"Wednesday","Onsdag"}.

View File

@ -1371,8 +1371,8 @@ msgid "~s access rule configuration"
msgstr "Åtkomstregelkonfiguration för ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Virtuella ejabberd-servrar"
msgid "Virtual Hosts"
msgstr "Virtuella servrar"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -66,7 +66,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe module"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams module"}.
{"ejabberd vCard module","ejabberd vCard module"}.
{"ejabberd virtual hosts","โฮสต์เสมือน ejabberd"}.
{"Email","อีเมล"}.
{"Enable logging","เปิดใช้งานการบันทึก"}.
{"End User Session","สิ้นสุดเซสชันของผู้ใช้"}.
@ -297,6 +296,7 @@
{"Users Last Activity","กิจกรรมล่าสุดของผู้ใช้"}.
{"Validate","ตรวจสอบ"}.
{"vCard User Search","ค้นหาผู้ใช้ vCard "}.
{"Virtual Hosts","โฮสต์เสมือน"}.
{"Visitors are not allowed to send messages to all occupants","ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"}.
{"Wednesday","วันพุธ"}.
{"When to send the last published item","เวลาที่ส่งรายการที่เผยแพร่ครั้งล่าสุด"}.

View File

@ -1372,8 +1372,8 @@ msgid "~s access rule configuration"
msgstr "~s การกำหนดค่ากฎการเข้าถึง"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "โฮสต์เสมือน ejabberd"
msgid "Virtual Hosts"
msgstr "โฮสต์เสมือน"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1803,9 +1803,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(ข้อมูลดิบ)"
#~ msgid "Virtual Hosts"
#~ msgstr "โฮสต์เสมือน"
#~ msgid "Specified nickname is already registered"
#~ msgstr "ชื่อเล่นที่ระบุได้รับการลงได้ทะเบียนแล้ว"

View File

@ -73,7 +73,6 @@
{"ejabberd Publish-Subscribe module","ejabberd Publish-Subscribe modülü"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams modülü"}.
{"ejabberd vCard module","ejabberd vCard modülü"}.
{"ejabberd virtual hosts","ejabberd sanal sunucuları"}.
{"ejabberd Web Admin","ejabberd Web Yöneticisi"}.
{"Elements","Elementler"}.
{"Email","E-posta"}.
@ -356,6 +355,7 @@
{"Users Last Activity","Kullanıcıların Son Aktiviteleri"}.
{"Validate","Geçerli"}.
{"vCard User Search","vCard Kullanıcı Araması"}.
{"Virtual Hosts","Sanal Sunucuları"}.
{"Visitors are not allowed to change their nicknames in this room","Bu odada ziyaretçilerin takma isimlerini değiştirmesine izin verilmiyor"}.
{"Visitors are not allowed to send messages to all occupants","Ziyaretçilerin odadaki tüm sakinlere mesaj göndermesine izin verilmiyor"}.
{"Wednesday","Çarşamba"}.

View File

@ -1375,8 +1375,8 @@ msgid "~s access rule configuration"
msgstr "~s erişim kuralları ayarları"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd sanal sunucuları"
msgid "Virtual Hosts"
msgstr "Sanal Sunucuları"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","Модуль ejabberd Публікації-Абонування"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 Bytestreams модуль"}.
{"ejabberd vCard module","ejabberd vCard модуль"}.
{"ejabberd virtual hosts","віртуальні хости ejabberd"}.
{"ejabberd Web Admin","Веб-інтерфейс Адміністрування ejabberd"}.
{"Elements","Елементи"}.
{"Email","Електронна пошта"}.
@ -388,6 +387,7 @@
{"User","Користувач"}.
{"Validate","Затвердити"}.
{"vCard User Search","Пошук користувачів по vCard"}.
{"Virtual Hosts","віртуальні хости"}.
{"Visitors are not allowed to change their nicknames in this room","Відвідувачам не дозволяється змінювати псевдонім в цій кімнаті"}.
{"Visitors are not allowed to send messages to all occupants","Відвідувачам не дозволяється надсилати повідомлення всім присутнім"}.
{"Wednesday","Середа"}.

View File

@ -1368,8 +1368,8 @@ msgid "~s access rule configuration"
msgstr "Конфігурація правила доступу ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "віртуальні хости ejabberd"
msgid "Virtual Hosts"
msgstr "віртуальні хости"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"

View File

@ -66,7 +66,6 @@
{"ejabberd Publish-Subscribe module","Môdun ejabberd Xuất Bản-Đăng Ký Bản quyền"}.
{"ejabberd SOCKS5 Bytestreams module","Môdun SOCKS5 Bytestreams Bản quyền"}.
{"ejabberd vCard module","Môdun ejabberd vCard Bản quyền"}.
{"ejabberd virtual hosts","Máy chủ ảo ejabberd"}.
{"Email","Email"}.
{"Enable logging","Cho phép ghi nhật ký"}.
{"End User Session","Kết Thúc Phiên Giao Dịch Người Sử Dụng"}.
@ -297,6 +296,7 @@
{"Users","Người sử dụng"}.
{"Validate","Xác nhận hợp lệ"}.
{"vCard User Search","Tìm Kiếm Người Sử Dụng vCard"}.
{"Virtual Hosts","Máy Chủ Ảo"}.
{"Visitors are not allowed to send messages to all occupants","Người ghé thăm không được phép gửi thư đến tất cả các người tham dự"}.
{"Wednesday","Thứ Tư"}.
{"When to send the last published item","Khi cần gửi mục được xuất bản cuối cùng"}.

View File

@ -1395,8 +1395,8 @@ msgid "~s access rule configuration"
msgstr "~s cấu hình quy tắc truy cập"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Máy chủ ảo ejabberd"
msgid "Virtual Hosts"
msgstr "Máy Chủ Ảo"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1828,9 +1828,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(Thô)"
#~ msgid "Virtual Hosts"
#~ msgstr "Máy Chủ Ảo"
#~ msgid "Specified nickname is already registered"
#~ msgstr "Bí danh xác định đã đăng ký rồi"

View File

@ -69,7 +69,6 @@
{"ejabberd Publish-Subscribe module","Module d' eplaidaedje-abounmint po ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Module SOCKS5 Bytestreams po ejabberd"}.
{"ejabberd vCard module","Module vCard ejabberd"}.
{"ejabberd virtual hosts","Forveyous sierveus da ejabberd"}.
{"ejabberd Web Admin","Manaedjeu waibe ejabberd"}.
{"Email","Emile"}.
{"Enable logging","Mete en alaedje li djournå"}.
@ -310,6 +309,7 @@
{"User","Uzeu"}.
{"Validate","Valider"}.
{"vCard User Search","Calpin des uzeus"}.
{"Virtual Hosts","Forveyous sierveus"}.
{"Visitors are not allowed to change their nicknames in this room","Les viziteus èn polèt nén candjî leus metous no po ç' såle ci"}.
{"Visitors are not allowed to send messages to all occupants","Les viziteus n' polèt nén evoyî des messaedjes a tos les prezints"}.
{"Wednesday","mierkidi"}.

View File

@ -1393,8 +1393,8 @@ msgid "~s access rule configuration"
msgstr "Apontiaedje des rîles d' accès a ~s"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "Forveyous sierveus da ejabberd"
msgid "Virtual Hosts"
msgstr "Forveyous sierveus"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1827,9 +1827,6 @@ msgstr ""
#~ msgid "(Raw)"
#~ msgstr "(Dinêyes brutes)"
#~ msgid "Virtual Hosts"
#~ msgstr "Forveyous sierveus"
#~ msgid "Specified nickname is already registered"
#~ msgstr "Li no metou dné est ddja edjîstré"

View File

@ -80,7 +80,6 @@
{"ejabberd Publish-Subscribe module","ejabberd 发行-订阅模块"}.
{"ejabberd SOCKS5 Bytestreams module","ejabberd SOCKS5 字节流模块"}.
{"ejabberd vCard module","ejabberd vCard 模块"}.
{"ejabberd virtual hosts","ejabberd 虚拟主机"}.
{"ejabberd Web Admin","ejabberd 网页管理"}.
{"Elements","元素"}.
{"Email","电子邮件"}.
@ -388,6 +387,7 @@
{"User","用户"}.
{"Validate","确认"}.
{"vCard User Search","vCard 用户搜索"}.
{"Virtual Hosts","虚拟主机"}.
{"Visitors are not allowed to change their nicknames in this room","此房间不允许用户更改昵称"}.
{"Visitors are not allowed to send messages to all occupants","不允许访客给所有占有者发送消息"}.
{"Wednesday","星期三"}.

View File

@ -1338,8 +1338,8 @@ msgid "~s access rule configuration"
msgstr "~s 访问规则配置"
#: web/ejabberd_web_admin.erl:1031
msgid "ejabberd virtual hosts"
msgstr "ejabberd 虚拟主机"
msgid "Virtual Hosts"
msgstr "虚拟主机"
#: web/ejabberd_web_admin.erl:1039 web/ejabberd_web_admin.erl:1046
msgid "Users"
@ -1765,9 +1765,6 @@ msgstr "取消注册"
#~ msgid "(Raw)"
#~ msgstr "(原始格式)"
#~ msgid "Virtual Hosts"
#~ msgstr "虚拟主机"
#~ msgid "Specified nickname is already registered"
#~ msgstr "指定的昵称已被注册"

View File

@ -207,9 +207,12 @@ terminate(_Reason, _S) ->
store(List) ->
_ = [(assure_group(Name)
andalso
[join_group(Name, P) || P <- Members -- group_members(Name)]) ||
store2(Name, Members)) ||
[Name, Members] <- List],
ok.
store2(Name, Members) ->
[join_group(Name, P) || P <- Members -- group_members(Name)],
true.
assure_group(Name) ->
Key = {group, Name},

View File

@ -1028,7 +1028,7 @@ process_admin(global,
auth = {_, _Auth, AJID},
lang = Lang}) ->
Res = list_vhosts(Lang, AJID),
make_xhtml(?H1GL(?T("ejabberd virtual hosts"), "virtualhost", "Virtual Hosting") ++ Res, global, Lang, AJID);
make_xhtml(?H1GL(?T("Virtual Hosts"), "virtualhost", "Virtual Hosting") ++ Res, global, Lang, AJID);
process_admin(Host,
#request{path = ["users"],