25
1
mirror of https://github.com/processone/ejabberd.git synced 2024-11-22 16:20:52 +01:00

Merge from trunk (r1804 to r1829).

The merge party is over, you may now double-check that everything is in
place.

PR:		EJABP-1

SVN Revision: 1830
This commit is contained in:
Jean-Sébastien Pédron 2009-01-19 15:27:07 +00:00
parent ff500d8297
commit fc77b48344
74 changed files with 1420 additions and 763 deletions

View File

@ -1,3 +1,7 @@
2009-01-19 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
Merge from trunk (r1804 to r1829).
2009-01-19 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
Merge from trunk (r1752 to r1804).
@ -15,6 +19,10 @@
* src/ejabberd_auth_anonymous.erl: Fix accesses to the new #jid opaque
type.
2009-01-17 Mickael Remond <mremond@process-one.net>
* src/ejabberd_c2s.erl: Added comments.
2009-01-16 Jean-Sébastien Pédron <js.pedron@meetic-corp.com>
Merge from trunk (r1734 to r1752).
@ -26,6 +34,12 @@
* src/jlib.hrl: Any deprecated content was removed from jlib.hrl. This
leaves only the new RSM records.
2009-01-16 Badlop <badlop@process-one.net>
* src/mod_privacy.erl: Privacy list items must be processed in the
specified order (EJAB-848)
* src/mod_privacy_odbc.erl: Likewise
2009-01-15 Pablo Polvorin <pablo.polvorin@process-one.net>
* src/mod_muc/mod_muc.erl, src/mod_muc/mod_muc_room.erl:
@ -33,6 +47,63 @@
Use document_to_iolist/1 and iolist_size/1 instead of
document_to_list/1.
2009-01-13 Badlop <badlop@process-one.net>
* doc/release_notes_2.0.3.txt: Add release notes
2009-01-13 Mickael Remond <mremond@process-one.net>
* src/tls/Makefile.win32: Windows compilation support.
* src/tls/tls_drv.c: Likewise.
* src/tls/stdint.h: Likewise.
* doc/guide.tex: Update Erlang version in Windows compilation
documentation.
2009-01-13 Badlop <badlop@process-one.net>
* src/msgs/pl.po: Fix typo (thanks to Apag0r)(EJAB-844)
2009-01-12 Badlop <badlop@process-one.net>
* src/web/ejabberd_web_admin.erl: Use textareas for large input
like ejabberd module options and listening port options. Show
result of POST more clearly. Ensure access rules are shown with
some minimum separation. Improve menu headers. (EJAB-562)
* src/web/ejabberd_web_admin.hrl: Likewise
* src/mod_offline.erl: Likewise
* src/mod_offline_odbc.erl: Likewise
* src/mod_roster.erl: Likewise
* src/mod_roster_odbc.erl: Likewise
* src/mod_shared_roster.erl: Likewise
* src/ejabberd_listener.erl: New way to configure IP address and
IP version of listener. Support for definition of IP address in
string format, and implicit definition of IP
version (EJAB-388). Support for defining several listeners: all
with same port number but different IP addresses (EJAB-389)(thanks
to Fabrice Colliot and Sergei Golovan). Better report in WebAdmin
of problem when starting a listener. The old configuration method
of ip tuple and inet6 is fully supported for backwards
compatibility, but is not documented in the Guide anymore.
* src/ejabberd_config.erl: Likewise
* src/mod_proxy65/mod_proxy65_stream.erl: Likewise
* src/mod_proxy65/mod_proxy65_service.erl: Likewise
* src/web/ejabberd_web_admin.erl: Likewise
* doc/guide.tex: Document the new way to configure IP address and
IP version of listener, undocument options ip and inet6
* doc/guide.html: Likewise
* src/web/ejabberd_web_admin.erl: New appearance of WebAdmin logo,
fixed logo-fill.
* doc/guide.tex: Fix some English strings: JID -> Jabber ID;
jabberd 1.4 -> jabberd14; commited -> committed
* src/*/*.erl: Likewise
* src/msgs/*.msg: Likewise
* src/msgs/*.po: Likewise
2009-01-12 Alexey Shchepin <alexey@process-one.net>
* src/odbc/ejabberd_odbc.erl: Fixed processing of UPDATE results

View File

@ -622,31 +622,59 @@ other different modules for some specific virtual hosts:
will listen and what services will be run on them. Each element of the list is a
tuple with the following elements:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
Port number.
</LI><LI CLASS="li-itemize">Module that serves this port.
</LI><LI CLASS="li-itemize">Options to this module.
</LI></UL><P>
Port number. Optionally also the IP address.
</LI><LI CLASS="li-itemize">Listening module that serves this port.
</LI><LI CLASS="li-itemize">Options for the TCP socket and for the listening module.
</LI></UL><P>With the basic syntax the ports will listen on all IPv4 network addresses:
</P><PRE CLASS="verbatim">{listen, [
{&lt;port-number&gt;, &lt;module&gt;, [&lt;options&gt;]},
{&lt;port-number&gt;, &lt;module&gt;, [&lt;options&gt;]},
...
{&lt;port-number&gt;, &lt;module&gt;, [&lt;options&gt;]}
]}.
</PRE><P>It is possible to specify the IP address for a port using the full syntax:
</P><PRE CLASS="verbatim"> {{&lt;port-number&gt;, &lt;ip-address&gt;}, &lt;module&gt;, [&lt;options&gt;]}
</PRE><P> <A NAME="listened-port"></A> </P><!--TOC subsubsection Port Number and IP Address-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#listened-port">Port Number and IP Address</A></H4><!--SEC END --><P> <A NAME="listened-port"></A> </P><P>The port number defines which port to listen for incoming connections.
It can be a Jabber/XMPP standard port
(see section <A HREF="#firewall">5.1</A>) or any other valid port number.</P><P>The IP address can be represented with a string
or an Erlang tuple with decimal or hexadecimal numbers.
The socket will listen only in that network interface.
It is possible to specify a generic address,
so <TT>ejabberd</TT> will listen in all addresses.
Depending in the type of the IP address, IPv4 or IPv6 will be used.</P><P>Some example values for IP address:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
<CODE>"0.0.0.0"</CODE> to listen in all IPv4 network interfaces. This is the default value when no IP is specified.
</LI><LI CLASS="li-itemize"><CODE>"::"</CODE> to listen in all IPv6 network interfaces
</LI><LI CLASS="li-itemize"><CODE>"10.11.12.13"</CODE> is the IPv4 address <CODE>10.11.12.13</CODE>
</LI><LI CLASS="li-itemize"><CODE>"::FFFF:127.0.0.1"</CODE> is the IPv6 address <CODE>::FFFF:127.0.0.1/128</CODE>
</LI><LI CLASS="li-itemize"><CODE>{10, 11, 12, 13}</CODE> is the IPv4 address <CODE>10.11.12.13</CODE>
</LI><LI CLASS="li-itemize"><CODE>{0, 0, 0, 0, 0, 65535, 32512, 1}</CODE> is the IPv6 address <CODE>::FFFF:127.0.0.1/128</CODE>
</LI><LI CLASS="li-itemize"><CODE>{16#fdca, 16#8ab6, 16#a243, 16#75ef, 0, 0, 0, 1}</CODE> is the IPv6 address <CODE>FDCA:8AB6:A243:75EF::1/128</CODE>
</LI></UL><P> <A NAME="listened-module"></A> </P><!--TOC subsubsection Listening Module-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#listened-module">Listening Module</A></H4><!--SEC END --><P> <A NAME="listened-module"></A> </P><P>
The available modules, their purpose and the options allowed by each one are:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>ejabberd_c2s</TT></B></DT><DD CLASS="dd-description">
Handles c2s connections.<BR>
Options: <TT>access</TT>, <TT>certfile</TT>, <TT>inet6</TT>,
<TT>ip</TT>, <TT>max_stanza_size</TT>, <TT>shaper</TT>,
Options: <TT>access</TT>, <TT>certfile</TT>,
<TT>max_stanza_size</TT>, <TT>shaper</TT>,
<TT>starttls</TT>, <TT>starttls_required</TT>, <TT>tls</TT>,
<TT>zlib</TT>
</DD><DT CLASS="dt-description"><B><TT>ejabberd_s2s_in</TT></B></DT><DD CLASS="dd-description">
Handles incoming s2s connections.<BR>
Options: <TT>inet6</TT>, <TT>ip</TT>, <TT>max_stanza_size</TT>
Options: <TT>max_stanza_size</TT>
</DD><DT CLASS="dt-description"><B><TT>ejabberd_service</TT></B></DT><DD CLASS="dd-description">
Interacts with an <A HREF="http://www.ejabberd.im/tutorials-transports">external component</A>
(as defined in the Jabber Component Protocol (<A HREF="http://www.xmpp.org/extensions/xep-0114.html">XEP-0114</A>).<BR>
Options: <TT>access</TT>, <TT>hosts</TT>, <TT>inet6</TT>,
<TT>ip</TT>, <TT>shaper</TT>, <TT>service_check_from</TT>
Options: <TT>access</TT>, <TT>hosts</TT>,
<TT>shaper</TT>, <TT>service_check_from</TT>
</DD><DT CLASS="dt-description"><B><TT>ejabberd_http</TT></B></DT><DD CLASS="dd-description">
Handles incoming HTTP connections.<BR>
Options: <TT>certfile</TT>, <TT>http_bind</TT>, <TT>http_poll</TT>,
<TT>inet6</TT>, <TT>ip</TT>, <TT>request_handlers</TT>, <TT>tls</TT>, <TT>web_admin</TT><BR>
</DD></DL><P>This is a detailed description of each option allowed by the listening modules:
<TT>request_handlers</TT>, <TT>tls</TT>, <TT>web_admin</TT><BR>
</DD></DL><P> <A NAME="listened-options"></A> </P><!--TOC subsubsection Options-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#listened-options">Options</A></H4><!--SEC END --><P> <A NAME="listened-options"></A> </P><P>This is a detailed description of each option allowed by the listening modules:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{access, &lt;access rule&gt;}</TT></B></DT><DD CLASS="dd-description"> This option defines
access to the port. The default value is <TT>all</TT>.
@ -685,13 +713,7 @@ do not allow outgoing sockets on port 5222.<P>If HTTP Polling is enabled, it wil
is also needed in the Jabber client. Remark also that HTTP Polling can be
interesting to host a web-based Jabber client such as
<A HREF="http://jwchat.sourceforge.net/">JWChat</A>.
</P></DD><DT CLASS="dt-description"><B><TT>inet6</TT></B></DT><DD CLASS="dd-description"> Set up the socket for IPv6 instead of IPv4.
Note: this option is not required for S2S outgoing connections,
because when ejabberd attempts to establish a S2S outgoing connection
it first tries IPv4, and if that fails it attempts with IPv6.
</DD><DT CLASS="dt-description"><B><TT>{ip, IPAddress}</TT></B></DT><DD CLASS="dd-description"> This option specifies which network
interface to listen for. For example <CODE>{ip, {192, 168, 1, 1}}</CODE>.
</DD><DT CLASS="dt-description"><B><TT>{max_stanza_size, Size}</TT></B></DT><DD CLASS="dd-description">
</P></DD><DT CLASS="dt-description"><B><TT>{max_stanza_size, Size}</TT></B></DT><DD CLASS="dd-description">
This option specifies an
approximate maximum size in bytes of XML stanzas. Approximate,
because it is calculated with the precision of one block of readed
@ -736,7 +758,7 @@ is available on connections to the port. Client connections cannot use
stream compression and stream encryption simultaneously. Hence, if you
specify both <TT>tls</TT> (or <TT>ssl</TT>) and <TT>zlib</TT>, the latter
option will not affect connections (there will be no stream compression).
</DD></DL><P>There are some additional global options:
</DD></DL><P>There are some additional global options that can be specified in the ejabberd configuration file (outside <TT>listen</TT>):
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{s2s_use_starttls, true|false}</TT></B></DT><DD CLASS="dd-description">
This option defines whether to
@ -759,17 +781,18 @@ with a small list of trusted servers, or to block some specific servers.
</DD><DT CLASS="dt-description"><B><TT>{s2s_max_retry_delay, Seconds}</TT></B></DT><DD CLASS="dd-description">
The maximum allowed delay for retry to connect after a failed connection attempt.
Specified in seconds. The default value is 300 seconds (5 minutes).
</DD></DL><P>For example, the following simple configuration defines:
</DD></DL><P> <A NAME="listened-examples"></A> </P><!--TOC subsubsection Examples-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#listened-examples">Examples</A></H4><!--SEC END --><P> <A NAME="listened-examples"></A> </P><P>For example, the following simple configuration defines:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
There are three domains. The default certificate file is <TT>server.pem</TT>.
However, the c2s and s2s connections to the domain <TT>example.com</TT> use the file <TT>example_com.pem</TT>.
</LI><LI CLASS="li-itemize">Port 5222 listens for c2s connections with STARTTLS,
and also allows plain connections for old clients.
</LI><LI CLASS="li-itemize">Port 5223 listens for c2s connections with the old SSL.
</LI><LI CLASS="li-itemize">Port 5269 listens for s2s connections with STARTTLS.
</LI><LI CLASS="li-itemize">Port 5269 listens for s2s connections with STARTTLS. The socket is set for IPv6 instead of IPv4.
</LI><LI CLASS="li-itemize">Port 5280 listens for HTTP requests, and serves the HTTP Poll service.
</LI><LI CLASS="li-itemize">Port 5281 listens for HTTP requests, and serves the Web Admin using HTTPS as explained in
section&#XA0;<A HREF="#webadmin">4.2</A>.
section&#XA0;<A HREF="#webadmin">4.2</A>. The socket only listens connections to the IP address 127.0.0.1.
</LI></UL><PRE CLASS="verbatim">{hosts, ["example.com", "example.org", "example.net"]}.
{listen,
[
@ -785,14 +808,14 @@ section&#XA0;<A HREF="#webadmin">4.2</A>.
tls, {certfile, "/etc/ejabberd/server.pem"},
{max_stanza_size, 65536}
]},
{5269, ejabberd_s2s_in, [
{{5269, "::"}, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_poll
]},
{5281, ejabberd_http, [
{{5281, "127.0.0.1"}, ejabberd_http, [
web_admin,
tls, {certfile, "/etc/ejabberd/server.pem"},
]}
@ -803,21 +826,23 @@ section&#XA0;<A HREF="#webadmin">4.2</A>.
{domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}.
</PRE><P>In this example, the following configuration defines that:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
c2s connections are listened for on port 5222 and 5223 (SSL) and denied
c2s connections are listened for on port 5222 (all IPv4 addresses) and
on port 5223 (SSL, IP 192.168.0.1 and fdca:8ab6:a243:75ef::1) and denied
for the user called &#X2018;<TT>bad</TT>&#X2019;.
</LI><LI CLASS="li-itemize">s2s connections are listened for on port 5269 with STARTTLS for secured
traffic enabled.
</LI><LI CLASS="li-itemize">s2s connections are listened for on port 5269 (all IPv4 addresses)
with STARTTLS for secured traffic enabled.
Incoming and outgoing connections of remote Jabber servers are denied,
only two servers can connect: "jabber.example.org" and "example.com".
</LI><LI CLASS="li-itemize">Port 5280 is serving the Web Admin and the HTTP Polling service. Note
</LI><LI CLASS="li-itemize">Port 5280 is serving the Web Admin and the HTTP Polling service
in all the IPv4 addresses. Note
that it is also possible to serve them on different ports. The second
example in section&#XA0;<A HREF="#webadmin">4.2</A> shows how exactly this can be done.
</LI><LI CLASS="li-itemize">All users except for the administrators have a traffic of limit
1,000&#XA0;Bytes/second
</LI><LI CLASS="li-itemize">The
<A HREF="http://www.ejabberd.im/pyaimt">AIM transport</A>
<TT>aim.example.org</TT> is connected to port 5233 with password
&#X2018;<TT>aimsecret</TT>&#X2019;.
<TT>aim.example.org</TT> is connected to port 5233 on localhost IP addresses
(127.0.0.1 and ::1) with password &#X2018;<TT>aimsecret</TT>&#X2019;.
</LI><LI CLASS="li-itemize">The ICQ transport JIT (<TT>icq.example.org</TT> and
<TT>sms.example.org</TT>) is connected to port 5234 with password
&#X2018;<TT>jitsecret</TT>&#X2019;.
@ -843,13 +868,32 @@ connected to port 5237 with password &#X2018;<TT>ggsecret</TT>&#X2019;.
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]},
{5223, ejabberd_c2s, [{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}]},
[{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper}
]},
{{5223, {192, 168, 0, 1}}, ejabberd_c2s, [
{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}
]},
{{5223, {16#fdca, 16#8ab6, 16#a243, 16#75ef, 0, 0, 0, 1}},
ejabberd_c2s, [
{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}
]},
{5269, ejabberd_s2s_in, []},
{5280, ejabberd_http, [http_poll, web_admin]},
{5233, ejabberd_service, [{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}]},
{{5280, {0, 0, 0, 0}}, ejabberd_http, [
http_poll,
web_admin
]},
{{5233, {127, 0, 0, 1}}, ejabberd_service, [
{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}
]},
{{5233, "::1"}, ejabberd_service, [
{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}
]},
{5234, ejabberd_service, [{hosts, ["icq.example.org", "sms.example.org"],
[{password, "jitsecret"}]}]},
{5235, ejabberd_service, [{hosts, ["msn.example.org"],
@ -3073,16 +3117,20 @@ administer the virtual host <TT>example.com</TT>.
</PRE></LI><LI CLASS="li-itemize">For security reasons, you can serve the Web Admin on a secured
connection, on a port differing from the HTTP Polling interface, and bind it
to the internal LAN IP. The Web Admin will be accessible by pointing your
web browser to <CODE>https://192.168.1.1:5280/admin/</CODE>:
web browser to <CODE>https://192.168.1.1:5282/admin/</CODE>:
<PRE CLASS="verbatim">
{hosts, ["example.org"]}.
{listen,
[
...
{5270, ejabberd_http, [http_poll]},
{5280, ejabberd_http, [web_admin, {ip, {192, 168, 1, 1}},
tls, {certfile, "/usr/local/etc/server.pem"}]},
{5280, ejabberd_http, [
http_poll
]},
{{5282, "192.168.1.1"}, ejabberd_http, [
web_admin,
tls, {certfile, "/usr/local/etc/server.pem"}
]},
...
]}.
</PRE></LI></UL><P>Certain pages in the ejabberd Web Admin contain a link to a related

View File

@ -524,7 +524,7 @@ We assume that we will try to put as much library as possible into \verb|C:\sdk\
\item Install OpenSSL in \verb|C:\sdk\OpenSSL| and add \verb|C:\sdk\OpenSSL\lib\VC| to your path or copy the binaries to your system directory.
\item Install ZLib in \verb|C:\sdk\gnuWin32|. Copy
\verb|C:\sdk\GnuWin32\bin\zlib1.dll| to your system directory. If you change your path it should already be set after libiconv install.
\item Make sure the you can access Erlang binaries from your path. For example: \verb|set PATH=%PATH%;"C:\sdk\erl5.5.5\bin"|
\item Make sure the you can access Erlang binaries from your path. For example: \verb|set PATH=%PATH%;"C:\sdk\erl5.6.5\bin"|
\item Depending on how you end up actually installing the library you might need to check and tweak the paths in the file configure.erl.
\item While in the directory \verb|ejabberd\src| run:
\begin{verbatim}
@ -735,34 +735,80 @@ The option \option{listen} defines for which addresses and ports \ejabberd{}
will listen and what services will be run on them. Each element of the list is a
tuple with the following elements:
\begin{itemize}
\item Port number.
\item Module that serves this port.
\item Options to this module.
\item Port number. Optionally also the IP address.
\item Listening module that serves this port.
\item Options for the TCP socket and for the listening module.
\end{itemize}
With the basic syntax the ports will listen on all IPv4 network addresses:
\begin{verbatim}
{listen, [
{<port-number>, <module>, [<options>]},
{<port-number>, <module>, [<options>]},
...
{<port-number>, <module>, [<options>]}
]}.
\end{verbatim}
It is possible to specify the IP address for a port using the full syntax:
\begin{verbatim}
{{<port-number>, <ip-address>}, <module>, [<options>]}
\end{verbatim}
\makesubsubsection{listened-port}{Port Number and IP Address}
The port number defines which port to listen for incoming connections.
It can be a Jabber/XMPP standard port
(see section \ref{firewall}) or any other valid port number.
The IP address can be represented with a string
or an Erlang tuple with decimal or hexadecimal numbers.
The socket will listen only in that network interface.
It is possible to specify a generic address,
so \ejabberd{} will listen in all addresses.
Depending in the type of the IP address, IPv4 or IPv6 will be used.
Some example values for IP address:
\begin{itemize}
\item \verb|"0.0.0.0"| to listen in all IPv4 network interfaces. This is the default value when no IP is specified.
\item \verb|"::"| to listen in all IPv6 network interfaces
\item \verb|"10.11.12.13"| is the IPv4 address \verb|10.11.12.13|
\item \verb|"::FFFF:127.0.0.1"| is the IPv6 address \verb|::FFFF:127.0.0.1/128|
\item \verb|{10, 11, 12, 13}| is the IPv4 address \verb|10.11.12.13|
\item \verb|{0, 0, 0, 0, 0, 65535, 32512, 1}| is the IPv6 address \verb|::FFFF:127.0.0.1/128|
\item \verb|{16#fdca, 16#8ab6, 16#a243, 16#75ef, 0, 0, 0, 1}| is the IPv6 address \verb|FDCA:8AB6:A243:75EF::1/128|
\end{itemize}
\makesubsubsection{listened-module}{Listening Module}
\ind{modules!ejabberd\_c2s}\ind{modules!ejabberd\_s2s\_in}\ind{modules!ejabberd\_service}\ind{modules!ejabberd\_http}\ind{protocols!XEP-0114: Jabber Component Protocol}
The available modules, their purpose and the options allowed by each one are:
\begin{description}
\titem{\texttt{ejabberd\_c2s}}
Handles c2s connections.\\
Options: \texttt{access}, \texttt{certfile}, \texttt{inet6},
\texttt{ip}, \texttt{max\_stanza\_size}, \texttt{shaper},
Options: \texttt{access}, \texttt{certfile},
\texttt{max\_stanza\_size}, \texttt{shaper},
\texttt{starttls}, \texttt{starttls\_required}, \texttt{tls},
\texttt{zlib}
\titem{\texttt{ejabberd\_s2s\_in}}
Handles incoming s2s connections.\\
Options: \texttt{inet6}, \texttt{ip}, \texttt{max\_stanza\_size}
Options: \texttt{max\_stanza\_size}
\titem{\texttt{ejabberd\_service}}
Interacts with an \footahref{http://www.ejabberd.im/tutorials-transports}{external component}
(as defined in the Jabber Component Protocol (\xepref{0114}).\\
Options: \texttt{access}, \texttt{hosts}, \texttt{inet6},
\texttt{ip}, \texttt{shaper}, \texttt{service\_check\_from}
Options: \texttt{access}, \texttt{hosts},
\texttt{shaper}, \texttt{service\_check\_from}
\titem{\texttt{ejabberd\_http}}
Handles incoming HTTP connections.\\
Options: \texttt{certfile}, \texttt{http\_bind}, \texttt{http\_poll},
\texttt{inet6}, \texttt{ip}, \texttt{request\_handlers}, \texttt{tls}, \texttt{web\_admin}\\
\texttt{request\_handlers}, \texttt{tls}, \texttt{web\_admin}\\
\end{description}
\makesubsubsection{listened-options}{Options}
This is a detailed description of each option allowed by the listening modules:
\begin{description}
\titem{\{access, <access rule>\}} \ind{options!access}This option defines
@ -808,12 +854,6 @@ This is a detailed description of each option allowed by the listening modules:
is also needed in the \Jabber{} client. Remark also that HTTP Polling can be
interesting to host a web-based \Jabber{} client such as
\footahref{http://jwchat.sourceforge.net/}{JWChat}.
\titem{inet6} \ind{options!inet6}\ind{IPv6}Set up the socket for IPv6 instead of IPv4.
Note: this option is not required for S2S outgoing connections,
because when ejabberd attempts to establish a S2S outgoing connection
it first tries IPv4, and if that fails it attempts with IPv6.
\titem{\{ip, IPAddress\}} \ind{options!ip}This option specifies which network
interface to listen for. For example \verb|{ip, {192, 168, 1, 1}}|.
\titem{\{max\_stanza\_size, Size\}}
\ind{options!max\_stanza\_size}This option specifies an
approximate maximum size in bytes of XML stanzas. Approximate,
@ -861,7 +901,7 @@ This is a detailed description of each option allowed by the listening modules:
option will not affect connections (there will be no stream compression).
\end{description}
There are some additional global options:
There are some additional global options that can be specified in the ejabberd configuration file (outside \term{listen}):
\begin{description}
\titem{\{s2s\_use\_starttls, true|false\}}
\ind{options!s2s\_use\_starttls}\ind{STARTTLS}This option defines whether to
@ -886,6 +926,8 @@ There are some additional global options:
Specified in seconds. The default value is 300 seconds (5 minutes).
\end{description}
\makesubsubsection{listened-examples}{Examples}
For example, the following simple configuration defines:
\begin{itemize}
\item There are three domains. The default certificate file is \term{server.pem}.
@ -893,10 +935,10 @@ However, the c2s and s2s connections to the domain \term{example.com} use the fi
\item Port 5222 listens for c2s connections with STARTTLS,
and also allows plain connections for old clients.
\item Port 5223 listens for c2s connections with the old SSL.
\item Port 5269 listens for s2s connections with STARTTLS.
\item Port 5269 listens for s2s connections with STARTTLS. The socket is set for IPv6 instead of IPv4.
\item Port 5280 listens for HTTP requests, and serves the HTTP Poll service.
\item Port 5281 listens for HTTP requests, and serves the Web Admin using HTTPS as explained in
section~\ref{webadmin}.
section~\ref{webadmin}. The socket only listens connections to the IP address 127.0.0.1.
\end{itemize}
\begin{verbatim}
{hosts, ["example.com", "example.org", "example.net"]}.
@ -914,14 +956,14 @@ However, the c2s and s2s connections to the domain \term{example.com} use the fi
tls, {certfile, "/etc/ejabberd/server.pem"},
{max_stanza_size, 65536}
]},
{5269, ejabberd_s2s_in, [
{{5269, "::"}, ejabberd_s2s_in, [
{shaper, s2s_shaper},
{max_stanza_size, 131072}
]},
{5280, ejabberd_http, [
http_poll
]},
{5281, ejabberd_http, [
{{5281, "127.0.0.1"}, ejabberd_http, [
web_admin,
tls, {certfile, "/etc/ejabberd/server.pem"},
]}
@ -934,21 +976,23 @@ However, the c2s and s2s connections to the domain \term{example.com} use the fi
In this example, the following configuration defines that:
\begin{itemize}
\item c2s connections are listened for on port 5222 and 5223 (SSL) and denied
\item c2s connections are listened for on port 5222 (all IPv4 addresses) and
on port 5223 (SSL, IP 192.168.0.1 and fdca:8ab6:a243:75ef::1) and denied
for the user called `\term{bad}'.
\item s2s connections are listened for on port 5269 with STARTTLS for secured
traffic enabled.
\item s2s connections are listened for on port 5269 (all IPv4 addresses)
with STARTTLS for secured traffic enabled.
Incoming and outgoing connections of remote Jabber servers are denied,
only two servers can connect: "jabber.example.org" and "example.com".
\item Port 5280 is serving the Web Admin and the HTTP Polling service. Note
\item Port 5280 is serving the Web Admin and the HTTP Polling service
in all the IPv4 addresses. Note
that it is also possible to serve them on different ports. The second
example in section~\ref{webadmin} shows how exactly this can be done.
\item All users except for the administrators have a traffic of limit
1,000\,Bytes/second
\item \ind{transports!AIM}The
\footahref{http://www.ejabberd.im/pyaimt}{AIM transport}
\jid{aim.example.org} is connected to port 5233 with password
`\term{aimsecret}'.
\jid{aim.example.org} is connected to port 5233 on localhost IP addresses
(127.0.0.1 and ::1) with password `\term{aimsecret}'.
\item \ind{transports!ICQ}The ICQ transport JIT (\jid{icq.example.org} and
\jid{sms.example.org}) is connected to port 5234 with password
`\term{jitsecret}'.
@ -976,13 +1020,32 @@ In this example, the following configuration defines that:
{access, c2s_shaper, [{none, admin},
{normal, all}]}.
{listen,
[{5222, ejabberd_c2s, [{access, c2s}, {shaper, c2s_shaper}]},
{5223, ejabberd_c2s, [{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}]},
[{5222, ejabberd_c2s, [
{access, c2s},
{shaper, c2s_shaper}
]},
{{5223, {192, 168, 0, 1}}, ejabberd_c2s, [
{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}
]},
{{5223, {16#fdca, 16#8ab6, 16#a243, 16#75ef, 0, 0, 0, 1}},
ejabberd_c2s, [
{access, c2s},
ssl, {certfile, "/path/to/ssl.pem"}
]},
{5269, ejabberd_s2s_in, []},
{5280, ejabberd_http, [http_poll, web_admin]},
{5233, ejabberd_service, [{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}]},
{{5280, {0, 0, 0, 0}}, ejabberd_http, [
http_poll,
web_admin
]},
{{5233, {127, 0, 0, 1}}, ejabberd_service, [
{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}
]},
{{5233, "::1"}, ejabberd_service, [
{hosts, ["aim.example.org"],
[{password, "aimsecret"}]}
]},
{5234, ejabberd_service, [{hosts, ["icq.example.org", "sms.example.org"],
[{password, "jitsecret"}]}]},
{5235, ejabberd_service, [{hosts, ["msn.example.org"],
@ -1004,8 +1067,8 @@ In this example, the following configuration defines that:
{{s2s_host,"jabber.example.org"}, allow}.
{{s2s_host,"example.com"}, allow}.
\end{verbatim}
Note, that for \ind{jabberd 1.4}jabberd 1.4- or \ind{WPJabber}WPJabber-based
services you have to make the transports log and do \ind{XDB}XDB by themselves:
Note, that for services based in \ind{jabberd14}jabberd14 or \ind{WPJabber}WPJabber
you have to make the transports log and do \ind{XDB}XDB by themselves:
\begin{verbatim}
<!--
You have to add elogger and rlogger entries here when using ejabberd.
@ -1028,7 +1091,7 @@ services you have to make the transports log and do \ind{XDB}XDB by themselves:
<xdb id="xdb">
<host/>
<load>
<!-- this is a lib of wpjabber or jabberd -->
<!-- this is a lib of wpjabber or jabberd14 -->
<xdb_file>/usr/lib/jabber/xdb_file.so</xdb_file>
</load>
<xdb_file xmlns="jabber:config:xdb_file">
@ -3940,7 +4003,7 @@ Examples:
\item For security reasons, you can serve the Web Admin on a secured
connection, on a port differing from the HTTP Polling interface, and bind it
to the internal LAN IP. The Web Admin will be accessible by pointing your
web browser to \verb|https://192.168.1.1:5280/admin/|:
web browser to \verb|https://192.168.1.1:5282/admin/|:
\begin{verbatim}
{hosts, ["example.org"]}.
@ -3948,9 +4011,13 @@ Examples:
{listen,
[
...
{5270, ejabberd_http, [http_poll]},
{5280, ejabberd_http, [web_admin, {ip, {192, 168, 1, 1}},
tls, {certfile, "/usr/local/etc/server.pem"}]},
{5280, ejabberd_http, [
http_poll
]},
{{5282, "192.168.1.1"}, ejabberd_http, [
web_admin,
tls, {certfile, "/usr/local/etc/server.pem"}
]},
...
]}.
\end{verbatim}

View File

@ -0,0 +1,35 @@
Release Notes
ejabberd 2.0.3
14 January 2009
ejabberd 2.0.3 is the third bugfix release for ejabberd 2.0.x branch.
ejabberd 2.0.3 includes several bugfixes and a few improvements.
A complete list of changes can be retrieved from:
http://redir.process-one.net/ejabberd-2.0.3
The new code can be downloaded from ejabberd download page:
http://www.process-one.net/en/ejabberd/
Recent changes include:
- Do not ask certificate for client (c2s)
- Check digest-uri in SASL digest authentication
- Use send timeout to avoid locking on gen_tcp:send
- Fix ejabberd reconnection to database
- HTTP-Bind: handle wrong order of packets
- MUC: Improve traffic regulation management
- PubSub: Several bugfixes and improvements for best coverage of XEP-0060 v1.12
- Shared Roster Groups: push immediately membership changes
- Rotate also sasl.log on "reopen-log" command
- Binary Windows installer: better detect "Error running Post Install Script"
Bug reports
You can officially report bugs on ProcessOne support site:
http://support.process-one.net/
END

View File

@ -96,11 +96,11 @@ commands() ->
result = {users, {list, {username, string}}}},
#ejabberd_commands{name = import_file, tags = [mnesia],
desc = "Import user data from jabberd-1.4 spool file",
desc = "Import user data from jabberd14 spool file",
module = ?MODULE, function = import_file,
args = [{file, string}], result = {res, restuple}},
#ejabberd_commands{name = import_dir, tags = [mnesia],
desc = "Import user data from jabberd-1.4 spool dir",
desc = "Import user data from jabberd14 spool dir",
module = ?MODULE, function = import_dir,
args = [{file, string}],
result = {res, restuple}},
@ -215,7 +215,7 @@ import_file(Path) ->
ok ->
{ok, ""};
{error, Reason} ->
String = io_lib:format("Can't import jabberd 1.4 spool file ~p at node ~p: ~p",
String = io_lib:format("Can't import jabberd14 spool file ~p at node ~p: ~p",
[filename:absname(Path), node(), Reason]),
{cannot_import_file, String}
end.
@ -225,7 +225,7 @@ import_dir(Path) ->
ok ->
{ok, ""};
{error, Reason} ->
String = io_lib:format("Can't import jabberd 1.4 spool dir ~p at node ~p: ~p",
String = io_lib:format("Can't import jabberd14 spool dir ~p at node ~p: ~p",
[filename:absname(Path), node(), Reason]),
{cannot_import_dir, String}
end.

View File

@ -819,7 +819,8 @@ session_established({xmlstreamerror, _}, StateData) ->
session_established(closed, StateData) ->
{stop, normal, StateData}.
%% Process packets sent by user (coming from user on c2s XMPP
%% connection)
session_established2(El, StateData) ->
try
User = StateData#state.user,
@ -990,6 +991,7 @@ handle_info(replaced, _StateName, StateData) ->
send_element(StateData, exmpp_stream:error('conflict')),
send_element(StateData, exmpp_stream:closing()),
{stop, normal, StateData#state{authenticated = replaced}};
%% Process Packets that are to be send to the user
handle_info({route, From, To, Packet}, StateName, StateData) ->
{Pass, NewAttrs, NewState} =
case Packet of
@ -1383,6 +1385,7 @@ process_presence_probe(From, To, StateData) ->
end
end.
%% User updates his presence (non-directed presence packet)
presence_update(From, Packet, StateData) ->
case exmpp_presence:get_type(Packet) of
'unavailable' ->
@ -1493,6 +1496,7 @@ presence_update(From, Packet, StateData) ->
NewState
end.
%% User sends a directed presence packet
presence_track(From, To, Packet, StateData) ->
LTo = jlib:short_prepd_jid(To),
BFrom = exmpp_jid:jid_to_bare_jid(From),

View File

@ -325,8 +325,16 @@ process_term(Term, State) ->
{host_config, Host, Terms} ->
lists:foldl(fun(T, S) -> process_host_term(T, Host, S) end,
State, Terms);
{listen, Val} ->
add_option(listen, Val, State);
{listen, Listeners} ->
Listeners2 =
lists:map(
fun({PortIP, Module, Opts}) ->
{Port, IPT, _, _, OptsClean} =
ejabberd_listener:parse_listener_portip(PortIP, Opts),
{{Port, IPT}, Module, OptsClean}
end,
Listeners),
add_option(listen, Listeners2, State);
{language, Val} ->
add_option(language, Val, State);
{outgoing_s2s_port, Port} ->

View File

@ -32,6 +32,7 @@
start_listeners/0,
start_listener/3,
stop_listener/2,
parse_listener_portip/2,
add_listener/3,
delete_listener/2
]).
@ -53,10 +54,23 @@ start_listeners() ->
undefined ->
ignore;
Ls ->
lists:map(
Ls2 = lists:map(
fun({Port, Module, Opts}) ->
start_listener(Port, Module, Opts)
end, Ls)
end, Ls),
report_duplicated_portips(Ls),
{ok, {{one_for_one, 10, 1}, Ls2}}
end.
report_duplicated_portips(L) ->
LKeys = [Port || {Port, _, _} <- L],
LNoDupsKeys = proplists:get_keys(L),
case LKeys -- LNoDupsKeys of
[] -> ok;
Dups ->
?CRITICAL_MSG("In the ejabberd configuration there are duplicated "
"Port number + IP address:~n ~p",
[Dups])
end.
start(Port, Module, Opts) ->
@ -67,11 +81,11 @@ start(Port, Module, Opts) ->
_ -> start_dependent(Port, Module, Opts)
end.
%% -> {ok, Pid} | {error, ErrorMessage}
start_dependent(Port, Module, Opts) ->
case includes_deprecated_ssl_option(Opts) of
false ->
{ok, proc_lib:spawn_link(?MODULE, init,
[Port, Module, Opts])};
proc_lib:start_link(?MODULE, init, [Port, Module, Opts]);
true ->
SSLErr="There is a problem with your ejabberd configuration file: "
"the option 'ssl' for listening sockets is no longer available."
@ -91,13 +105,16 @@ includes_deprecated_ssl_option(Opts) ->
lists:member(ssl, Opts)
end.
init(Port, Module, Opts) ->
init(PortIP, Module, Opts1) ->
{Port, IPT, IPS, IPV, OptsClean} = parse_listener_portip(PortIP, Opts1),
%% The first inet|inet6 and the last {ip, _} work,
%% so overriding those in Opts
Opts = [IPV | OptsClean] ++ [{ip, IPT}],
SockOpts = lists:filter(fun({ip, _}) -> true;
(inet6) -> true;
(inet) -> true;
(_) -> false
end, Opts),
Res = gen_tcp:listen(Port, [binary,
{packet, 0},
{active, false},
@ -108,13 +125,82 @@ init(Port, Module, Opts) ->
SockOpts]),
case Res of
{ok, ListenSocket} ->
%% Inform my parent that this port was opened succesfully
proc_lib:init_ack({ok, self()}),
%% And now start accepting connection attempts
accept(ListenSocket, Module, Opts);
{error, Reason} ->
?ERROR_MSG("Failed to open socket for ~p: ~p",
[{Port, Module, Opts}, Reason]),
error
ReasonT = case Reason of
eaddrnotavail -> "IP address not available: " ++ IPS;
_ -> atom_to_list(Reason)
end,
?ERROR_MSG("Failed to open socket:~n ~p~nReason: ~s",
[{Port, Module, SockOpts}, ReasonT]),
throw(ReasonT)
end.
%% @spec (PortIP, Opts) -> {Port, IPT, IPS, IPV, OptsClean}
%% where
%% PortIP = Port | {Port, IPT | IPS}
%% Port = integer()
%% IPT = tuple()
%% IPS = string()
%% IPV = inet | inet6
%% Opts = [IPV | {ip, IPT} | atom() | tuple()]
%% OptsClean = [atom() | tuple()]
%% @doc Parse any kind of ejabberd listener specification.
%% The parsed options are returned in several formats.
%% OptsClean does not include inet/inet6 or ip options.
%% Opts can include the options inet6 and {ip, Tuple},
%% but they are only used when no IP address was specified in the PortIP.
%% The IP version (either IPv4 or IPv6) is inferred from the IP address type,
%% so the option inet/inet6 is only used when no IP is specified at all.
parse_listener_portip(PortIP, Opts) ->
{IPOpt, Opts2} = strip_ip_option(Opts),
{IPVOpt, OptsClean} = case lists:member(inet6, Opts2) of
true -> {inet6, Opts2 -- [inet6]};
false -> {inet, Opts2}
end,
{Port, IPT, IPS} = case PortIP of
P when is_integer(P) ->
T = get_ip_tuple(IPOpt, IPVOpt),
S = inet_parse:ntoa(T),
{P, T, S};
{P, T} when is_integer(P) and is_tuple(T) ->
S = inet_parse:ntoa(T),
{P, T, S};
{P, S} when is_integer(P) and is_list(S) ->
[S | _] = string:tokens(S, "/"),
{ok, T} = inet_parse:address(S),
{P, T, S}
end,
IPV = case size(IPT) of
4 -> inet;
8 -> inet6
end,
{Port, IPT, IPS, IPV, OptsClean}.
strip_ip_option(Opts) ->
{IPL, OptsNoIP} = lists:partition(
fun({ip, _}) -> true;
(_) -> false
end,
Opts),
case IPL of
%% Only the first ip option is considered
[{ip, T1} | _] when is_tuple(T1) ->
{T1, OptsNoIP};
[] ->
{no_ip_option, OptsNoIP}
end.
get_ip_tuple(no_ip_option, inet) ->
{0, 0, 0, 0};
get_ip_tuple(no_ip_option, inet6) ->
{0, 0, 0, 0, 0, 0, 0, 0};
get_ip_tuple(IPOpt, _IPVOpt) ->
IPOpt.
accept(ListenSocket, Module, Opts) ->
case gen_tcp:accept(ListenSocket) of
{ok, Socket} ->
@ -137,11 +223,14 @@ accept(ListenSocket, Module, Opts) ->
accept(ListenSocket, Module, Opts)
end.
%% @spec (Port, Module, Opts) -> {ok, Pid} | {error, Error}
start_listener(Port, Module, Opts) ->
%% It is only required to start the supervisor in some cases.
%% But it doesn't hurt to attempt to start it for any listener.
%% So, it's normal (and harmless) that in most cases this call returns: {error, {already_started, pid()}}
start_module_sup(Port, Module),
start_listener_sup(Port, Module, Opts).
%% Only required for some listeners, but doing for all doesn't hurt
start_module_sup(_Port, Module) ->
Proc1 = gen_mod:get_module_proc("sup", Module),
ChildSpec1 =
@ -151,7 +240,7 @@ start_module_sup(_Port, Module) ->
infinity,
supervisor,
[ejabberd_tmp_sup]},
catch supervisor:start_child(ejabberd_sup, ChildSpec1).
supervisor:start_child(ejabberd_sup, ChildSpec1).
start_listener_sup(Port, Module, Opts) ->
ChildSpec = {Port,
@ -165,33 +254,55 @@ start_listener_sup(Port, Module, Opts) ->
stop_listener(Port, Module) ->
supervisor:terminate_child(ejabberd_listeners, Port),
supervisor:delete_child(ejabberd_listeners, Port),
Proc1 = gen_mod:get_module_proc("sup", Module),
supervisor:terminate_child(ejabberd_sup, Proc1),
supervisor:delete_child(ejabberd_sup, Proc1).
add_listener(Port, Module, Opts) ->
%% @spec (PortIP, Module, Opts) -> {ok, Pid} | {error, Error}
%% where
%% PortIP = {Port, IPT | IPS}
%% Port = integer()
%% IPT = tuple()
%% IPS = string()
%% IPV = inet | inet6
%% Module = atom()
%% Opts = [IPV | {ip, IPT} | atom() | tuple()]
%% @doc Add a listener and store in config if success
add_listener(PortIP, Module, Opts) ->
case start_listener(PortIP, Module, Opts) of
{ok, _Pid} ->
Ports = case ejabberd_config:get_local_option(listen) of
undefined ->
[];
Ls ->
Ls
end,
Ports1 = lists:keydelete(Port, 1, Ports),
Ports2 = [{Port, Module, Opts} | Ports1],
Ports1 = lists:keydelete(PortIP, 1, Ports),
Ports2 = [{PortIP, Module, Opts} | Ports1],
ejabberd_config:add_local_option(listen, Ports2),
start_listener(Port, Module, Opts).
ok;
{error, {already_started, _Pid}} ->
{error, {already_started, PortIP}};
{error, Error} ->
{error, Error}
end.
delete_listener(Port, Module) ->
%% @spec (PortIP) -> ok
%% where
%% PortIP = {Port, IPT | IPS}
%% Port = integer()
%% IPT = tuple()
%% IPS = string()
delete_listener(PortIP, Module) ->
Ports = case ejabberd_config:get_local_option(listen) of
undefined ->
[];
Ls ->
Ls
end,
Ports1 = lists:keydelete(Port, 1, Ports),
Ports1 = lists:keydelete(PortIP, 1, Ports),
ejabberd_config:add_local_option(listen, Ports1),
stop_listener(Port, Module).
stop_listener(PortIP, Module).
is_frontend({frontend, _Module}) -> true;
is_frontend(_) -> false.

View File

@ -1,7 +1,7 @@
%%%----------------------------------------------------------------------
%%% File : jd2ejd.erl
%%% Author : Alexey Shchepin <alexey@process-one.net>
%%% Purpose : Import of jabberd1.4 user spool file
%%% Purpose : Import of jabberd14 user spool file
%%% Created : 2 Feb 2003 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%

View File

@ -559,7 +559,7 @@ get_local_items({global, _Host}, ["running nodes", ENode], Server, Lang) ->
[?NODE("Database", <<"running nodes/", ENodeB/binary, "/DB">>),
?NODE("Modules", <<"running nodes/", ENodeB/binary, "/modules">>),
?NODE("Backup Management", <<"running nodes/", ENodeB/binary, "/backup">>),
?NODE("Import Users From jabberd 1.4 Spool Files",
?NODE("Import Users From jabberd14 Spool Files",
<<"running nodes/", ENodeB/binary, "/import">>),
?NODE("Restart Service", <<"running nodes/", ENodeB/binary, "/restart">>),
?NODE("Shut Down Service", <<"running nodes/", ENodeB/binary, "/shutdown">>)
@ -1009,7 +1009,7 @@ get_form(_Host, ["running nodes", ENode, "import", "file"], Lang) ->
#xmlel{ns = ?NS_DATA_FORMS, name = 'instructions', children =
[#xmlcdata{cdata =
list_to_binary(?T(
Lang, "Enter path to jabberd1.4 spool file"))}]},
Lang, "Enter path to jabberd14 spool file"))}]},
?XFIELD(<<"text-single">>, "Path to File", <<"path">>, <<"">>)
]}]};
@ -1023,7 +1023,7 @@ get_form(_Host, ["running nodes", ENode, "import", "dir"], Lang) ->
#xmlel{ns = ?NS_DATA_FORMS, name = 'instructions', children =
[#xmlcdata{cdata =
list_to_binary(?T(
Lang, "Enter path to jabberd1.4 spool dir"))}]},
Lang, "Enter path to jabberd14 spool dir"))}]},
?XFIELD(<<"text-single">>, "Path to Dir", <<"path">>, <<"">>)
]}]};

View File

@ -2235,7 +2235,7 @@ find_changed_items(UJID, UAffiliation, URole,
ErrText = io_lib:format(
translate:translate(
Lang,
"JID ~s is invalid"), [S]),
"Jabber ID ~s is invalid"), [S]),
{error, ?ERR(Item, 'not-acceptable', Lang, ErrText)}
end;
_ ->
@ -2789,7 +2789,7 @@ get_config(Lang, StateData, From) ->
#xmlel{name = 'field', attrs = [
#xmlattr{name = 'type', value = "list-single"},
#xmlattr{name = 'label',
value = translate:translate(Lang, "Present real JIDs to")},
value = translate:translate(Lang, "Present real Jabber IDs to")},
#xmlattr{name = 'var', value = "muc#roomconfig_whois"}],
children = [#xmlel{name = 'value',
children = [#xmlcdata{cdata =

View File

@ -584,7 +584,7 @@ user_queue(User, Server, Query, Lang) ->
[?XC("h1", io_lib:format(?T("~s's Offline Messages Queue"),
[us_to_list(US)]))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
ok -> [?XREST("Submitted")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],

View File

@ -367,7 +367,7 @@ user_queue(User, Server, Query, Lang) ->
[?XC("h1", io_lib:format(?T("~s's Offline Messages Queue"),
[us_to_list(US)]))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
ok -> [?XREST("Submitted")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],

View File

@ -413,7 +413,12 @@ parse_items(Els) ->
parse_items(Els, []).
parse_items([], Res) ->
lists:reverse(Res);
%% Sort the items by their 'order' attribute
%% 5 is the position of 'order' attribute in a #listitem tuple
%% This integer can be calculated at runtime with:
%% 2 + length(lists:takewhile(fun(E) -> E =/= order end,
%% record_info(fields, listitem))),
lists:keysort(5, Res);
parse_items([El = #xmlel{name = item} | Els], Res) ->
Type = exmpp_xml:get_attribute(El, type, false),
Value = exmpp_xml:get_attribute(El, value, false),

View File

@ -414,7 +414,12 @@ parse_items(Els) ->
parse_items(Els, []).
parse_items([], Res) ->
lists:reverse(Res);
%% Sort the items by their 'order' attribute
%% 5 is the position of 'order' attribute in a #listitem tuple
%% This integer can be calculated at runtime with:
%% 2 + length(lists:takewhile(fun(E) -> E =/= order end,
%% record_info(fields, listitem))),
lists:keysort(5, Res);
parse_items([El = #xmlel{name = item} | Els], Res) ->
Type = exmpp_xml:get_attribute(El, type, false),
Value = exmpp_xml:get_attribute(El, value, false),

View File

@ -53,6 +53,7 @@
name,
stream_addr,
port,
ip,
acl
}).
@ -66,7 +67,7 @@ start_link(Host, Opts) ->
gen_server:start_link({local, Proc}, ?MODULE, [Host, Opts], []).
init([Host, Opts]) ->
{_IP, State} = parse_options(Host, Opts),
State = parse_options(Host, Opts),
ejabberd_router:register_route(State#state.myhost),
{ok, State}.
@ -91,8 +92,8 @@ handle_info({route, From, To, Packet}, State) when ?IS_IQ(Packet) ->
handle_info(_Info, State) ->
{noreply, State}.
handle_call(get_port, _From, State) ->
{reply, {port, State#state.port}, State};
handle_call(get_port_ip, _From, State) ->
{reply, {port_ip, State#state.port, State#state.ip}, State};
handle_call(_Request, _From, State) ->
{reply, ok, State}.
@ -107,14 +108,14 @@ code_change(_OldVsn, State, _Extra) ->
%%%------------------------
add_listener(Host, Opts) ->
{IP, State} = parse_options(Host, Opts),
NewOpts = [Host, {ip, IP} | Opts],
ejabberd_listener:add_listener(State#state.port,mod_proxy65_stream,NewOpts).
State = parse_options(Host, Opts),
NewOpts = [Host | Opts],
ejabberd_listener:add_listener({State#state.port, State#state.ip}, mod_proxy65_stream, NewOpts).
delete_listener(Host) ->
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
{port, Port} = gen_server:call(Proc, get_port),
catch ejabberd_listener:delete_listener(Port, mod_proxy65_stream).
{port_ip, Port, IP} = gen_server:call(Proc, get_port_ip),
catch ejabberd_listener:delete_listener({Port, IP}, mod_proxy65_stream).
%%%------------------------
%%% IQ Processing
@ -227,12 +228,13 @@ parse_options(ServerHost, Opts) ->
end,
StrIP = inet_parse:ntoa(IP),
StreamAddr = [#xmlattr{name = 'jid', value = MyHost}, #xmlattr{name = 'host', value = StrIP}, #xmlattr{name = 'port', value = integer_to_list(Port)}],
{IP, #state{myhost = MyHost,
#state{myhost = MyHost,
serverhost = ServerHost,
name = Name,
port = Port,
ip = IP,
stream_addr = StreamAddr,
acl = ACL}}.
acl = ACL}.
%% Return the IP of the proxy host, or if not found, the ip of the xmpp domain
get_proxy_or_domainip(ServerHost, MyHost) ->

View File

@ -78,7 +78,8 @@ code_change(_OldVsn, StateName, StateData, _Extra) ->
{ok, StateName, StateData}.
%%-------------------------------
start({gen_tcp, Socket}, [Host | Opts]) ->
start({gen_tcp, Socket}, Opts1) ->
{[Host], Opts} = lists:partition(fun(O) -> is_list(O) end, Opts1),
Supervisor = gen_mod:get_module_proc(Host, ejabberd_mod_proxy65_sup),
supervisor:start_child(Supervisor, [Socket, Host, Opts]).

View File

@ -1029,7 +1029,7 @@ send_authorization_request(Host, Node, Subscriber) ->
#xmlel{ns = ?NS_DATA_FORMS, name = 'field', attrs =
[#xmlattr{name = 'var', value = "pubsub#allow"},
#xmlattr{name = 'type', value = "boolean"},
#xmlattr{name = 'label', value = translate:translate(Lang, "Allow this JID to subscribe to this pubsub node?")}], children =
#xmlattr{name = 'label', value = translate:translate(Lang, "Allow this Jabber ID to subscribe to this pubsub node?")}], children =
[#xmlel{ns = ?NS_DATA_FORMS, name = 'value', children = [#xmlcdata{cdata = <<"false">>}]}]}]}]},
case tree_action(Host, get_node, [Host, Node, Subscriber]) of
#pubsub_node{owners = Owners} ->

View File

@ -912,8 +912,8 @@ user_roster(User, Server, Query, Lang) ->
end,
[?XC("h1", ?T("Roster of ") ++ us_to_list(US))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],

View File

@ -951,8 +951,8 @@ user_roster(User, Server, Query, Lang) ->
end,
[?XC("h1", ?T("Roster of ") ++ us_to_list(US))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],

View File

@ -742,8 +742,8 @@ list_shared_roster_groups(Host, Query, Lang) ->
)]),
?H1GL(?T("Shared Roster Groups"), "modsharedroster", "mod_shared_roster") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],
@ -806,8 +806,9 @@ shared_roster_group(Host, Group, Query, Lang) ->
[]
end ++ [[us_to_list(Member), $\n] || Member <- Members],
FDisplayedGroups = [[DG, $\n] || DG <- DisplayedGroups],
DescNL = length(element(2, regexp:split(Description, "\n"))),
FGroup =
?XAE("table", [],
?XAE("table", [{"class", "withtextareas"}],
[?XE("tbody",
[?XE("tr",
[?XCT("td", "Name:"),
@ -816,34 +817,34 @@ shared_roster_group(Host, Group, Query, Lang) ->
),
?XE("tr",
[?XCT("td", "Description:"),
?XE("td", [?XAC("textarea", [{"name", "description"},
{"rows", "3"},
{"cols", "20"}],
Description)])
?XE("td", [
?TEXTAREA("description", integer_to_list(lists:max([3, DescNL])), "20", Description)
]
)
]
),
?XE("tr",
[?XCT("td", "Members:"),
?XE("td", [?XAC("textarea", [{"name", "members"},
{"rows", "3"},
{"cols", "20"}],
FMembers)])
?XE("td", [
?TEXTAREA("members", integer_to_list(lists:max([3, length(FMembers)])), "20", FMembers)
]
)
]
),
?XE("tr",
[?XCT("td", "Displayed Groups:"),
?XE("td", [?XAC("textarea", [{"name", "dispgroups"},
{"rows", "3"},
{"cols", "20"}],
FDisplayedGroups)])
?XE("td", [
?TEXTAREA("dispgroups", integer_to_list(lists:max([3, length(FDisplayedGroups)])), "20", FDisplayedGroups)
]
)
]
)]
)]),
?H1GL(?T("Shared Roster Groups"), "modsharedroster", "mod_shared_roster") ++
[?XC("h2", ?T("Group ") ++ Group)] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE("form", [{"action", ""}, {"method", "post"}],

View File

@ -94,7 +94,7 @@ get_local_stats(_Server, ["running nodes", _], []) ->
[?STAT(<<"time/uptime">>),
?STAT(<<"time/cputime">>),
?STAT(<<"users/online">>),
?STAT(<<"transactions/commited">>),
?STAT(<<"transactions/committed">>),
?STAT(<<"transactions/aborted">>),
?STAT(<<"transactions/restarted">>),
?STAT(<<"transactions/logged">>)
@ -193,7 +193,7 @@ get_node_stat(Node, Name) when Name == <<"users/online">> ->
?STATVAL(list_to_binary(integer_to_list(length(Users))), <<"users">>)
end;
get_node_stat(Node, Name) when Name == <<"transactions/commited">> ->
get_node_stat(Node, Name) when Name == <<"transactions/committed">> ->
case catch rpc:call(Node, mnesia, system_info, [transaction_commits]) of
{badrpc, _Reason} ->
?STATERR(<<"500">>, <<"Internal Server Error">>);

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Es necessita tenir privilegis d'administrador"}.
{"A friendly name for the node","Un nom per al node"}.
{"All activity","Tota l'activitat"}.
{"Allow this JID to subscribe to this pubsub node?","Permetre que aquesta JID es puga subscriure a aquest node pubsub"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Permetre que aquesta JID es puga subscriure a aquest node pubsub"}.
{"Allow users to change subject","Permetre que els usuaris canvien el tema"}.
{"Allow users to query other users","Permetre que els usuaris fagen peticions a altres usuaris"}.
{"Allow users to send invites","Permetre que els usuaris envien invitacions"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Introdueix llista de {mòdul, [opcions]}"}.
{"Enter nickname you want to register","Introdueix el nickname que vols registrar"}.
{"Enter path to backup file","Introdueix ruta al fitxer de còpia de seguretat"}.
{"Enter path to jabberd1.4 spool dir","Introdueix la ruta al directori de jabberd1.4 spools"}.
{"Enter path to jabberd1.4 spool file","Introdueix ruta al fitxer jabberd1.4 spool"}.
{"Enter path to jabberd14 spool dir","Introdueix la ruta al directori de jabberd14 spools"}.
{"Enter path to jabberd14 spool file","Introdueix ruta al fitxer jabberd14 spool"}.
{"Enter path to text file","Introdueix ruta al fitxer de text"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Introdueix el nom d'usuari i les codificacions de caràcters per a utilitzar als servidors de IRC"}.
{"Erlang Jabber Server","Servidor Erlang Jabber"}.
@ -113,7 +113,7 @@
{"Import File","Importar fitxer"}.
{"Import User from File at ","Importa usuari des de fitxer en "}.
{"Import Users from Dir at ","Importar usuaris des del directori en "}.
{"Import Users From jabberd 1.4 Spool Files","Importar usuaris de jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Importar usuaris de jabberd14"}.
{"Improper message type","Tipus de missatge incorrecte"}.
{"Incorrect password","Password incorrecte"}.
{"Invalid affiliation: ~s","Afiliació invàlida: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","No està permés l'enviament de missatges privats a la sala"}.
{"Jabber ID","ID Jabber"}.
{"January","Gener"}.
{"JID ~s is invalid","El JID ~s no és vàlid"}.
{"Jabber ID ~s is invalid","El JID ~s no és vàlid"}.
{"joins the room","Entrar a la sala"}.
{"July","Juliol"}.
{"June","Juny"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Presentar JID's reals a"}.
{"Present real Jabber IDs to","Presentar JID's reals a"}.
{"private, ","privat"}.
{"Publish-Subscribe","Publicar-subscriure't"}.
{"PubSub subscriber request","Petició de PubSub subscriure"}.
@ -307,7 +307,7 @@
{"To ~s","A ~s"}.
{"Traffic rate limit is exceeded","El llímit de tràfic ha sigut sobrepassat"}.
{"Transactions Aborted:","Transaccions Avortades"}.
{"Transactions Commited:","Transaccions Realitzades:"}.
{"Transactions Committed:","Transaccions Realitzades:"}.
{"Transactions Logged:","Transaccions registrades"}.
{"Transactions Restarted:","Transaccions reiniciades"}.
{"Tuesday","Dimarts"}.

View File

@ -224,8 +224,8 @@ msgid "Backup Management"
msgstr "Gestió de còpia de seguretat"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importar usuaris de jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuaris de jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Importa usuari des de fitxer en "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Introdueix ruta al fitxer jabberd1.4 spool"
msgid "Enter path to jabberd14 spool file"
msgstr "Introdueix ruta al fitxer jabberd14 spool"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importar usuaris des del directori en "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Introdueix la ruta al directori de jabberd1.4 spools"
msgid "Enter path to jabberd14 spool dir"
msgstr "Introdueix la ruta al directori de jabberd14 spools"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -757,8 +757,8 @@ msgid "Moderator privileges required"
msgstr "Es necessita tenir privilegis de moderador"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "El JID ~s no és vàlid"
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no és vàlid"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -810,8 +810,8 @@ msgid "No limit"
msgstr "Sense Llímit"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Presentar JID's reals a"
msgid "Present real Jabber IDs to"
msgstr "Presentar Jabber ID's reals a"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -953,8 +953,8 @@ msgid "Subscriber Address"
msgstr "Adreça del Subscriptor"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Permetre que aquesta JID es puga subscriure a aquest node pubsub"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Permetre que aquesta Jabber ID es puga subscriure a aquest node pubsub"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1437,7 +1437,7 @@ msgid "CPU Time:"
msgstr "Temps de CPU"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transaccions Realitzades:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -6,7 +6,7 @@
{"Access rules","Pravidla přístupů"}.
{"Access Rules","Pravidla přístupů"}.
{"Action on user","Akce aplikovaná na uživatele"}.
{"Add Jabber ID","Přidat JID"}.
{"Add Jabber ID","Přidat Jabber ID"}.
{"Add New","Přidat nový"}.
{"Add User","Přidat uživatele"}.
{"Administration","Administrace"}.
@ -14,7 +14,7 @@
{"Administrator privileges required","Jsou potřebná práva administrátora"}.
{"A friendly name for the node","Přívětivé jméno pro uzel"}.
{"All activity","Všechny aktivity"}.
{"Allow this JID to subscribe to this pubsub node?","Povolit tomuto JID odebírat tento pubsub uzel?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Povolit tomuto JID odebírat tento pubsub uzel?"}.
{"Allow users to change subject","Povolit uživatelům měnit téma místnosti"}.
{"Allow users to query other users","Povolit uživatelům odesílat požadavky (query) ostatním uživatelům"}.
{"Allow users to send invites","Povolit uživatelům posílání pozvánek"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Vložte seznam modulů {Modul, [Parametry]}"}.
{"Enter nickname you want to register","Zadejte přezdívku, kterou chcete zaregistrovat"}.
{"Enter path to backup file","Zadajte cestu k souboru se zálohou"}.
{"Enter path to jabberd1.4 spool dir","Zadejte cestu k jabberd1.4 spool adresáři"}.
{"Enter path to jabberd1.4 spool file","Zadejte cestu k spool souboru jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Zadejte cestu k jabberd14 spool adresáři"}.
{"Enter path to jabberd14 spool file","Zadejte cestu k spool souboru jabberd14"}.
{"Enter path to text file","Zadajte cestu k textovému souboru"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Vložte jméno uživatele a kódování, které chcete používat při připojení na IRC server"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Import souboru"}.
{"Import User from File at ","Importovat uživatele ze souboru na "}.
{"Import Users from Dir at ","Importovat uživatele z adresáře na "}.
{"Import Users From jabberd 1.4 Spool Files","Importovat uživatele z jabberd 1.4 spool souborů"}.
{"Import Users From jabberd14 Spool Files","Importovat uživatele z jabberd14 spool souborů"}.
{"Improper message type","Nesprávný typ zprávy"}.
{"Incorrect password","Nesprávné heslo"}.
{"Invalid affiliation: ~s","Neplatné přiřazení: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Není povoleno odesílat soukromé zprávy do konference"}.
{"Jabber ID","Jabber ID"}.
{"January",". ledna"}.
{"JID ~s is invalid","JID ~s je neplatné"}.
{"Jabber ID ~s is invalid","JID ~s je neplatné"}.
{"joins the room","vstoupil(a) do místnosti"}.
{"July",". července"}.
{"June",". června"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Odhalovat skutečná Jabber ID"}.
{"Present real Jabber IDs to","Odhalovat skutečná Jabber ID"}.
{"private, ","soukromá, "}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","Žádost odběratele PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","Pro ~s"}.
{"Traffic rate limit is exceeded","Byl překročen limit"}.
{"Transactions Aborted:","Transakce zrušena"}.
{"Transactions Commited:","Transakce potvrzena"}.
{"Transactions Committed:","Transakce potvrzena"}.
{"Transactions Logged:","Transakce zaznamenána"}.
{"Transactions Restarted:","Transakce restartována"}.
{"Tuesday","Úterý"}.

View File

@ -224,8 +224,8 @@ msgid "Backup Management"
msgstr "Správa zálohování"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importovat uživatele z jabberd 1.4 spool souborů"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importovat uživatele z jabberd14 spool souborů"
#: mod_configure.erl:649
msgid "To ~s"
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Importovat uživatele ze souboru na "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Zadejte cestu k spool souboru jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Zadejte cestu k spool souboru jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importovat uživatele z adresáře na "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Zadejte cestu k jabberd1.4 spool adresáři"
msgid "Enter path to jabberd14 spool dir"
msgstr "Zadejte cestu k jabberd14 spool adresáři"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -749,8 +749,8 @@ msgid "Moderator privileges required"
msgstr "Jsou potřebná práva moderátora"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s je neplatné"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -802,7 +802,7 @@ msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgid "Present real Jabber IDs to"
msgstr "Odhalovat skutečná Jabber ID"
#: mod_muc/mod_muc_room.erl:2741
@ -943,8 +943,8 @@ msgid "Subscriber Address"
msgstr "Adresa odběratele"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Povolit tomuto JID odebírat tento pubsub uzel?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Povolit tomuto Jabber ID odebírat tento pubsub uzel?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1056,7 +1056,7 @@ msgstr "Nesprávný formát"
#: mod_roster.erl:855 mod_roster_odbc.erl:962
msgid "Add Jabber ID"
msgstr "Přidat JID"
msgstr "Přidat Jabber ID"
#: mod_roster.erl:936 mod_roster_odbc.erl:1043
msgid "Roster"
@ -1427,7 +1427,7 @@ msgid "CPU Time:"
msgstr "Čas procesoru"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transakce potvrzena"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Administratorenrechte benötigt"}.
{"A friendly name for the node","Ein passender Name für den Knoten"}.
{"All activity","Alle Aktivitäten"}.
{"Allow this JID to subscribe to this pubsub node?","Erlauben Sie dieser JID das Abonnement dieses pubsub Knotens?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Erlauben Sie dieser JID das Abonnement dieses pubsub Knotens?"}.
{"Allow users to change subject","Erlaube Benutzern das Thema zu ändern"}.
{"Allow users to query other users","Erlaube Benutzern andere Benutzer abzufragen"}.
{"Allow users to send invites","Erlaube Benutzern Einladungen zu senden"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Geben Sie eine Liste bestehend aus {Modul, [Optionen]} ein"}.
{"Enter nickname you want to register","Geben Sie den zu registrierenden Spitznamen ein"}.
{"Enter path to backup file","Geben Sie den Pfad zur Datensicherung ein"}.
{"Enter path to jabberd1.4 spool dir","Geben Sie den Pfad zum jabberd1.4 spool Verzeichnis ein"}.
{"Enter path to jabberd1.4 spool file","Geben Sie den Pfad zur jabberd1.4 spool Datei ein"}.
{"Enter path to jabberd14 spool dir","Geben Sie den Pfad zum jabberd14 spool Verzeichnis ein"}.
{"Enter path to jabberd14 spool file","Geben Sie den Pfad zur jabberd14 spool Datei ein"}.
{"Enter path to text file","Geben Sie den Pfad zur Textdatei ein"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Geben Sie Benutzernamen und Kodierung für die Verbindung zum IRC Server an"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Datei importieren"}.
{"Import User from File at ","Benutzer aus dieser Datei importieren "}.
{"Import Users from Dir at ","Benutzer vom Verzeichnis importieren "}.
{"Import Users From jabberd 1.4 Spool Files","Importiere Benutzer von jabberd 1.4 Spool Dateien"}.
{"Import Users From jabberd14 Spool Files","Importiere Benutzer von jabberd14 Spool Dateien"}.
{"Improper message type","Unzulässiger Nachrichtentyp"}.
{"Incorrect password","Falsches Passwort"}.
{"Invalid affiliation: ~s","Ungültige Mitgliedschaft: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Es ist nicht erlaubt private Nachrichten an den Raum zu schicken"}.
{"Jabber ID","Jabber ID"}.
{"January","Januar"}.
{"JID ~s is invalid","JID ~s ist ungültig"}.
{"Jabber ID ~s is invalid","JID ~s ist ungültig"}.
{"joins the room","kommt in den Raum"}.
{"July","Juli"}.
{"June","Juni"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Echte Jabber IDs anzeigen für"}.
{"Present real Jabber IDs to","Echte Jabber IDs anzeigen für"}.
{"private, ","privat, "}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub Abonnenten Anfrage"}.
@ -307,7 +307,7 @@
{"To","Zu"}.
{"Traffic rate limit is exceeded","Datenrate ist zu hoch"}.
{"Transactions Aborted:","Vorgänge abgebrochen:"}.
{"Transactions Commited:","Vorgänge durchgeführt:"}.
{"Transactions Committed:","Vorgänge durchgeführt:"}.
{"Transactions Logged:","Vorgänge protokolliert:"}.
{"Transactions Restarted:","Vorgänge neu gestartet:"}.
{"Tuesday","Dienstag"}.

View File

@ -230,8 +230,8 @@ msgid "Backup Management"
msgstr "Datensicherungsmanagement"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importiere Benutzer von jabberd 1.4 Spool Dateien"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importiere Benutzer von jabberd14 Spool Dateien"
#: mod_configure.erl:649
msgid "To ~s"
@ -315,16 +315,16 @@ msgid "Import User from File at "
msgstr "Benutzer aus dieser Datei importieren "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Geben Sie den Pfad zur jabberd1.4 spool Datei ein"
msgid "Enter path to jabberd14 spool file"
msgstr "Geben Sie den Pfad zur jabberd14 spool Datei ein"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Benutzer vom Verzeichnis importieren "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Geben Sie den Pfad zum jabberd1.4 spool Verzeichnis ein"
msgid "Enter path to jabberd14 spool dir"
msgstr "Geben Sie den Pfad zum jabberd14 spool Verzeichnis ein"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -762,8 +762,8 @@ msgid "Moderator privileges required"
msgstr "Moderatorrechte benötigt"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s ist ungültig"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s ist ungültig"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -815,7 +815,7 @@ msgid "No limit"
msgstr "keine Begrenzung"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgid "Present real Jabber IDs to"
msgstr "Echte Jabber IDs anzeigen für"
#: mod_muc/mod_muc_room.erl:2741
@ -959,8 +959,8 @@ msgid "Subscriber Address"
msgstr "Abonnenten Adresse"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Erlauben Sie dieser JID das Abonnement dieses pubsub Knotens?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Erlauben Sie dieser Jabber ID das Abonnement dieses pubsub Knotens?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1444,7 +1444,7 @@ msgid "CPU Time:"
msgstr "CPU Zeit:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Vorgänge durchgeführt:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -223,7 +223,7 @@ msgid "Backup Management"
msgstr ""
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr ""
#: mod_configure.erl:649
@ -308,7 +308,7 @@ msgid "Import User from File at "
msgstr ""
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgid "Enter path to jabberd14 spool file"
msgstr ""
#: mod_configure.erl:990
@ -316,7 +316,7 @@ msgid "Import Users from Dir at "
msgstr ""
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgid "Enter path to jabberd14 spool dir"
msgstr ""
#: mod_configure.erl:995
@ -1407,7 +1407,7 @@ msgid "CPU Time:"
msgstr ""
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr ""
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Administrantaj rajtoj bezonata"}.
{"A friendly name for the node","Kromnomo por ĉi tiu nodo"}.
{"All activity","Ĉiu aktiveco"}.
{"Allow this JID to subscribe to this pubsub node?","Ĉu permesi ĉi tiun JID aboni al la jena PubAbo-nodo"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Ĉu permesi ĉi tiun JID aboni al la jena PubAbo-nodo"}.
{"Allow users to change subject","Permesu uzantojn ŝanĝi la temon"}.
{"Allow users to query other users","Permesu uzantojn informpeti aliajn uzantojn"}.
{"Allow users to send invites","Permesu uzantojn sendi invitojn"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Enmetu liston de {Modulo, [Elektebloj]}"}.
{"Enter nickname you want to register","Enmetu kaŝnomon kiun vi volas registri"}.
{"Enter path to backup file","Enmetu vojon por sekurkopio"}.
{"Enter path to jabberd1.4 spool dir","Enmetu vojon al jabberd1.4-uzantdosierujo"}.
{"Enter path to jabberd1.4 spool file","Enmetu vojon al jabberd1.4-uzantdosiero"}.
{"Enter path to jabberd14 spool dir","Enmetu vojon al jabberd14-uzantdosierujo"}.
{"Enter path to jabberd14 spool file","Enmetu vojon al jabberd14-uzantdosiero"}.
{"Enter path to text file","Enmetu vojon al plata teksto"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Enmetu uzantnomon kaj enkodigoj kiujn vi volas uzi por konektoj al IRC-serviloj"}.
{"Erlang Jabber Server","Erlang-a Jabber-Servilo"}.
@ -113,7 +113,7 @@
{"Import File","Importu dosieron"}.
{"Import User from File at ","Importu uzanton de dosiero el "}.
{"Import Users from Dir at ","Importu uzantojn de dosierujo ĉe "}.
{"Import Users From jabberd 1.4 Spool Files","Importu uzantojn de jabberd1.4-uzantdosieroj"}.
{"Import Users From jabberd14 Spool Files","Importu uzantojn de jabberd14-uzantdosieroj"}.
{"Improper message type","Malĝusta mesaĝo-tipo"}.
{"Incorrect password","Nekorekta pasvorto"}.
{"Invalid affiliation: ~s","Nevalida aparteneco: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Nur partoprenantoj rajtas sendi privatajn mesaĝojn al la babilejo"}.
{"Jabber ID","Jabber ID"}.
{"January","Januaro"}.
{"JID ~s is invalid","JID ~s estas nevalida"}.
{"Jabber ID ~s is invalid","JID ~s estas nevalida"}.
{"joins the room","eniras la babilejo"}.
{"July","Julio"}.
{"June","Junio"}.
@ -219,7 +219,7 @@
{"Ping","Sondaĵo"}.
{"Pong","Resondaĵo"}.
{"Port","Pordo"}.
{"Present real JIDs to","Montru verajn JID-ojn al"}.
{"Present real Jabber IDs to","Montru verajn JID-ojn al"}.
{"private, ","privata, "}.
{"Publish-Subscribe","Public-Abonado"}.
{"PubSub subscriber request","PubAbo abonpeto"}.
@ -307,7 +307,7 @@
{"To ~s","Al ~s"}.
{"Traffic rate limit is exceeded","Trafikrapida limigo superita"}.
{"Transactions Aborted:","Transakcioj nuligitaj"}.
{"Transactions Commited:","Transakcioj enmetitaj"}.
{"Transactions Committed:","Transakcioj enmetitaj"}.
{"Transactions Logged:","Transakcioj protokolitaj"}.
{"Transactions Restarted:","Transakcioj restartitaj"}.
{"Tuesday","Mardo"}.

View File

@ -224,8 +224,8 @@ msgid "Backup Management"
msgstr "Mastrumado de sekurkopioj"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importu uzantojn de jabberd1.4-uzantdosieroj"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importu uzantojn de jabberd14-uzantdosieroj"
#: mod_configure.erl:649
msgid "To ~s"
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Importu uzanton de dosiero el "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Enmetu vojon al jabberd1.4-uzantdosiero"
msgid "Enter path to jabberd14 spool file"
msgstr "Enmetu vojon al jabberd14-uzantdosiero"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importu uzantojn de dosierujo ĉe "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Enmetu vojon al jabberd1.4-uzantdosierujo"
msgid "Enter path to jabberd14 spool dir"
msgstr "Enmetu vojon al jabberd14-uzantdosierujo"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -752,8 +752,8 @@ msgid "Moderator privileges required"
msgstr "Moderantaj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s estas nevalida"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s estas nevalida"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -805,8 +805,8 @@ msgid "No limit"
msgstr "Neniu limigo"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Montru verajn JID-ojn al"
msgid "Present real Jabber IDs to"
msgstr "Montru verajn Jabber ID-ojn al"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -948,8 +948,8 @@ msgid "Subscriber Address"
msgstr "Abonanta adreso"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Ĉu permesi ĉi tiun JID aboni al la jena PubAbo-nodo"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Ĉu permesi ĉi tiun Jabber ID aboni al la jena PubAbo-nodo"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1430,7 +1430,7 @@ msgid "CPU Time:"
msgstr "CPU-tempo"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transakcioj enmetitaj"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Se necesita privilegios de administrador"}.
{"A friendly name for the node","Un nombre sencillo para el nodo"}.
{"All activity","Toda la actividad"}.
{"Allow this JID to subscribe to this pubsub node?","¿Deseas permitir a este JabberID que se subscriba a este nodo PubSub?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","¿Deseas permitir a este JabberID que se subscriba a este nodo PubSub?"}.
{"Allow users to change subject","Permitir a los usuarios cambiar el asunto"}.
{"Allow users to query other users","Permitir a los usuarios consultar a otros usuarios"}.
{"Allow users to send invites","Permitir a los usuarios enviar invitaciones"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Introduce lista de {módulo, [opciones]}"}.
{"Enter nickname you want to register","Introduce el apodo que quieras registrar"}.
{"Enter path to backup file","Introduce ruta al fichero de copia de seguridad"}.
{"Enter path to jabberd1.4 spool dir","Introduce la ruta al directorio de jabberd1.4 spools"}.
{"Enter path to jabberd1.4 spool file","Introduce ruta al fichero jabberd1.4 spool"}.
{"Enter path to jabberd14 spool dir","Introduce la ruta al directorio de jabberd14 spools"}.
{"Enter path to jabberd14 spool file","Introduce ruta al fichero jabberd14 spool"}.
{"Enter path to text file","Introduce ruta al fichero de texto"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Introduce el nombre de usuario y codificaciones de carácteres que quieras usar al conectar en los servidores de IRC"}.
{"Erlang Jabber Server","Servidor Jabber en Erlang"}.
@ -113,7 +113,7 @@
{"Import File","Importar fichero"}.
{"Import User from File at ","Importa usuario desde fichero en "}.
{"Import Users from Dir at ","Importar usuarios desde el directorio en "}.
{"Import Users From jabberd 1.4 Spool Files","Importar usuarios de ficheros spool de jabberd-1.4"}.
{"Import Users From jabberd14 Spool Files","Importar usuarios de ficheros spool de jabberd-1.4"}.
{"Improper message type","Tipo de mensaje incorrecto"}.
{"Incorrect password","Contraseña incorrecta"}.
{"Invalid affiliation: ~s","Afiliación no válida: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Impedir el envio de mensajes privados a la sala"}.
{"Jabber ID","Jabber ID"}.
{"January","enero"}.
{"JID ~s is invalid","El JID ~s no es válido"}.
{"Jabber ID ~s is invalid","El JID ~s no es válido"}.
{"joins the room","entra en la sala"}.
{"July","julio"}.
{"June","junio"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Puerto"}.
{"Present real JIDs to","Los JID reales pueden verlos"}.
{"Present real Jabber IDs to","Los JID reales pueden verlos"}.
{"private, ","privado"}.
{"Publish-Subscribe","Servicio de Publicar-Subscribir"}.
{"PubSub subscriber request","Petición de subscriptor de PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","A ~s"}.
{"Traffic rate limit is exceeded","Se ha exedido el límite de tráfico"}.
{"Transactions Aborted:","Transacciones abortadas:"}.
{"Transactions Commited:","Transacciones finalizadas:"}.
{"Transactions Committed:","Transacciones finalizadas:"}.
{"Transactions Logged:","Transacciones registradas:"}.
{"Transactions Restarted:","Transacciones reiniciadas:"}.
{"Tuesday","martes"}.

View File

@ -225,7 +225,7 @@ msgid "Backup Management"
msgstr "Gestión de copia de seguridad"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuarios de ficheros spool de jabberd-1.4"
#: mod_configure.erl:649
@ -310,16 +310,16 @@ msgid "Import User from File at "
msgstr "Importa usuario desde fichero en "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Introduce ruta al fichero jabberd1.4 spool"
msgid "Enter path to jabberd14 spool file"
msgstr "Introduce ruta al fichero jabberd14 spool"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importar usuarios desde el directorio en "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Introduce la ruta al directorio de jabberd1.4 spools"
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduce la ruta al directorio de jabberd14 spools"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -759,8 +759,8 @@ msgid "Moderator privileges required"
msgstr "Se necesita privilegios de moderador"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "El JID ~s no es válido"
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no es válido"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -812,8 +812,8 @@ msgid "No limit"
msgstr "Sin límite"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Los JID reales pueden verlos"
msgid "Present real Jabber IDs to"
msgstr "Los Jabber ID reales pueden verlos"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -957,7 +957,7 @@ msgid "Subscriber Address"
msgstr "Dirección del subscriptor"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "¿Deseas permitir a este JabberID que se subscriba a este nodo PubSub?"
#: mod_pubsub/mod_pubsub.erl:2497
@ -1442,7 +1442,7 @@ msgid "CPU Time:"
msgstr "Tiempo consumido de CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transacciones finalizadas:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Les droits d'administrateur sont nécessaires"}.
{"A friendly name for the node","Un nom convivial pour le noeud"}.
{"All activity","Toute activité"}.
{"Allow this JID to subscribe to this pubsub node?","Autoriser ce JID à s'abonner à ce noeud pubsub"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Autoriser ce JID à s'abonner à ce noeud pubsub"}.
{"Allow users to change subject","Autoriser les utilisateurs à changer le sujet"}.
{"Allow users to query other users","Permettre aux utilisateurs d'envoyer des requêtes aux autres utilisateurs"}.
{"Allow users to send invites","Permettre aux utilisateurs d'envoyer des invitations"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Entrez une liste de {Module, [Options]}"}.
{"Enter nickname you want to register","Entrez le pseudo que vous souhaitez enregistrer"}.
{"Enter path to backup file","Entrez le chemin vers le fichier de sauvegarde"}.
{"Enter path to jabberd1.4 spool dir","Entrez le chemin vers le répertoire de spool jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Entrez le chemin vers le fichier spool jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Entrez le chemin vers le répertoire de spool jabberd14"}.
{"Enter path to jabberd14 spool file","Entrez le chemin vers le fichier spool jabberd14"}.
{"Enter path to text file","Entrez le chemin vers le fichier texte"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Entrez le nom d'utilisateur et les encodages que vous souhaitez utiliser pour vous connecter aux serveurs IRC"}.
{"Erlang Jabber Server","Serveur Jabber Erlang"}.
@ -113,7 +113,7 @@
{"Import File","Importer un fichier"}.
{"Import User from File at ","Importer un utilisateur depuis le fichier sur "}.
{"Import Users from Dir at ","Importer des utilisateurs depuis le répertoire sur "}.
{"Import Users From jabberd 1.4 Spool Files","Importer des utilisateurs depuis un fichier spool Jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Importer des utilisateurs depuis un fichier spool Jabberd 1.4"}.
{"Improper message type","Mauvais type de message"}.
{"Incorrect password","Mot de passe incorrect"}.
{"Invalid affiliation: ~s","Affiliation invalide: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Il n'est pas permis d'envoyer des messages \"normaux\" à la conférence"}.
{"Jabber ID","Jabber ID"}.
{"January","Janvier"}.
{"JID ~s is invalid","Le JID ~s n'est pas valide"}.
{"Jabber ID ~s is invalid","Le JID ~s n'est pas valide"}.
{"joins the room","rejoint le salon"}.
{"July","Juillet"}.
{"June","Juin"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Rendre le JID réel visible pour"}.
{"Present real Jabber IDs to","Rendre le JID réel visible pour"}.
{"private, ","privé"}.
{"Publish-Subscribe","Publication-Abonnement"}.
{"PubSub subscriber request","Demande d'abonnement PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","A ~s"}.
{"Traffic rate limit is exceeded","La limite de trafic a été dépassée"}.
{"Transactions Aborted:","Transactions annulées:"}.
{"Transactions Commited:","Transactions commitées:"}.
{"Transactions Committed:","Transactions commitées:"}.
{"Transactions Logged:","Transactions journalisées:"}.
{"Transactions Restarted:","Transactions redémarrées:"}.
{"Tuesday","Mardi"}.

View File

@ -229,7 +229,7 @@ msgid "Backup Management"
msgstr "Gestion des sauvegardes"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importer des utilisateurs depuis un fichier spool Jabberd 1.4"
#: mod_configure.erl:649
@ -314,16 +314,16 @@ msgid "Import User from File at "
msgstr "Importer un utilisateur depuis le fichier sur "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Entrez le chemin vers le fichier spool jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Entrez le chemin vers le fichier spool jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importer des utilisateurs depuis le répertoire sur "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Entrez le chemin vers le répertoire de spool jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Entrez le chemin vers le répertoire de spool jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -766,8 +766,8 @@ msgid "Moderator privileges required"
msgstr "Les droits de modérateur sont nécessaires"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "Le JID ~s n'est pas valide"
msgid "Jabber ID ~s is invalid"
msgstr "Le Jabber ID ~s n'est pas valide"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -819,8 +819,8 @@ msgid "No limit"
msgstr "Pas de limite"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Rendre le JID réel visible pour"
msgid "Present real Jabber IDs to"
msgstr "Rendre le Jabber ID réel visible pour"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -964,8 +964,8 @@ msgid "Subscriber Address"
msgstr "Adresse de l'abonné"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Autoriser ce JID à s'abonner à ce noeud pubsub"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autoriser ce Jabber ID à s'abonner à ce noeud pubsub"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1452,7 +1452,7 @@ msgid "CPU Time:"
msgstr "Temps CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transactions commitées:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -13,7 +13,7 @@
{"Administration of ","Administración de "}.
{"Administrator privileges required","Necesítase privilexios de administrador"}.
{"All activity","Toda a actividade"}.
{"Allow this JID to subscribe to this pubsub node?","Desexas permitir a este JabberID que se subscriba a este nodo PubSub?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Desexas permitir a este JabberID que se subscriba a este nodo PubSub?"}.
{"Allow users to change subject","Permitir aos usuarios cambiar o asunto"}.
{"Allow users to query other users","Permitir aos usuarios consultar a outros usuarios"}.
{"Allow users to send invites","Permitir aos usuarios enviar invitacións"}.
@ -77,8 +77,8 @@
{"Enter list of {Module, [Options]}","Introduce lista de {módulo, [opcións]}"}.
{"Enter nickname you want to register","Introduce o alcume que queiras rexistrar"}.
{"Enter path to backup file","Introduce ruta ao ficheiro de copia de seguridade"}.
{"Enter path to jabberd1.4 spool dir","Introduce a ruta ao directorio de jabberd1.4 spools"}.
{"Enter path to jabberd1.4 spool file","Introduce ruta ao ficheiro jabberd1.4 spool"}.
{"Enter path to jabberd14 spool dir","Introduce a ruta ao directorio de jabberd14 spools"}.
{"Enter path to jabberd14 spool file","Introduce ruta ao ficheiro jabberd14 spool"}.
{"Enter path to text file","Introduce ruta ao ficheiro de texto"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Introduce o nome de usuario e codificaciones de carácteres que queiras usar ao conectar nos servidores de IRC"}.
{"Erlang Jabber Server","Servidor Jabber en Erlang"}.
@ -110,7 +110,7 @@
{"Import File","Importar ficheiro"}.
{"Import User from File at ","Importa usuario desde ficheiro en "}.
{"Import Users from Dir at ","Importar usuarios desde o directorio en "}.
{"Import Users From jabberd 1.4 Spool Files","Importar usuarios de ficheiros spool de jabberd-1.4"}.
{"Import Users From jabberd14 Spool Files","Importar usuarios de ficheiros spool de jabberd-1.4"}.
{"Improper message type","Tipo de mensaxe incorrecta"}.
{"Incorrect password","Contraseña incorrecta"}.
{"Invalid affiliation: ~s","Afiliación non válida: ~s"}.
@ -123,7 +123,7 @@
{"It is not allowed to send private messages to the conference","Impedir o envio de mensaxes privadas á sala"}.
{"Jabber ID","Jabber ID"}.
{"January","Xaneiro"}.
{"JID ~s is invalid","O JID ~s non é válido"}.
{"Jabber ID ~s is invalid","O JID ~s non é válido"}.
{"joins the room","entra en la sala"}.
{"July","Xullo"}.
{"June","Xuño"}.
@ -215,7 +215,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Porto"}.
{"Present real JIDs to","Os JID reais poden velos"}.
{"Present real Jabber IDs to","Os JID reais poden velos"}.
{"private, ","privado"}.
{"Publish-Subscribe","Publicar-Subscribir"}.
{"PubSub subscriber request","Petición de subscriptor de PubSub"}.
@ -303,7 +303,7 @@
{"To ~s","A ~s"}.
{"Traffic rate limit is exceeded","Hase exedido o límite de tráfico"}.
{"Transactions Aborted:","Transaccións abortadas:"}.
{"Transactions Commited:","Transaccións finalizadas:"}.
{"Transactions Committed:","Transaccións finalizadas:"}.
{"Transactions Logged:","Transaccións rexistradas:"}.
{"Transactions Restarted:","Transaccións reiniciadas:"}.
{"Tuesday","Martes"}.

View File

@ -224,7 +224,7 @@ msgid "Backup Management"
msgstr "Xestión de copia de seguridade"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuarios de ficheiros spool de jabberd-1.4"
#: mod_configure.erl:649
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Importa usuario desde ficheiro en "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Introduce ruta ao ficheiro jabberd1.4 spool"
msgid "Enter path to jabberd14 spool file"
msgstr "Introduce ruta ao ficheiro jabberd14 spool"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importar usuarios desde o directorio en "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Introduce a ruta ao directorio de jabberd1.4 spools"
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduce a ruta ao directorio de jabberd14 spools"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -756,8 +756,8 @@ msgid "Moderator privileges required"
msgstr "Necesítase privilexios de moderador"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "O JID ~s non é válido"
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s non é válido"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -809,8 +809,8 @@ msgid "No limit"
msgstr "Sen límite"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Os JID reais poden velos"
msgid "Present real Jabber IDs to"
msgstr "Os Jabber ID reais poden velos"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -954,7 +954,7 @@ msgid "Subscriber Address"
msgstr "Dirección do subscriptor"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Desexas permitir a este JabberID que se subscriba a este nodo PubSub?"
#: mod_pubsub/mod_pubsub.erl:2497
@ -1440,7 +1440,7 @@ msgid "CPU Time:"
msgstr "Tempo consumido de CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transaccións finalizadas:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -6,7 +6,7 @@
{"Access rules","Regole di accesso"}.
{"Access Rules","Regole di accesso"}.
{"Action on user","Azione sull'utente"}.
{"Add Jabber ID","Aggiungere un Jabber ID (JID)"}.
{"Add Jabber ID","Aggiungere un Jabber ID (Jabber ID)"}.
{"Add New","Aggiungere nuovo"}.
{"Add User","Aggiungere un utente"}.
{"Administration","Amministrazione"}.
@ -14,7 +14,7 @@
{"Administrator privileges required","Necessari i privilegi di amministratore"}.
{"A friendly name for the node","Un nome comodo per il nodo"}.
{"All activity","Tutta l'attività"}.
{"Allow this JID to subscribe to this pubsub node?","Consentire a questo JID l'iscrizione a questo nodo pubsub?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Consentire a questo JID l'iscrizione a questo nodo pubsub?"}.
{"Allow users to change subject","Consentire agli utenti di cambiare l'oggetto"}.
{"Allow users to query other users","Consentire agli utenti query verso altri utenti"}.
{"Allow users to send invites","Consentire agli utenti l'invio di inviti"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Immettere un elenco di {Modulo, [Opzioni]}"}.
{"Enter nickname you want to register","Immettere il nickname che si vuole registrare"}.
{"Enter path to backup file","Immettere il percorso del file di salvataggio"}.
{"Enter path to jabberd1.4 spool dir","Immettere il percorso della directory di spool di jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Immettere il percorso del file di spool di jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Immettere il percorso della directory di spool di jabberd14"}.
{"Enter path to jabberd14 spool file","Immettere il percorso del file di spool di jabberd14"}.
{"Enter path to text file","Immettere il percorso del file di testo"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Immettere il nome utente e le codifiche che si desidera utilizzare per la connessione ai server IRC"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Importare un file"}.
{"Import User from File at ","Importare un utente dal file "}.
{"Import Users from Dir at ","Importare utenti dalla directory "}.
{"Import Users From jabberd 1.4 Spool Files","Importare utenti da file di spool di jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Importare utenti da file di spool di jabberd14"}.
{"Improper message type","Tipo di messaggio non corretto"}.
{"Incorrect password","Password non esatta"}.
{"Invalid affiliation: ~s","Affiliazione non valida: ~s"}.
@ -125,9 +125,9 @@
{"It is not allowed to send private messages","Non è consentito l'invio di messaggi privati"}.
{"It is not allowed to send private messages of type \"groupchat\"","Non è consentito l'invio di messaggi privati di tipo \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Non è consentito l'invio di messaggi privati alla conferenza"}.
{"Jabber ID","Jabber ID (JID)"}.
{"Jabber ID","Jabber ID (Jabber ID)"}.
{"January","Gennaio"}.
{"JID ~s is invalid","Il JID ~s non è valido"}.
{"Jabber ID ~s is invalid","Il JID ~s non è valido"}.
{"joins the room","entra nella stanza"}.
{"July","Luglio"}.
{"June","Giugno"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Porta"}.
{"Present real JIDs to","Rendere visibile il JID reale a"}.
{"Present real Jabber IDs to","Rendere visibile il JID reale a"}.
{"private, ","privato, "}.
{"Publish-Subscribe","Pubblicazione-Iscrizione"}.
{"PubSub subscriber request","Richiesta di iscrizione per PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","A ~s"}.
{"Traffic rate limit is exceeded","Limite di traffico superato"}.
{"Transactions Aborted:","Transazioni abortite:"}.
{"Transactions Commited:","Transazioni avvenute:"}.
{"Transactions Committed:","Transazioni avvenute:"}.
{"Transactions Logged:","Transazioni con log:"}.
{"Transactions Restarted:","Transazioni riavviate:"}.
{"Tuesday","Martedì"}.

View File

@ -228,8 +228,8 @@ msgid "Backup Management"
msgstr "Gestione dei salvataggi"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importare utenti da file di spool di jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importare utenti da file di spool di jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -313,16 +313,16 @@ msgid "Import User from File at "
msgstr "Importare un utente dal file "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Immettere il percorso del file di spool di jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Immettere il percorso del file di spool di jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importare utenti dalla directory "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Immettere il percorso della directory di spool di jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Immettere il percorso della directory di spool di jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -354,7 +354,7 @@ msgstr "Regole di accesso"
#: mod_configure.erl:1667 mod_roster.erl:803 mod_roster_odbc.erl:910
#: mod_vcard.erl:460 mod_vcard_ldap.erl:544 mod_vcard_odbc.erl:457
msgid "Jabber ID"
msgstr "Jabber ID (JID)"
msgstr "Jabber ID (Jabber ID)"
#: mod_configure.erl:1156 mod_configure.erl:1214 mod_configure.erl:1600
#: mod_configure.erl:1809 mod_muc/mod_muc_room.erl:2702
@ -760,8 +760,8 @@ msgid "Moderator privileges required"
msgstr "Necessari i privilegi di moderatore"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "Il JID ~s non è valido"
msgid "Jabber ID ~s is invalid"
msgstr "Il Jabber ID ~s non è valido"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -813,8 +813,8 @@ msgid "No limit"
msgstr "Nessun limite"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Rendere visibile il JID reale a"
msgid "Present real Jabber IDs to"
msgstr "Rendere visibile il Jabber ID reale a"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -959,8 +959,8 @@ msgid "Subscriber Address"
msgstr "Indirizzo dell'iscritta/o"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Consentire a questo JID l'iscrizione a questo nodo pubsub?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Consentire a questo Jabber ID l'iscrizione a questo nodo pubsub?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1074,7 +1074,7 @@ msgstr "Formato non valido"
#: mod_roster.erl:855 mod_roster_odbc.erl:962
msgid "Add Jabber ID"
msgstr "Aggiungere un Jabber ID (JID)"
msgstr "Aggiungere un Jabber ID (Jabber ID)"
#: mod_roster.erl:936 mod_roster_odbc.erl:1043
msgid "Roster"
@ -1446,7 +1446,7 @@ msgid "CPU Time:"
msgstr "Tempo CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transazioni avvenute:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","管理者権限が必要です"}.
{"A friendly name for the node","ノードの為のフレンドリネーム"}.
{"All activity","全て"}.
{"Allow this JID to subscribe to this pubsub node?","この JID をこの pubsubードへ購読することを許可しますか"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","この JID をこの pubsubードへ購読することを許可しますか"}.
{"Allow users to change subject","ユーザーによる件名の変更を許可する"}.
{"Allow users to query other users","ユーザーによる他のユーザーへの問い合わせを許可する"}.
{"Allow users to send invites","ユーザーによる招待を許可する"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","{モジュール, [オプション]}のリストを入力して下さい"}.
{"Enter nickname you want to register","登録するニックネームを入力して下さい"}.
{"Enter path to backup file","バックアップファイルのパスを入力して下さい"}.
{"Enter path to jabberd1.4 spool dir","jabberd1.4 spool ディレクトリのパスを入力して下さい"}.
{"Enter path to jabberd1.4 spool file","jabberd1.4 spool ファイルのパスを入力して下さい"}.
{"Enter path to jabberd14 spool dir","jabberd14 spool ディレクトリのパスを入力して下さい"}.
{"Enter path to jabberd14 spool file","jabberd14 spool ファイルのパスを入力して下さい"}.
{"Enter path to text file","テキストファイルのパスを入力して下さい"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","IRCサーバーに接続先する為のユーザー名と文字エンコーディングを入力して下さい"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","ファイルかインポート"}.
{"Import User from File at ","ファイルからユーザーをインポート"}.
{"Import Users from Dir at ","ディレクトリからユーザーをインポート"}.
{"Import Users From jabberd 1.4 Spool Files","jabberd 1.4 Spool ファイルからユーザーをインポート"}.
{"Import Users From jabberd14 Spool Files","jabberd14 Spool ファイルからユーザーをインポート"}.
{"Improper message type","誤ったメッセージタイプです"}.
{"Incorrect password","パスワードが違います"}.
{"Invalid affiliation: ~s","無効な提携です: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages","プライベートメッセージを送信することは許可されませんでした"}.
{"Jabber ID","Jabber ID"}.
{"January","1月"}.
{"JID ~s is invalid","JID ~s は無効です"}.
{"Jabber ID ~s is invalid","JID ~s は無効です"}.
{"joins the room","チャットルームに参加"}.
{"July","7月"}.
{"June","6月"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","ポート"}.
{"Present real JIDs to","本当の JID を公開する"}.
{"Present real Jabber IDs to","本当の JID を公開する"}.
{"private, ","プライベート"}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub 購読リクエスト"}.
@ -307,7 +307,7 @@
{"To","宛先"}.
{"Traffic rate limit is exceeded","トラフィックレートの制限を超えました"}.
{"Transactions Aborted:","トランザクションの失敗:"}.
{"Transactions Commited:","トランザクションのコミット:"}.
{"Transactions Committed:","トランザクションのコミット:"}.
{"Transactions Logged:","トランザクションのログ: "}.
{"Transactions Restarted:","トランザクションの再起動:"}.
{"Tuesday","火曜日"}.

View File

@ -223,8 +223,8 @@ msgid "Backup Management"
msgstr "バックアップ管理"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "jabberd 1.4 Spool ファイルからユーザーをインポート"
msgid "Import Users From jabberd14 Spool Files"
msgstr "jabberd14 Spool ファイルからユーザーをインポート"
#: mod_configure.erl:649
msgid "To ~s"
@ -308,16 +308,16 @@ msgid "Import User from File at "
msgstr "ファイルからユーザーをインポート"
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "jabberd1.4 spool ファイルのパスを入力して下さい"
msgid "Enter path to jabberd14 spool file"
msgstr "jabberd14 spool ファイルのパスを入力して下さい"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "ディレクトリからユーザーをインポート"
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "jabberd1.4 spool ディレクトリのパスを入力して下さい"
msgid "Enter path to jabberd14 spool dir"
msgstr "jabberd14 spool ディレクトリのパスを入力して下さい"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -745,8 +745,8 @@ msgid "Moderator privileges required"
msgstr "モデレーター権限が必要です"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s は無効です"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s は無効です"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -798,8 +798,8 @@ msgid "No limit"
msgstr "制限無し"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "本当の JID を公開する"
msgid "Present real Jabber IDs to"
msgstr "本当の Jabber ID を公開する"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -942,8 +942,8 @@ msgid "Subscriber Address"
msgstr "購読アドレス"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "この JID をこの pubsubードへ購読することを許可しますか"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "この Jabber ID をこの pubsubードへ購読することを許可しますか"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1424,7 +1424,7 @@ msgid "CPU Time:"
msgstr "CPU時間:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "トランザクションのコミット:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","U hebt beheerdersprivileges nodig"}.
{"A friendly name for the node","Bijnaam voor deze knoop"}.
{"All activity","Alle activiteit"}.
{"Allow this JID to subscribe to this pubsub node?","Deze gebruiker toestaan te abonneren op deze pubsub node?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Deze gebruiker toestaan te abonneren op deze pubsub node?"}.
{"Allow users to change subject","Gebruikers mogen het onderwerp veranderen"}.
{"Allow users to query other users","Gebruikers mogen naar andere gebruikers verzoeken verzenden"}.
{"Allow users to send invites","Gebruikers mogen uitnodigingen verzenden"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Voer lijst met op te starten modules als volgt in: {Module, [Opties]}"}.
{"Enter nickname you want to register","Voer de bijnaam in die u wilt registreren"}.
{"Enter path to backup file","Voer pad naar backupbestand in"}.
{"Enter path to jabberd1.4 spool dir","Voer pad naar jabberd 1.4-spool-directory in"}.
{"Enter path to jabberd1.4 spool file","Voer pad naar jabberd 1.4-spool-bestand in"}.
{"Enter path to jabberd14 spool dir","Voer pad naar jabberd14-spool-directory in"}.
{"Enter path to jabberd14 spool file","Voer pad naar jabberd14-spool-bestand in"}.
{"Enter path to text file","Voer pad naar backupbestand in"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Voer de gebruikersnaam en de coderingen in die u wilt gebruiken voor verbindingen met IRC-servers"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Bestand importeren"}.
{"Import User from File at ","Importeer gebruiker via bestand op "}.
{"Import Users from Dir at ","Gebruikers importeren vanaf directory op "}.
{"Import Users From jabberd 1.4 Spool Files","Importeer gebruikers via spool-bestanden van jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Importeer gebruikers via spool-bestanden van jabberd14"}.
{"Improper message type","Onjuist berichttype"}.
{"Incorrect password","Foutief wachtwoord"}.
{"Invalid affiliation: ~s","Ongeldige affiliatie: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Er mogen geen privéberichten naar de chatruimte worden verzonden"}.
{"Jabber ID","Jabber ID"}.
{"January","januari"}.
{"JID ~s is invalid","De Jabber ID ~s is ongeldig"}.
{"Jabber ID ~s is invalid","De Jabber ID ~s is ongeldig"}.
{"joins the room","betrad de chatruimte"}.
{"July","juli"}.
{"June","juni"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Poort"}.
{"Present real JIDs to","Jabber ID's kunnen achterhaald worden door"}.
{"Present real Jabber IDs to","Jabber ID's kunnen achterhaald worden door"}.
{"private, ","privé, "}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub abonnee verzoek"}.
@ -307,7 +307,7 @@
{"To ~s","Naar ~s"}.
{"Traffic rate limit is exceeded","Dataverkeerslimiet overschreden"}.
{"Transactions Aborted:","Afgebroken transacties:"}.
{"Transactions Commited:","Bevestigde transacties:"}.
{"Transactions Committed:","Bevestigde transacties:"}.
{"Transactions Logged:","Gelogde transacties:"}.
{"Transactions Restarted:","Herstarte transacties:"}.
{"Tuesday","dinsdag"}.

View File

@ -226,8 +226,8 @@ msgid "Backup Management"
msgstr "Backup"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importeer gebruikers via spool-bestanden van jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importeer gebruikers via spool-bestanden van jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -311,16 +311,16 @@ msgid "Import User from File at "
msgstr "Importeer gebruiker via bestand op "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Voer pad naar jabberd 1.4-spool-bestand in"
msgid "Enter path to jabberd14 spool file"
msgstr "Voer pad naar jabberd14-spool-bestand in"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Gebruikers importeren vanaf directory op "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Voer pad naar jabberd 1.4-spool-directory in"
msgid "Enter path to jabberd14 spool dir"
msgstr "Voer pad naar jabberd14-spool-directory in"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -766,7 +766,7 @@ msgid "Moderator privileges required"
msgstr "U hebt moderatorprivileges nodig"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgid "Jabber ID ~s is invalid"
msgstr "De Jabber ID ~s is ongeldig"
#: mod_muc/mod_muc_room.erl:2212
@ -819,7 +819,7 @@ msgid "No limit"
msgstr "Geen limiet"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgid "Present real Jabber IDs to"
msgstr "Jabber ID's kunnen achterhaald worden door"
#: mod_muc/mod_muc_room.erl:2741
@ -964,7 +964,7 @@ msgid "Subscriber Address"
msgstr "Abonnee Adres"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Deze gebruiker toestaan te abonneren op deze pubsub node?"
#: mod_pubsub/mod_pubsub.erl:2497
@ -1448,7 +1448,7 @@ msgid "CPU Time:"
msgstr "Processortijd:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Bevestigde transacties:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Administratorprivilegier kreves"}.
{"A friendly name for the node","Et vennlig navn for noden"}.
{"All activity","All aktivitet"}.
{"Allow this JID to subscribe to this pubsub node?","Tillat denne JID å abonnere på denne pubsub noden?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Tillat denne JID å abonnere på denne pubsub noden?"}.
{"Allow users to change subject","Tillat brukere å endre emne"}.
{"Allow users to query other users","Tillat brukere å sende forespørsel til andre brukere"}.
{"Allow users to send invites","Tillat brukere å sende invitasjoner"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Skriv inn en liste av {Module, [Options]}"}.
{"Enter nickname you want to register","Skriv inn kallenavnet du ønsker å registrere"}.
{"Enter path to backup file","Skriv inn sti til sikkerhetskopi filen"}.
{"Enter path to jabberd1.4 spool dir","Skriv inn sti til jabberd1.4 spoolkatalog"}.
{"Enter path to jabberd1.4 spool file","Skriv inn sti til jabberd1.4 spoolfil"}.
{"Enter path to jabberd14 spool dir","Skriv inn sti til jabberd14 spoolkatalog"}.
{"Enter path to jabberd14 spool file","Skriv inn sti til jabberd14 spoolfil"}.
{"Enter path to text file","Skriv inn sti til tekstfil"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Skriv inn brukernavn og tekstkoding du ønsker å bruke for å koble til IRC tjenere"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Importer File"}.
{"Import User from File at ","Importer Bruker fra Fil på "}.
{"Import Users from Dir at ","Importer Brukere fra Katalog på "}.
{"Import Users From jabberd 1.4 Spool Files","Importer Brukere Fra jabberd 1.4 Spoolfiler"}.
{"Import Users From jabberd14 Spool Files","Importer Brukere Fra jabberd14 Spoolfiler"}.
{"Improper message type","Feilaktig meldingstype"}.
{"Incorrect password","Feil passord"}.
{"Invalid affiliation: ~s","Ugyldig rang: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Det er ikke tillatt å sende private meldinger til konferansen"}.
{"Jabber ID","Jabber ID"}.
{"January","januar"}.
{"JID ~s is invalid","Ugyldig JID ~s"}.
{"Jabber ID ~s is invalid","Ugyldig JID ~s"}.
{"joins the room","kommer inn i rommet"}.
{"July","juli"}.
{"June","juni"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Presenter ekte JIDer til"}.
{"Present real Jabber IDs to","Presenter ekte JIDer til"}.
{"private, ","privat, "}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","PubSub abonements forespørsel"}.
@ -307,7 +307,7 @@
{"To","Til"}.
{"Traffic rate limit is exceeded","Trafikkmengde grense overskredet"}.
{"Transactions Aborted:","Avbrutte Transasksjoner:"}.
{"Transactions Commited:","Sendte Transaksjoner:"}.
{"Transactions Committed:","Sendte Transaksjoner:"}.
{"Transactions Logged:","Loggede Transasksjoner:"}.
{"Transactions Restarted:","Omstartede Transasksjoner:"}.
{"Tuesday","tirsdag"}.

View File

@ -223,8 +223,8 @@ msgid "Backup Management"
msgstr "Håndtere Sikkerehetskopiering"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importer Brukere Fra jabberd 1.4 Spoolfiler"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importer Brukere Fra jabberd14 Spoolfiler"
#: mod_configure.erl:649
msgid "To ~s"
@ -308,16 +308,16 @@ msgid "Import User from File at "
msgstr "Importer Bruker fra Fil på "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Skriv inn sti til jabberd1.4 spoolfil"
msgid "Enter path to jabberd14 spool file"
msgstr "Skriv inn sti til jabberd14 spoolfil"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importer Brukere fra Katalog på "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Skriv inn sti til jabberd1.4 spoolkatalog"
msgid "Enter path to jabberd14 spool dir"
msgstr "Skriv inn sti til jabberd14 spoolkatalog"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -753,8 +753,8 @@ msgid "Moderator privileges required"
msgstr "Redaktørprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "Ugyldig JID ~s"
msgid "Jabber ID ~s is invalid"
msgstr "Ugyldig Jabber ID ~s"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -806,8 +806,8 @@ msgid "No limit"
msgstr "Ingen grense"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Presenter ekte JIDer til"
msgid "Present real Jabber IDs to"
msgstr "Presenter ekte Jabber IDer til"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -947,8 +947,8 @@ msgid "Subscriber Address"
msgstr "Abonnements Adresse"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Tillat denne JID å abonnere på denne pubsub noden?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillat denne Jabber ID å abonnere på denne pubsub noden?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1430,7 +1430,7 @@ msgid "CPU Time:"
msgstr "CPU Tid:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Sendte Transaksjoner:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -6,7 +6,7 @@
{"Access rules","Zasady dostępu"}.
{"Access Rules","Zasady dostępu"}.
{"Action on user","Akcja dla użytkownika"}.
{"Add Jabber ID","Dodaj JID"}.
{"Add Jabber ID","Dodaj Jabber ID"}.
{"Add New","Dodaj nowe"}.
{"Add User","Dodaj użytkownika"}.
{"Administration","Administracja"}.
@ -14,7 +14,7 @@
{"Administrator privileges required","Wymagane prawa administratora"}.
{"A friendly name for the node","Przyjazna nazwa węzła"}.
{"All activity","Cała aktywność"}.
{"Allow this JID to subscribe to this pubsub node?","Pozwól temu JID na zapisanie się do tego noda pubsub"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Pozwól temu JID na zapisanie się do tego noda pubsub"}.
{"Allow users to change subject","Pozwól użytkownikom zmienić tytuł pokoju"}.
{"Allow users to query other users","Pozwól użytkownikom pobierać informacje o innych użytkownikach"}.
{"Allow users to send invites","Pozwól użytkownikom wysyłać zaproszenia"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Wprowadź listę {Moduł, [Opcje]}"}.
{"Enter nickname you want to register","Wprowadz nicka którego chcesz zarejestrować"}.
{"Enter path to backup file","Wprowadź scieżkę do pliku kopii zapasowej"}.
{"Enter path to jabberd1.4 spool dir","Wprowadź ścieżkę do katalogu spool serwera jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Wprowadź ścieżkę do pliku spool dla serwera jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Wprowadź ścieżkę do katalogu spool serwera jabberd14"}.
{"Enter path to jabberd14 spool file","Wprowadź ścieżkę do pliku spool dla serwera jabberd14"}.
{"Enter path to text file","Wprowadź scieżkę do pliku tekstowego"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Wprowadź nazwę użytkownika i kodowanie których chcesz używać do łączenia z serwerami IRC"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Importuj plik"}.
{"Import User from File at ","Importuj użytkownika z pliku na "}.
{"Import Users from Dir at ","Importuj użytkowników z katalogu na "}.
{"Import Users From jabberd 1.4 Spool Files","Importuj użytkowników z plików spool serwera jabber 1.4"}.
{"Import Users From jabberd14 Spool Files","Importuj użytkowników z plików spool serwera jabber 1.4"}.
{"Improper message type","Nieprawidłowy typ wiadomości"}.
{"Incorrect password","Nieprawidłowe hasło"}.
{"Invalid affiliation: ~s","Nieprawidłowe powiązanie: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages","Wysyłanie prywatnych wiadomości jest zabronione"}.
{"Jabber ID","Jabber ID"}.
{"January","Styczeń"}.
{"JID ~s is invalid","JID ~s jest niepoprawny"}.
{"Jabber ID ~s is invalid","JID ~s jest niepoprawny"}.
{"joins the room","dołączył(a) się do pokoju"}.
{"July","Lipiec"}.
{"June","Czerwiec"}.
@ -135,7 +135,7 @@
{"Last login","Ostatnie logowanie"}.
{"Last month","Ostatni miesiąc"}.
{"Last year","Ostatni rok"}.
{"leaves the room","opóścił(a) pokój"}.
{"leaves the room","opuścił(a) pokój"}.
{"Listened Ports at ","Porty nasłuchujące "}.
{"Listened Ports","Porty nasłuchujące"}.
{"List of modules to start","Lista modułów do uruchomienia"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Kto może widzieć prawdziwe JID-y?"}.
{"Present real Jabber IDs to","Kto może widzieć prawdziwe JID-y?"}.
{"private, ","prywatny, "}.
{"Publish-Subscribe","PubSub"}.
{"PubSub subscriber request","Rządzanie subskrybenta PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","Do ~s"}.
{"Traffic rate limit is exceeded","Limit transferu przekroczony"}.
{"Transactions Aborted:","Transakcje anulowane"}.
{"Transactions Commited:","Transakcje zakończone"}.
{"Transactions Committed:","Transakcje zakończone"}.
{"Transactions Logged:","Transakcje logowane"}.
{"Transactions Restarted:","Transakcje uruchomione ponownie"}.
{"Tuesday","Wtorek"}.

View File

@ -227,7 +227,7 @@ msgid "Backup Management"
msgstr "Zarządzanie kopiami zapasowymi"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importuj użytkowników z plików spool serwera jabber 1.4"
#: mod_configure.erl:649
@ -312,16 +312,16 @@ msgid "Import User from File at "
msgstr "Importuj użytkownika z pliku na "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Wprowadź ścieżkę do pliku spool dla serwera jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Wprowadź ścieżkę do pliku spool dla serwera jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importuj użytkowników z katalogu na "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Wprowadź ścieżkę do katalogu spool serwera jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Wprowadź ścieżkę do katalogu spool serwera jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -522,7 +522,7 @@ msgstr "dołączył(a) się do pokoju"
#: mod_muc/mod_muc_log.erl:344 mod_muc/mod_muc_log.erl:347
msgid "leaves the room"
msgstr "opóścił(a) pokój"
msgstr "opuścił(a) pokój"
#: mod_muc/mod_muc_log.erl:350 mod_muc/mod_muc_log.erl:353
msgid "has been banned"
@ -753,8 +753,8 @@ msgid "Moderator privileges required"
msgstr "Wymagane prawa moderatora"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s jest niepoprawny"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s jest niepoprawny"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -806,8 +806,8 @@ msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Kto może widzieć prawdziwe JID-y?"
msgid "Present real Jabber IDs to"
msgstr "Kto może widzieć prawdziwe Jabber ID-y?"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -948,8 +948,8 @@ msgid "Subscriber Address"
msgstr "Adres subskrybenta"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Pozwól temu JID na zapisanie się do tego noda pubsub"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Pozwól temu Jabber ID na zapisanie się do tego noda pubsub"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1064,7 +1064,7 @@ msgstr "Zły format"
#: mod_roster.erl:855 mod_roster_odbc.erl:962
msgid "Add Jabber ID"
msgstr "Dodaj JID"
msgstr "Dodaj Jabber ID"
#: mod_roster.erl:936 mod_roster_odbc.erl:1043
msgid "Roster"
@ -1434,7 +1434,7 @@ msgid "CPU Time:"
msgstr "Czas CPU"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transakcje zakończone"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Se necessita privilégios de administrador"}.
{"A friendly name for the node","Um nome familiar para o nó"}.
{"All activity","Toda la atividade"}.
{"Allow this JID to subscribe to this pubsub node?","Autorizar este JID para a inscrição neste tópico pubsub ?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Autorizar este JID para a inscrição neste tópico pubsub ?"}.
{"Allow users to change subject","Permitir a usuários modificar o assunto"}.
{"Allow users to query other users","Permitir a usuários pesquisar informações sobre os demais"}.
{"Allow users to send invites","Permitir a usuários envio de convites"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Introduza lista de {módulo, [opções]}"}.
{"Enter nickname you want to register","Introduza o apelido que quer registrar"}.
{"Enter path to backup file","Introduza o caminho do arquivo de cópia de segurança"}.
{"Enter path to jabberd1.4 spool dir","Introduza o caminho para o diretório de spools do jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Introduza o caminho para o arquivo de spool do jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Introduza o caminho para o diretório de spools do jabberd14"}.
{"Enter path to jabberd14 spool file","Introduza o caminho para o arquivo de spool do jabberd14"}.
{"Enter path to text file","Introduza caminho para o arquivo de texto"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Introduza o nome de usuário e codificações de caracteres que quer usar ao conectar-se aos servidores de IRC"}.
{"Erlang Jabber Server","Servidor Jabber em Erlang"}.
@ -113,7 +113,7 @@
{"Import File","Importar arquivo"}.
{"Import User from File at ","Importar usuário a partir do arquivo em "}.
{"Import Users from Dir at ","Importar usuários a partir do diretório em "}.
{"Import Users From jabberd 1.4 Spool Files","Importar usuários de arquivos jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Importar usuários de arquivos jabberd14"}.
{"Improper message type","Tipo de mensagem incorreto"}.
{"Incorrect password","Senha incorreta"}.
{"Invalid affiliation: ~s","Afiliação não válida: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Impedir o envio de mensagens privados a la sala"}.
{"Jabber ID","ID Jabber"}.
{"January","Janeiro"}.
{"JID ~s is invalid","O JID ~s não es válido"}.
{"Jabber ID ~s is invalid","O JID ~s não es válido"}.
{"joins the room","Entrar na sala"}.
{"July","Julho"}.
{"June","Junho"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Porta"}.
{"Present real JIDs to","Tornar o JID real visível por"}.
{"Present real Jabber IDs to","Tornar o JID real visível por"}.
{"private, ","privado"}.
{"Publish-Subscribe","Publicação de Tópico"}.
{"PubSub subscriber request","PubSub requisição de assinante"}.
@ -307,7 +307,7 @@
{"To ~s","Para ~s"}.
{"Traffic rate limit is exceeded","Limite de banda excedido"}.
{"Transactions Aborted:","Transações abortadas:"}.
{"Transactions Commited:","Transações:"}.
{"Transactions Committed:","Transações:"}.
{"Transactions Logged:","Transações de log:"}.
{"Transactions Restarted:","Transações restauradas:"}.
{"Tuesday","Terça"}.

View File

@ -228,8 +228,8 @@ msgid "Backup Management"
msgstr "Gestão de copia de segurança"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importar usuários de arquivos jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar usuários de arquivos jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -313,16 +313,16 @@ msgid "Import User from File at "
msgstr "Importar usuário a partir do arquivo em "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Introduza o caminho para o arquivo de spool do jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Introduza o caminho para o arquivo de spool do jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importar usuários a partir do diretório em "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Introduza o caminho para o diretório de spools do jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduza o caminho para o diretório de spools do jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -761,8 +761,8 @@ msgid "Moderator privileges required"
msgstr "Se necessita privilégios de moderador"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "O JID ~s não es válido"
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não es válido"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -814,8 +814,8 @@ msgid "No limit"
msgstr "Ilimitado"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Tornar o JID real visível por"
msgid "Present real Jabber IDs to"
msgstr "Tornar o Jabber ID real visível por"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -955,8 +955,8 @@ msgid "Subscriber Address"
msgstr "Enderço dos Assinantes"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Autorizar este JID para a inscrição neste tópico pubsub ?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autorizar este Jabber ID para a inscrição neste tópico pubsub ?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1439,7 +1439,7 @@ msgid "CPU Time:"
msgstr "Tempo de CPU"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transações:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -38,8 +38,8 @@
{"Enter list of {Module, [Options]}","Introduza lista de {módulos, [opções]}"}.
{"Enter nickname you want to register","Introduza a alcunha que quer registar"}.
{"Enter path to backup file","Introduza o caminho do ficheiro de cópia de segurança"}.
{"Enter path to jabberd1.4 spool dir","Introduza o caminho para o directório de spools do jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Introduza o caminho para o ficheiro de spool do jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Introduza o caminho para o directório de spools do jabberd14"}.
{"Enter path to jabberd14 spool file","Introduza o caminho para o ficheiro de spool do jabberd14"}.
{"Enter path to text file","Introduza caminho para o ficheiro de texto"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Introduza o nome de utilizador e codificações de caracteres que quer usar ao conectar-se aos servidores de IRC"}.
{"Erlang Jabber Server","Servidor Jabber em Erlang"}.
@ -62,7 +62,7 @@
{"IRC Username","Nome do utilizador de IRC"}.
{"It is not allowed to send private messages of type \"groupchat\"","Não é permitido enviar mensagens privadas do tipo \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Impedir o envio de mensagens privadas para a sala"}.
{"JID ~s is invalid","O JID ~s não é válido"}.
{"Jabber ID ~s is invalid","O JID ~s não é válido"}.
{"Last Activity","Última actividade"}.
{"Listened Ports at ","Portas em escuta em "}.
{"List of modules to start","Lista de módulos a iniciar"}.

View File

@ -236,8 +236,8 @@ msgstr "Gestão de cópias de segurança"
#: mod_configure.erl:534
#, fuzzy
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importar utilizadores a partir de ficheiros da spool do jabberd1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importar utilizadores a partir de ficheiros da spool do jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -322,16 +322,16 @@ msgid "Import User from File at "
msgstr "Importar utilizador a partir do ficheiro em "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Introduza o caminho para o ficheiro de spool do jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Introduza o caminho para o ficheiro de spool do jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importar utilizadores a partir do directório em "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Introduza o caminho para o directório de spools do jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Introduza o caminho para o directório de spools do jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -773,8 +773,8 @@ msgid "Moderator privileges required"
msgstr "São necessários privilégios de moderador"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "O JID ~s não é válido"
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não é válido"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -830,7 +830,7 @@ msgid "No limit"
msgstr ""
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgid "Present real Jabber IDs to"
msgstr ""
#: mod_muc/mod_muc_room.erl:2741
@ -987,7 +987,7 @@ msgid "Subscriber Address"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:2497
@ -1104,7 +1104,7 @@ msgstr "formato inválido"
#: mod_roster.erl:855 mod_roster_odbc.erl:962
#, fuzzy
msgid "Add Jabber ID"
msgstr "Adicionar JID"
msgstr "Adicionar Jabber ID"
#: mod_roster.erl:936 mod_roster_odbc.erl:1043
msgid "Roster"
@ -1501,7 +1501,7 @@ msgstr "Tempo de processador consumido"
#: web/ejabberd_web_admin.erl:1874
#, fuzzy
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transacções realizadas"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Требуются права администратора"}.
{"A friendly name for the node","Легко запоминаемое имя для узла"}.
{"All activity","Вся статистика"}.
{"Allow this JID to subscribe to this pubsub node?","Разрешить этому JID подписаться на данный узел?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Разрешить этому JID подписаться на данный узел?"}.
{"Allow users to change subject","Разрешить пользователям изменять тему"}.
{"Allow users to query other users","Разрешить iq-запросы к пользователям"}.
{"Allow users to send invites","Разрешить пользователям посылать приглашения"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Введите список вида {Module, [Options]}"}.
{"Enter nickname you want to register","Введите псевдоним, который Вы хотели бы зарегистрировать"}.
{"Enter path to backup file","Введите путь к резервному файлу"}.
{"Enter path to jabberd1.4 spool dir","Введите путь к директории спула jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Введите путь к файлу из спула jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Введите путь к директории спула jabberd14"}.
{"Enter path to jabberd14 spool file","Введите путь к файлу из спула jabberd14"}.
{"Enter path to text file","Введите путь к текстовому файлу"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Введите имя пользователя и кодировки, которые будут использоваться при подключении к IRC-серверам"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Импорт из файла"}.
{"Import User from File at ","Импорт пользователя из файла на "}.
{"Import Users from Dir at ","Импорт пользователей из директории на "}.
{"Import Users From jabberd 1.4 Spool Files","Импорт пользователей из спула jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Импорт пользователей из спула jabberd14"}.
{"Improper message type","Неправильный тип сообщения"}.
{"Incorrect password","Неправильный пароль"}.
{"Invalid affiliation: ~s","Недопустимый ранг: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages","Запрещено посылать приватные сообщения"}.
{"Jabber ID","Jabber ID"}.
{"January","января"}.
{"JID ~s is invalid","JID ~s недопустимый"}.
{"Jabber ID ~s is invalid","JID ~s недопустимый"}.
{"joins the room","вошёл(а) в комнату"}.
{"July","июля"}.
{"June","июня"}.
@ -219,7 +219,7 @@
{"Ping","Пинг"}.
{"Pong","Понг"}.
{"Port","Порт"}.
{"Present real JIDs to","Сделать реальные JID участников видимыми"}.
{"Present real Jabber IDs to","Сделать реальные JID участников видимыми"}.
{"private, ","приватная, "}.
{"Publish-Subscribe","Публикация-Подписка"}.
{"PubSub subscriber request","Запрос подписчика PubSub"}.
@ -307,7 +307,7 @@
{"To","Кому"}.
{"Traffic rate limit is exceeded","Превышен лимит скорости посылки информации"}.
{"Transactions Aborted:","Транзакции отмененные:"}.
{"Transactions Commited:","Транзакции завершенные:"}.
{"Transactions Committed:","Транзакции завершенные:"}.
{"Transactions Logged:","Транзакции запротоколированные:"}.
{"Transactions Restarted:","Транзакции перезапущенные:"}.
{"Tuesday","Вторник"}.

View File

@ -229,8 +229,8 @@ msgid "Backup Management"
msgstr "Управление резервным копированием"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Импорт пользователей из спула jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Импорт пользователей из спула jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -314,16 +314,16 @@ msgid "Import User from File at "
msgstr "Импорт пользователя из файла на "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Введите путь к файлу из спула jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Введите путь к файлу из спула jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Импорт пользователей из директории на "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Введите путь к директории спула jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Введите путь к директории спула jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -754,8 +754,8 @@ msgid "Moderator privileges required"
msgstr "Требуются права модератора"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s недопустимый"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимый"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -807,8 +807,8 @@ msgid "No limit"
msgstr "Не ограничено"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Сделать реальные JID участников видимыми"
msgid "Present real Jabber IDs to"
msgstr "Сделать реальные Jabber ID участников видимыми"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -951,8 +951,8 @@ msgid "Subscriber Address"
msgstr "Адрес подписчика"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Разрешить этому JID подписаться на данный узел?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Разрешить этому Jabber ID подписаться на данный узел?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1436,7 +1436,7 @@ msgid "CPU Time:"
msgstr "Процессорное время:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Транзакции завершенные:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -6,7 +6,7 @@
{"Access rules","Prístupové pravidlá"}.
{"Access Rules","Prístupové pravidlá"}.
{"Action on user","Operácia aplikovaná na užívateľa"}.
{"Add Jabber ID","Pridať JID"}.
{"Add Jabber ID","Pridať Jabber ID"}.
{"Add New","Pridať nový"}.
{"Add User","Pridať používateľa"}.
{"Administration","Administrácia"}.
@ -14,7 +14,7 @@
{"Administrator privileges required","Sú potrebné práva administrátora"}.
{"A friendly name for the node","Prístupný názov pre uzol"}.
{"All activity","Všetky aktivity"}.
{"Allow this JID to subscribe to this pubsub node?","Dovoliť tomuto JID odoberať PubSub uzol?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Dovoliť tomuto JID odoberať PubSub uzol?"}.
{"Allow users to change subject","Povoliť užívateľom zmeniť tému tejto miestnosti"}.
{"Allow users to query other users","Povoliť užívateľom dotazovať sa informácie o iných užívateľoch"}.
{"Allow users to send invites","Povoliť používateľom posielanie pozvánok"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Vložte zoznam modulov {Modul, [Parametre]}"}.
{"Enter nickname you want to register","Zadajte prezývku, ktorú chcete registrovať"}.
{"Enter path to backup file","Zadajte cestu k súboru so zálohou"}.
{"Enter path to jabberd1.4 spool dir","Zadajte cestu k jabberd1.4 spool adresáru"}.
{"Enter path to jabberd1.4 spool file","Zadajte cestu k spool súboru jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Zadajte cestu k jabberd14 spool adresáru"}.
{"Enter path to jabberd14 spool file","Zadajte cestu k spool súboru jabberd14"}.
{"Enter path to text file","Zadajte cestu k textovému súboru"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Vložte meno používateľa a kódovanie, ktoré chcete používať pri pripojení na IRC server"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Import súboru"}.
{"Import User from File at ","Importovať užívateľa zo súboru na "}.
{"Import Users from Dir at ","Importovať užívateľov z adresára na "}.
{"Import Users From jabberd 1.4 Spool Files","Importovať užívateľov z jabberd 1.4 spool súborov"}.
{"Import Users From jabberd14 Spool Files","Importovať užívateľov z jabberd14 spool súborov"}.
{"Improper message type","Nesprávny typ správy"}.
{"Incorrect password","Nesprávne heslo"}.
{"Invalid affiliation: ~s","Neplatné priradenie: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Nie je povolené odosielať súkromné správy do konferencie"}.
{"Jabber ID","Jabber ID"}.
{"January","Január"}.
{"JID ~s is invalid","JID ~s je neplatné"}.
{"Jabber ID ~s is invalid","JID ~s je neplatné"}.
{"joins the room","vstúpil(a) do miestnosti"}.
{"July","Júl"}.
{"June","Jún"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Zobrazovať skutočné JID"}.
{"Present real Jabber IDs to","Zobrazovať skutočné JID"}.
{"private, ","súkromná, "}.
{"Publish-Subscribe","Publish-Subscribe"}.
{"PubSub subscriber request","Žiadosť odberateľa PubSub"}.
@ -307,7 +307,7 @@
{"To ~s","Pre ~s"}.
{"Traffic rate limit is exceeded","Bol prekročený prenosový limit"}.
{"Transactions Aborted:","Transakcie zrušená"}.
{"Transactions Commited:","Transakcie potvrdená"}.
{"Transactions Committed:","Transakcie potvrdená"}.
{"Transactions Logged:","Transakcie zaznamenaná"}.
{"Transactions Restarted:","Transakcie reštartovaná"}.
{"Tuesday","Utorok"}.

View File

@ -226,8 +226,8 @@ msgid "Backup Management"
msgstr "Správa zálohovania"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importovať užívateľov z jabberd 1.4 spool súborov"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importovať užívateľov z jabberd14 spool súborov"
#: mod_configure.erl:649
msgid "To ~s"
@ -311,16 +311,16 @@ msgid "Import User from File at "
msgstr "Importovať užívateľa zo súboru na "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Zadajte cestu k spool súboru jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Zadajte cestu k spool súboru jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importovať užívateľov z adresára na "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Zadajte cestu k jabberd1.4 spool adresáru"
msgid "Enter path to jabberd14 spool dir"
msgstr "Zadajte cestu k jabberd14 spool adresáru"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -752,8 +752,8 @@ msgid "Moderator privileges required"
msgstr "Sú potrebné práva moderátora"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s je neplatné"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -805,8 +805,8 @@ msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Zobrazovať skutočné JID"
msgid "Present real Jabber IDs to"
msgstr "Zobrazovať skutočné Jabber ID"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -946,8 +946,8 @@ msgid "Subscriber Address"
msgstr "Adresa odberateľa"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Dovoliť tomuto JID odoberať PubSub uzol?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dovoliť tomuto Jabber ID odoberať PubSub uzol?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1059,7 +1059,7 @@ msgstr "Zlý formát"
#: mod_roster.erl:855 mod_roster_odbc.erl:962
msgid "Add Jabber ID"
msgstr "Pridať JID"
msgstr "Pridať Jabber ID"
#: mod_roster.erl:936 mod_roster_odbc.erl:1043
msgid "Roster"
@ -1430,7 +1430,7 @@ msgid "CPU Time:"
msgstr "Čas procesoru"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transakcie potvrdená"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Administrationsprivilegier krävs"}.
{"A friendly name for the node","Ett vänligt namn for noden"}.
{"All activity","All aktivitet"}.
{"Allow this JID to subscribe to this pubsub node?","Tillåt denna JID att prenumerera på denna pubsub node"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Tillåt denna JID att prenumerera på denna pubsub node"}.
{"Allow users to change subject","Tillåt användare att byta ämne"}.
{"Allow users to query other users","Tillåt användare att söka efter andra användare"}.
{"Allow users to send invites","Tillåt användare att skicka inbjudningar"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Skriv in en lista av {Module, [Options]}"}.
{"Enter nickname you want to register","Skriv in smeknamnet du vill registrera"}.
{"Enter path to backup file","Skriv in sökväg till fil för säkerhetskopia"}.
{"Enter path to jabberd1.4 spool dir","Skriv in sökväg till spoolkatalog från jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Skriv in sökväg till spoolfil från jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Skriv in sökväg till spoolkatalog från jabberd14"}.
{"Enter path to jabberd14 spool file","Skriv in sökväg till spoolfil från jabberd14"}.
{"Enter path to text file","Skriv in sökväg till textfil"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Skriv in användarnamn och textkodning du vill använda för att ansluta till IRC-servrar"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Importera fil"}.
{"Import User from File at ","Importera användare från fil på "}.
{"Import Users from Dir at ","Importera användare från katalog på "}.
{"Import Users From jabberd 1.4 Spool Files","Importera användare från jabberd 1.4 Spool filer"}.
{"Import Users From jabberd14 Spool Files","Importera användare från jabberd14 Spool filer"}.
{"Improper message type","Felaktig medelandetyp"}.
{"Incorrect password","Fel lösenord"}.
{"Invalid affiliation: ~s","Ogiltlig rang: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Det är inte tillåtet att skicka privata medelanden till den här konferensen"}.
{"Jabber ID","Jabber ID"}.
{"January","Januari"}.
{"JID ~s is invalid","Otillåtet JID ~s"}.
{"Jabber ID ~s is invalid","Otillåtet JID ~s"}.
{"joins the room","joinar rummet"}.
{"July","Juli"}.
{"June","Juni"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Port"}.
{"Present real JIDs to","Nuvarande äkta JIDs till"}.
{"Present real Jabber IDs to","Nuvarande äkta JIDs till"}.
{"private, ","privat, "}.
{"Publish-Subscribe","Publikprenumeration"}.
{"PubSub subscriber request","Pubsub prenumerationsforfrågan"}.
@ -307,7 +307,7 @@
{"To","Till"}.
{"Traffic rate limit is exceeded","Trafikgränsen har överstigits"}.
{"Transactions Aborted:","Transaktioner borttagna"}.
{"Transactions Commited:","Transaktioner kommittade"}.
{"Transactions Committed:","Transaktioner kommittade"}.
{"Transactions Logged:","Transaktioner loggade "}.
{"Transactions Restarted:","Transaktioner omstartade"}.
{"Tuesday","Tisdag"}.

View File

@ -227,8 +227,8 @@ msgid "Backup Management"
msgstr "Hantera säkerhetskopior"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Importera användare från jabberd 1.4 Spool filer"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Importera användare från jabberd14 Spool filer"
#: mod_configure.erl:649
msgid "To ~s"
@ -312,16 +312,16 @@ msgid "Import User from File at "
msgstr "Importera användare från fil på "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Skriv in sökväg till spoolfil från jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Skriv in sökväg till spoolfil från jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Importera användare från katalog på "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Skriv in sökväg till spoolkatalog från jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Skriv in sökväg till spoolkatalog från jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -756,8 +756,8 @@ msgid "Moderator privileges required"
msgstr "Moderatorprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "Otillåtet JID ~s"
msgid "Jabber ID ~s is invalid"
msgstr "Otillåtet Jabber ID ~s"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -809,8 +809,8 @@ msgid "No limit"
msgstr "Ingen gräns"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Nuvarande äkta JIDs till"
msgid "Present real Jabber IDs to"
msgstr "Nuvarande äkta Jabber IDs till"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -950,8 +950,8 @@ msgid "Subscriber Address"
msgstr "Prenumerationsadress"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Tillåt denna JID att prenumerera på denna pubsub node"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillåt denna Jabber ID att prenumerera på denna pubsub node"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1432,7 +1432,7 @@ msgid "CPU Time:"
msgstr "CPU tid"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transaktioner kommittade"
#: web/ejabberd_web_admin.erl:1877

View File

@ -13,7 +13,7 @@
{"Administration of ","การดูแล "}.
{"Administrator privileges required","ต้องมีสิทธิพิเศษของผู้ดูแลระบบ"}.
{"All activity","กิจกรรมทั้งหมด"}.
{"Allow this JID to subscribe to this pubsub node?","อนุญาตให้ JID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","อนุญาตให้ JID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"}.
{"Allow users to change subject","อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"}.
{"Allow users to query other users","อนุญาตให้ผู้ใช้ถามคำถามกับผู้ใช้คนอื่นๆ ได้"}.
{"Allow users to send invites","อนุญาตให้ผู้ใช้ส่งคำเชิญถึงกันได้"}.
@ -76,8 +76,8 @@
{"Enter list of {Module, [Options]}","ป้อนรายการของ {โมดูล, [ตัวเลือก]}"}.
{"Enter nickname you want to register","ป้อนชื่อเล่นที่คุณต้องการลงทะเบียน"}.
{"Enter path to backup file","ป้อนพาธเพื่อสำรองไฟล์ข้อมูล"}.
{"Enter path to jabberd1.4 spool dir","ป้อนพาธไปยัง jabberd 1.4 spool dir"}.
{"Enter path to jabberd1.4 spool file","ป้อนพาธไปยังไฟล์เก็บพักข้อมูล jabberd 1.4"}.
{"Enter path to jabberd14 spool dir","ป้อนพาธไปยัง jabberd14 spool dir"}.
{"Enter path to jabberd14 spool file","ป้อนพาธไปยังไฟล์เก็บพักข้อมูล jabberd14"}.
{"Enter path to text file","ป้อนพาธของไฟล์ข้อความ"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -106,7 +106,7 @@
{"Import File","อิมพอร์ตไฟล์"}.
{"Import User from File at ","อิมพอร์ตผู้ใช้จากไฟล์ที่"}.
{"Import Users from Dir at ","อิมพอร์ตผู้ใช้จาก Dir ที่"}.
{"Import Users From jabberd 1.4 Spool Files","อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd14"}.
{"Improper message type","ประเภทข้อความไม่เหมาะสม"}.
{"Incorrect password","รหัสผ่านไม่ถูกต้อง"}.
{"Invalid affiliation: ~s","การเข้าร่วมที่ไม่ถูกต้อง: ~s"}.
@ -119,7 +119,7 @@
{"It is not allowed to send private messages to the conference","ไม่อนุญาตให้ส่งข้อความส่วนตัวไปยังห้องประชุม"}.
{"Jabber ID","Jabber ID"}.
{"January","มกราคม"}.
{"JID ~s is invalid","JID ~s ไม่ถูกต้อง"}.
{"Jabber ID ~s is invalid","JID ~s ไม่ถูกต้อง"}.
{"joins the room","เข้าห้องสนทนานี้"}.
{"July","กรกฎาคม"}.
{"June","มิถุนายน"}.
@ -210,7 +210,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","พอร์ท"}.
{"Present real JIDs to","แสดง JIDs ที่ถูกต้องแก่"}.
{"Present real Jabber IDs to","แสดง JIDs ที่ถูกต้องแก่"}.
{"private, ","ส่วนตัว, "}.
{"Publish-Subscribe","เผยแพร่-สมัครเข้าใช้งาน"}.
{"PubSub subscriber request","คำร้องขอของผู้สมัครเข้าใช้งาน PubSub"}.
@ -294,7 +294,7 @@
{"To ~s","ถึง ~s"}.
{"Traffic rate limit is exceeded","อัตราของปริมาณการเข้าใช้เกินขีดจำกัด"}.
{"Transactions Aborted:","ทรานแซกชันที่ถูกยกเลิก:"}.
{"Transactions Commited:","ทรานแซกชันที่ได้รับมอบหมาย:"}.
{"Transactions Committed:","ทรานแซกชันที่ได้รับมอบหมาย:"}.
{"Transactions Logged:","ทรานแซกชันที่บันทึก:"}.
{"Transactions Restarted:","ทรานแซกชันที่เริ่มทำงานใหม่อีกครั้ง:"}.
{"Tuesday","วันอังคาร"}.

View File

@ -223,8 +223,8 @@ msgid "Backup Management"
msgstr "การจัดการข้อมูลสำรอง"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "อิมพอร์ตผู้ใช้จากไฟล์เก็บพักข้อมูล jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -308,16 +308,16 @@ msgid "Import User from File at "
msgstr "อิมพอร์ตผู้ใช้จากไฟล์ที่"
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "ป้อนพาธไปยังไฟล์เก็บพักข้อมูล jabberd 1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "ป้อนพาธไปยังไฟล์เก็บพักข้อมูล jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "อิมพอร์ตผู้ใช้จาก Dir ที่"
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "ป้อนพาธไปยัง jabberd 1.4 spool dir"
msgid "Enter path to jabberd14 spool dir"
msgstr "ป้อนพาธไปยัง jabberd14 spool dir"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -744,8 +744,8 @@ msgid "Moderator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลการสนทนา"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s ไม่ถูกต้อง"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s ไม่ถูกต้อง"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -797,8 +797,8 @@ msgid "No limit"
msgstr "ไม่จำกัด"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "แสดง JIDs ที่ถูกต้องแก่"
msgid "Present real Jabber IDs to"
msgstr "แสดง Jabber IDs ที่ถูกต้องแก่"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -941,8 +941,8 @@ msgid "Subscriber Address"
msgstr "ที่อยู่ของผู้สมัคร"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "อนุญาตให้ JID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "อนุญาตให้ Jabber ID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1425,7 +1425,7 @@ msgid "CPU Time:"
msgstr "เวลาการทำงานของ CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "ทรานแซกชันที่ได้รับมอบหมาย:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Yönetim yetkileri gerekli"}.
{"A friendly name for the node","Düğüm için dostane bir isim"}.
{"All activity","Tüm aktivite"}.
{"Allow this JID to subscribe to this pubsub node?","Bu JID bu pubsub düğümüne üye olmasına izin verilsin mi?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Bu JID bu pubsub düğümüne üye olmasına izin verilsin mi?"}.
{"Allow users to change subject","Kullanıcıların konu değiştirmesine izin ver"}.
{"Allow users to query other users","Kullanıcıların diğer kullanıcıları sorgulamalarına izin ver"}.
{"Allow users to send invites","Kullanıcıların davetiye göndermelerine izin ver"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","{Module, [Options]} listesi giriniz"}.
{"Enter nickname you want to register","Kaydettirmek istediğiniz takma ismi giriniz"}.
{"Enter path to backup file","Yedek dosyasının yolunu giriniz"}.
{"Enter path to jabberd1.4 spool dir","jabberd1.4 spool dosyası için yol giriniz"}.
{"Enter path to jabberd1.4 spool file","jabberd1.4 spool dosyası için yol giriniz"}.
{"Enter path to jabberd14 spool dir","jabberd14 spool dosyası için yol giriniz"}.
{"Enter path to jabberd14 spool file","jabberd14 spool dosyası için yol giriniz"}.
{"Enter path to text file","Metin dosyasının yolunu giriniz"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","IRC sunuculara bağlanmak için kullanmak istediğiniz kullanıcı isimleri ve kodlamaları giriniz"}.
{"Erlang Jabber Server","Erlang Jabber Sunucusu"}.
@ -113,7 +113,7 @@
{"Import File","Dosyayı İçe Aktar"}.
{"Import User from File at ","Dosyadan Kullanıcıları İçe Aktar : "}.
{"Import Users from Dir at ","Dizinden Kullanıcıları İçe Aktar : "}.
{"Import Users From jabberd 1.4 Spool Files","Jabberd 1.4 Spool Dosyalarından Kullanıcıları İçeri Aktar"}.
{"Import Users From jabberd14 Spool Files","Jabberd 1.4 Spool Dosyalarından Kullanıcıları İçeri Aktar"}.
{"Improper message type","Uygunsuz mesaj tipi"}.
{"Incorrect password","Yanlış parola"}.
{"Invalid affiliation: ~s","Geçersiz ilişki: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","Konferansa özel mesajlar gönderilmesine izin verilmiyor"}.
{"Jabber ID","Jabber ID"}.
{"January","Ocak"}.
{"JID ~s is invalid","JID ~s geçersiz"}.
{"Jabber ID ~s is invalid","JID ~s geçersiz"}.
{"joins the room","odaya katıldı"}.
{"July","Temmuz"}.
{"June","Haziran"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Kapı (Port)"}.
{"Present real JIDs to","Gerçek JID'lerini göster :"}.
{"Present real Jabber IDs to","Gerçek JID'lerini göster :"}.
{"private, ","özel"}.
{"Publish-Subscribe","Yayınla-Üye Ol"}.
{"PubSub subscriber request","PubSub üye isteği"}.
@ -307,7 +307,7 @@
{"To ~s","Kime ~s"}.
{"Traffic rate limit is exceeded","Trafik oran sınırııldı"}.
{"Transactions Aborted:","İptal Edilen Hareketler (Transactions):"}.
{"Transactions Commited:","Tamamlanan Hareketler (Transactions Commited):"}.
{"Transactions Committed:","Tamamlanan Hareketler (Transactions Committed):"}.
{"Transactions Logged:","Kaydı Tutulan Hareketler (Transactions):"}.
{"Transactions Restarted:","Tekrar Başlatılan Hareketler (Transactions):"}.
{"Tuesday","Salı"}.

View File

@ -224,7 +224,7 @@ msgid "Backup Management"
msgstr "Yedek Yönetimi"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Jabberd 1.4 Spool Dosyalarından Kullanıcıları İçeri Aktar"
#: mod_configure.erl:649
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Dosyadan Kullanıcıları İçe Aktar : "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "jabberd1.4 spool dosyası için yol giriniz"
msgid "Enter path to jabberd14 spool file"
msgstr "jabberd14 spool dosyası için yol giriniz"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Dizinden Kullanıcıları İçe Aktar : "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "jabberd1.4 spool dosyası için yol giriniz"
msgid "Enter path to jabberd14 spool dir"
msgstr "jabberd14 spool dosyası için yol giriniz"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -755,8 +755,8 @@ msgid "Moderator privileges required"
msgstr "Moderatör yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s geçersiz"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s geçersiz"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -808,8 +808,8 @@ msgid "No limit"
msgstr "Sınırsız"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Gerçek JID'lerini göster :"
msgid "Present real Jabber IDs to"
msgstr "Gerçek Jabber ID'lerini göster :"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -952,8 +952,8 @@ msgid "Subscriber Address"
msgstr "Üye Olanın Adresi"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Bu JID bu pubsub düğümüne üye olmasına izin verilsin mi?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Bu Jabber ID bu pubsub düğümüne üye olmasına izin verilsin mi?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1437,8 +1437,8 @@ msgid "CPU Time:"
msgstr "İşlemci Zamanı:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgstr "Tamamlanan Hareketler (Transactions Commited):"
msgid "Transactions Committed:"
msgstr "Tamamlanan Hareketler (Transactions Committed):"
#: web/ejabberd_web_admin.erl:1877
msgid "Transactions Aborted:"

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","Необхідні права адміністратора"}.
{"A friendly name for the node","Псевдонім для вузла"}.
{"All activity","Вся статистика"}.
{"Allow this JID to subscribe to this pubsub node?","Чи дозволити цьому JID абонувати новини наданого вузла"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Чи дозволити цьому JID абонувати новини наданого вузла"}.
{"Allow users to change subject","Дозволити користувачам змінювати тему"}.
{"Allow users to query other users","Дозволити iq-запити до користувачів"}.
{"Allow users to send invites","Дозволити користувачам надсилати запрошення"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Введіть перелік такого виду {Module, [Options]}"}.
{"Enter nickname you want to register","Введіть псевдонім, який ви хочете зареєструвати"}.
{"Enter path to backup file","Введіть шлях до резервного файла"}.
{"Enter path to jabberd1.4 spool dir","Введіть шлях до директорії спула jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Введіть шлях до файла зі спула jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Введіть шлях до директорії спула jabberd14"}.
{"Enter path to jabberd14 spool file","Введіть шлях до файла зі спула jabberd14"}.
{"Enter path to text file","Введіть шлях до текстового файла"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Введіть ім'я користувача та кодування, які будуть використовуватися при підключенні до IRC-серверів"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
@ -113,7 +113,7 @@
{"Import File","Імпорт з файла"}.
{"Import User from File at ","Імпортування користувача з файла на "}.
{"Import Users from Dir at ","Імпортування користувача з директорії на "}.
{"Import Users From jabberd 1.4 Spool Files","Імпорт користувачів зі спулу jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Імпорт користувачів зі спулу jabberd14"}.
{"Improper message type","Неправильний тип повідомлення"}.
{"Incorrect password","Неправильний пароль"}.
{"Invalid affiliation: ~s","Недопустимий ранг: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages","Приватні повідомлення не дозволені"}.
{"Jabber ID","Jabber ID"}.
{"January","січня"}.
{"JID ~s is invalid","JID ~s недопустимий"}.
{"Jabber ID ~s is invalid","JID ~s недопустимий"}.
{"joins the room","увійшов(ла) в кімнату"}.
{"July","липня"}.
{"June","червня"}.
@ -219,7 +219,7 @@
{"Ping","Пінг"}.
{"Pong","Понг"}.
{"Port","Порт"}.
{"Present real JIDs to","Зробити реальні JID учасників видимими"}.
{"Present real Jabber IDs to","Зробити реальні JID учасників видимими"}.
{"private, ","приватна, "}.
{"Publish-Subscribe","Опублікувати-Абонувати"}.
{"PubSub subscriber request","Запит на абонування PubSub"}.
@ -307,7 +307,7 @@
{"To","Кому"}.
{"Traffic rate limit is exceeded","Швидкість передачі інформації було перевищено"}.
{"Transactions Aborted:","Транзакції відмінені:"}.
{"Transactions Commited:","Транзакції завершені:"}.
{"Transactions Committed:","Транзакції завершені:"}.
{"Transactions Logged:","Транзакції запротокольовані:"}.
{"Transactions Restarted:","Транзакції перезапущені:"}.
{"Tuesday","Вівторок"}.

View File

@ -229,8 +229,8 @@ msgid "Backup Management"
msgstr "Керування резервним копіюванням"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Імпорт користувачів зі спулу jabberd 1.4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Імпорт користувачів зі спулу jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -314,16 +314,16 @@ msgid "Import User from File at "
msgstr "Імпортування користувача з файла на "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Введіть шлях до файла зі спула jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Введіть шлях до файла зі спула jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Імпортування користувача з директорії на "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Введіть шлях до директорії спула jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Введіть шлях до директорії спула jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -756,8 +756,8 @@ msgid "Moderator privileges required"
msgstr "Необхідні права модератора"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s недопустимий"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимий"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -809,8 +809,8 @@ msgid "No limit"
msgstr "Без обмежень"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Зробити реальні JID учасників видимими"
msgid "Present real Jabber IDs to"
msgstr "Зробити реальні Jabber ID учасників видимими"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -953,8 +953,8 @@ msgid "Subscriber Address"
msgstr "Адреса абонента"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Чи дозволити цьому JID абонувати новини наданого вузла"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Чи дозволити цьому Jabber ID абонувати новини наданого вузла"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1438,7 +1438,7 @@ msgid "CPU Time:"
msgstr "Процесорний час:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Транзакції завершені:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -13,7 +13,7 @@
{"Administration","Quản trị"}.
{"Administrator privileges required","Yêu cầu đặc quyền của nhà quản trị"}.
{"All activity","Tất cả hoạt động"}.
{"Allow this JID to subscribe to this pubsub node?","Cho phép JID đăng ký nút môđun xuất bản đăng ký này không?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Cho phép JID đăng ký nút môđun xuất bản đăng ký này không?"}.
{"Allow users to change subject","Cho phép người sử dụng thay đổi chủ đề"}.
{"Allow users to query other users","Cho phép người sử dụng hỏi người sử dụng khác"}.
{"Allow users to send invites","Cho phép người sử dụng gửi lời mời"}.
@ -76,8 +76,8 @@
{"Enter list of {Module, [Options]}","Nhập danh sách {Môđun, [Các Tùy Chọn]}"}.
{"Enter nickname you want to register","Nhập bí danh bạn muốn đăng ký"}.
{"Enter path to backup file","Nhập đường dẫn đến tập tin sao lưu dự phòng"}.
{"Enter path to jabberd1.4 spool dir","Nhập đường dẫn đến thư mục spool jabberd1,4"}.
{"Enter path to jabberd1.4 spool file","Nhập đường dẫn đến tập tin spool jabberd1,4"}.
{"Enter path to jabberd14 spool dir","Nhập đường dẫn đến thư mục spool jabberd14"}.
{"Enter path to jabberd14 spool file","Nhập đường dẫn đến tập tin spool jabberd14"}.
{"Enter path to text file","Nhập đường dẫn đến tập tin văn bản"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Nhập tên truy cập và mã hóa mà bạn muốn sử dụng khi kết nối với các máy chủ IRC"}.
{"Erlang Jabber Server","Erlang Jabber Server Bản quyền"}.
@ -106,7 +106,7 @@
{"Import File","Nhập Tập Tin"}.
{"Import User from File at ","Nhập Người Sử Dụng từ Tập Tin tại"}.
{"Import Users from Dir at ","Nhập Người Sử Dụng từ Thư Mục tại"}.
{"Import Users From jabberd 1.4 Spool Files","Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd 1,4"}.
{"Import Users From jabberd14 Spool Files","Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd14"}.
{"Improper message type","Loại thư không phù hợp"}.
{"Incorrect password","Mật khẩu sai"}.
{"Invalid affiliation: ~s","Tư cách không hợp lệ: ~s"}.
@ -119,7 +119,7 @@
{"It is not allowed to send private messages to the conference","Không được phép gửi những thư riêng đến phòng họp"}.
{"Jabber ID","Jabber ID"}.
{"January","Tháng Một"}.
{"JID ~s is invalid","JID ~s không hợp lệ"}.
{"Jabber ID ~s is invalid","JID ~s không hợp lệ"}.
{"joins the room","tham gia phòng này"}.
{"July","Tháng Bảy"}.
{"June","Tháng Sáu"}.
@ -210,7 +210,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Cổng"}.
{"Present real JIDs to","JID thực tế hiện hành đến"}.
{"Present real Jabber IDs to","JID thực tế hiện hành đến"}.
{"private, ","riêng,"}.
{"Publish-Subscribe","Xuất Bản-Đăng Ký"}.
{"PubSub subscriber request","Yêu cầu người đăng ký môđun Xuất Bản Đăng Ký"}.
@ -294,7 +294,7 @@
{"To ~s","Gửi đến ~s"}.
{"Traffic rate limit is exceeded","Quá giới hạn tỷ lệ lưu lượng truyền tải"}.
{"Transactions Aborted:","Giao Dịch Hủy Bỏ:"}.
{"Transactions Commited:","Giao Dịch Được Cam Kết:"}.
{"Transactions Committed:","Giao Dịch Được Cam Kết:"}.
{"Transactions Logged:","Giao Dịch Được Ghi Nhận:"}.
{"Transactions Restarted:","Giao Dịch Khởi Động Lại:"}.
{"Tuesday","Thứ Ba"}.

View File

@ -226,8 +226,8 @@ msgid "Backup Management"
msgstr "Quản lý Sao Lưu Dự Phòng"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgstr "Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd 1,4"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Nhập Người Sử Dụng Từ Các Tập Tin Spool jabberd14"
#: mod_configure.erl:649
msgid "To ~s"
@ -311,16 +311,16 @@ msgid "Import User from File at "
msgstr "Nhập Người Sử Dụng từ Tập Tin tại"
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Nhập đường dẫn đến tập tin spool jabberd1,4"
msgid "Enter path to jabberd14 spool file"
msgstr "Nhập đường dẫn đến tập tin spool jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Nhập Người Sử Dụng từ Thư Mục tại"
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Nhập đường dẫn đến thư mục spool jabberd1,4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Nhập đường dẫn đến thư mục spool jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -757,8 +757,8 @@ msgid "Moderator privileges required"
msgstr "Yêu cầu đặc quyền của nhà điều phối"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s không hợp lệ"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s không hợp lệ"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -810,8 +810,8 @@ msgid "No limit"
msgstr "Không giới hạn"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "JID thực tế hiện hành đến"
msgid "Present real Jabber IDs to"
msgstr "Jabber ID thực tế hiện hành đến"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -957,8 +957,8 @@ msgid "Subscriber Address"
msgstr "Địa Chỉ Người Đăng Ký"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "Cho phép JID đăng ký nút môđun xuất bản đăng ký này không?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Cho phép Jabber ID đăng ký nút môđun xuất bản đăng ký này không?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1446,7 +1446,7 @@ msgid "CPU Time:"
msgstr "Thời Gian CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Giao Dịch Được Cam Kết:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","I fåt des priviledjes di manaedjeu"}.
{"A friendly name for the node","On no uzeu-ahessåve pol nuk"}.
{"All activity","Dispoy todi"}.
{"Allow this JID to subscribe to this pubsub node?","Permete ki ci JID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Permete ki ci JID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"}.
{"Allow users to change subject","Les uzeus polèt candjî l' tite"}.
{"Allow users to query other users","Les uzeus polèt cweri ls ôtes uzeus"}.
{"Allow users to send invites","Les uzeus polèt evoyî priyaedjes"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","Dinez ene djivêye del cogne {Module, [Tchuzes]}"}.
{"Enter nickname you want to register","Dinez l' metou no ki vos vloz edjîstrer"}.
{"Enter path to backup file","Dinez l' tchimin viè l' fitchî copeye di såvrité"}.
{"Enter path to jabberd1.4 spool dir","Dinez l' tchimin viè l' ridant di spool jabberd1.4"}.
{"Enter path to jabberd1.4 spool file","Dinez l' tchimin viè l' fitchî di spool jabberd1.4"}.
{"Enter path to jabberd14 spool dir","Dinez l' tchimin viè l' ridant di spool jabberd14"}.
{"Enter path to jabberd14 spool file","Dinez l' tchimin viè l' fitchî di spool jabberd14"}.
{"Enter path to text file","Dinez l' tchimin viè l' fitchî tecse"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","Dinez les nos d' uzeu et ls ecôdaedjes ki vos vloz eployî po vs raloyî åzès sierveus IRC"}.
{"Erlang Jabber Server","Sierveu Jabber Erlang"}.
@ -113,7 +113,7 @@
{"Import File","Sititchî d' on fitchî"}.
{"Import User from File at ","Sititchî uzeu d' on fitchî so "}.
{"Import Users from Dir at ","Sitichî des uzeus d' on ridant so "}.
{"Import Users From jabberd 1.4 Spool Files","Sititchî des uzeus Jabberd 1.4"}.
{"Import Users From jabberd14 Spool Files","Sititchî des uzeus Jabberd 1.4"}.
{"Improper message type","Sôre di messaedje nén valide"}.
{"Incorrect password","Sicret nén corek"}.
{"Invalid affiliation: ~s","Afiyaedje nén valide: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages to the conference","On n' pout nén evoyî des messaedjes privés dins cisse conferince ci"}.
{"Jabber ID","ID Jabber"}.
{"January","djanvî"}.
{"JID ~s is invalid","Li JID ~s n' est nén valide"}.
{"Jabber ID ~s is invalid","Li JID ~s n' est nén valide"}.
{"joins the room","arive sol såle"}.
{"July","djulete"}.
{"June","djun"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","Pôrt"}.
{"Present real JIDs to","Mostrer les vraiys JIDs a"}.
{"Present real Jabber IDs to","Mostrer les vraiys JIDs a"}.
{"private, ","privé, "}.
{"Publish-Subscribe","Eplaidaedje-abounmint"}.
{"PubSub subscriber request","Dimande d' eplaidaedje-abounmint d' èn abouné"}.
@ -307,7 +307,7 @@
{"To ~s","Viè ~s"}.
{"Traffic rate limit is exceeded","Li limite pol volume di trafik a stî passêye"}.
{"Transactions Aborted:","Transaccions arestêyes:"}.
{"Transactions Commited:","Transaccions evoyeyes:"}.
{"Transactions Committed:","Transaccions evoyeyes:"}.
{"Transactions Logged:","Transaccions wårdêyes e djournå:"}.
{"Transactions Restarted:","Transaccions renondêyes:"}.
{"Tuesday","mårdi"}.

View File

@ -224,7 +224,7 @@ msgid "Backup Management"
msgstr "Manaedjaedje des copeyes di såvrité"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "Sititchî des uzeus Jabberd 1.4"
#: mod_configure.erl:649
@ -309,16 +309,16 @@ msgid "Import User from File at "
msgstr "Sititchî uzeu d' on fitchî so "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "Dinez l' tchimin viè l' fitchî di spool jabberd1.4"
msgid "Enter path to jabberd14 spool file"
msgstr "Dinez l' tchimin viè l' fitchî di spool jabberd14"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "Sitichî des uzeus d' on ridant so "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "Dinez l' tchimin viè l' ridant di spool jabberd1.4"
msgid "Enter path to jabberd14 spool dir"
msgstr "Dinez l' tchimin viè l' ridant di spool jabberd14"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -760,8 +760,8 @@ msgid "Moderator privileges required"
msgstr "I fåt des priviledjes di moderateu"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "Li JID ~s n' est nén valide"
msgid "Jabber ID ~s is invalid"
msgstr "Li Jabber ID ~s n' est nén valide"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -813,8 +813,8 @@ msgid "No limit"
msgstr "Pont d' limite"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "Mostrer les vraiys JIDs a"
msgid "Present real Jabber IDs to"
msgstr "Mostrer les vraiys Jabber IDs a"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -958,9 +958,9 @@ msgid "Subscriber Address"
msgstr "Adresse di l' abouné"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
"Permete ki ci JID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"
"Permete ki ci Jabber ID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1445,7 +1445,7 @@ msgid "CPU Time:"
msgstr "Tins CPU:"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "Transaccions evoyeyes:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -14,7 +14,7 @@
{"Administrator privileges required","需要管理员权限"}.
{"A friendly name for the node","该节点的友好名称"}.
{"All activity","所有活动"}.
{"Allow this JID to subscribe to this pubsub node?","允许该JID订阅该pubsub节点?"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","允许该JID订阅该pubsub节点?"}.
{"Allow users to change subject","允许用户更改主题"}.
{"Allow users to query other users","允许用户查询其它用户"}.
{"Allow users to send invites","允许用户发送邀请"}.
@ -80,8 +80,8 @@
{"Enter list of {Module, [Options]}","请输入{模块, [选项]}列表"}.
{"Enter nickname you want to register","请输入您想要注册的昵称"}.
{"Enter path to backup file","请输入备份文件的路径"}.
{"Enter path to jabberd1.4 spool dir","请输入jabberd1.4 spool目录的路径"}.
{"Enter path to jabberd1.4 spool file","请输入jabberd1.4 spool文件的路径"}.
{"Enter path to jabberd14 spool dir","请输入jabberd14 spool目录的路径"}.
{"Enter path to jabberd14 spool file","请输入jabberd14 spool文件的路径"}.
{"Enter path to text file","请输入文本文件的路径"}.
{"Enter username and encodings you wish to use for connecting to IRC servers","请输入您想使用的用来连接到IRC服务器的用户名和编码"}.
{"Erlang Jabber Server","Erlang Jabber 服务器"}.
@ -113,7 +113,7 @@
{"Import File","导入文件"}.
{"Import User from File at ","导入用户的文件位于 "}.
{"Import Users from Dir at ","导入用户的目录位于 "}.
{"Import Users From jabberd 1.4 Spool Files","从Jabberd 1.4 Spool文件导入用户"}.
{"Import Users From jabberd14 Spool Files","从Jabberd 1.4 Spool文件导入用户"}.
{"Improper message type","消息类型不恰当"}.
{"Incorrect password","密码不正确"}.
{"Invalid affiliation: ~s","无效加入: ~s"}.
@ -127,7 +127,7 @@
{"It is not allowed to send private messages","不允许发送私聊消息"}.
{"Jabber ID","Jabber ID"}.
{"January","一月"}.
{"JID ~s is invalid","JID ~s无效"}.
{"Jabber ID ~s is invalid","JID ~s无效"}.
{"joins the room","加入房间"}.
{"July","七月"}.
{"June","六月"}.
@ -219,7 +219,7 @@
{"Ping","Ping"}.
{"Pong","Pong"}.
{"Port","端口"}.
{"Present real JIDs to","将真实JID显示给"}.
{"Present real Jabber IDs to","将真实JID显示给"}.
{"private, ","保密"}.
{"Publish-Subscribe","发布-订阅"}.
{"PubSub subscriber request","PubSub订阅人请求"}.
@ -307,7 +307,7 @@
{"To","到"}.
{"Traffic rate limit is exceeded","已经超过传输率限制"}.
{"Transactions Aborted:","取消的事务:"}.
{"Transactions Commited:","提交的事务:"}.
{"Transactions Committed:","提交的事务:"}.
{"Transactions Logged:","记入日志的事务:"}.
{"Transactions Restarted:","重启的事务:"}.
{"Tuesday","星期二"}.

View File

@ -225,7 +225,7 @@ msgid "Backup Management"
msgstr "备份管理"
#: mod_configure.erl:534
msgid "Import Users From jabberd 1.4 Spool Files"
msgid "Import Users From jabberd14 Spool Files"
msgstr "从Jabberd 1.4 Spool文件导入用户"
#: mod_configure.erl:649
@ -310,16 +310,16 @@ msgid "Import User from File at "
msgstr "导入用户的文件位于 "
#: mod_configure.erl:980
msgid "Enter path to jabberd1.4 spool file"
msgstr "请输入jabberd1.4 spool文件的路径"
msgid "Enter path to jabberd14 spool file"
msgstr "请输入jabberd14 spool文件的路径"
#: mod_configure.erl:990
msgid "Import Users from Dir at "
msgstr "导入用户的目录位于 "
#: mod_configure.erl:994
msgid "Enter path to jabberd1.4 spool dir"
msgstr "请输入jabberd1.4 spool目录的路径"
msgid "Enter path to jabberd14 spool dir"
msgstr "请输入jabberd14 spool目录的路径"
#: mod_configure.erl:995
msgid "Path to Dir"
@ -743,8 +743,8 @@ msgid "Moderator privileges required"
msgstr "需要调解人权限"
#: mod_muc/mod_muc_room.erl:2198
msgid "JID ~s is invalid"
msgstr "JID ~s无效"
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s无效"
#: mod_muc/mod_muc_room.erl:2212
msgid "Nickname ~s does not exist in the room"
@ -796,8 +796,8 @@ msgid "No limit"
msgstr "不限"
#: mod_muc/mod_muc_room.erl:2733
msgid "Present real JIDs to"
msgstr "将真实JID显示给"
msgid "Present real Jabber IDs to"
msgstr "将真实Jabber ID显示给"
#: mod_muc/mod_muc_room.erl:2741
msgid "moderators only"
@ -937,8 +937,8 @@ msgid "Subscriber Address"
msgstr "订阅人地址"
#: mod_pubsub/mod_pubsub.erl:1016
msgid "Allow this JID to subscribe to this pubsub node?"
msgstr "允许该JID订阅该pubsub节点?"
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "允许该Jabber ID订阅该pubsub节点?"
#: mod_pubsub/mod_pubsub.erl:2497
msgid "Deliver payloads with event notifications"
@ -1416,7 +1416,7 @@ msgid "CPU Time:"
msgstr "CPU时间"
#: web/ejabberd_web_admin.erl:1874
msgid "Transactions Commited:"
msgid "Transactions Committed:"
msgstr "提交的事务:"
#: web/ejabberd_web_admin.erl:1877

View File

@ -23,7 +23,7 @@ $(OUTDIR)\tls.beam : tls.erl
erlc -W $(EFLAGS) -o $(OUTDIR) tls.erl
CC=cl.exe
CC_FLAGS=-nologo -D__WIN32__ -DWIN32 -DWINDOWS -D_WIN32 -DNT -MD -Ox -I"$(ERLANG_DIR)\usr\include" -I"$(EI_DIR)\include" -I"$(OPENSSL_DIR)\include"
CC_FLAGS=-nologo -D__WIN32__ -DWIN32 -DWINDOWS -D_WIN32 -DNT -MD -Ox -I"$(ERLANG_DIR)\usr\include" -I"$(EI_DIR)\include" -I"$(OPENSSL_DIR)\include" -I"."
LD=link.exe
LD_FLAGS=-release -nologo -incremental:no -dll "$(EI_DIR)\lib\ei_md.lib" "$(EI_DIR)\lib\erl_interface_md.lib" "$(OPENSSL_DIR)\lib\VC\ssleay32MD.lib" "$(OPENSSL_DIR)\lib\VC\libeay32MD.lib" MSVCRT.LIB kernel32.lib advapi32.lib gdi32.lib user32.lib comctl32.lib comdlg32.lib shell32.lib

232
src/tls/stdint.h Executable file
View File

@ -0,0 +1,232 @@
// ISO C9x compliant stdint.h for Microsoft Visual Studio
// Based on ISO/IEC 9899:TC2 Committee draft (May 6, 2005) WG14/N1124
//
// Copyright (c) 2006-2008 Alexander Chemeris
//
// Redistribution and use in source and binary forms, with or without
// modification, are permitted provided that the following conditions are met:
//
// 1. Redistributions of source code must retain the above copyright notice,
// this list of conditions and the following disclaimer.
//
// 2. Redistributions in binary form must reproduce the above copyright
// notice, this list of conditions and the following disclaimer in the
// documentation and/or other materials provided with the distribution.
//
// 3. The name of the author may be used to endorse or promote products
// derived from this software without specific prior written permission.
//
// THIS SOFTWARE IS PROVIDED BY THE AUTHOR ``AS IS'' AND ANY EXPRESS OR IMPLIED
// WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF
// MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO
// EVENT SHALL THE AUTHOR BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL,
// SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO,
// PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS;
// OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY,
// WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR
// OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF
// ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
//
///////////////////////////////////////////////////////////////////////////////
#ifndef _MSC_VER // [
#error "Use this header only with Microsoft Visual C++ compilers!"
#endif // _MSC_VER ]
#ifndef _MSC_STDINT_H_ // [
#define _MSC_STDINT_H_
#if _MSC_VER > 1000
#pragma once
#endif
#include <limits.h>
// For Visual Studio 6 in C++ mode wrap <wchar.h> include with 'extern "C++" {}'
// or compiler give many errors like this:
// error C2733: second C linkage of overloaded function 'wmemchr' not allowed
#if (_MSC_VER < 1300) && defined(__cplusplus)
extern "C++" {
#endif
# include <wchar.h>
#if (_MSC_VER < 1300) && defined(__cplusplus)
}
#endif
// Define _W64 macros to mark types changing their size, like intptr_t.
#ifndef _W64
# if !defined(__midl) && (defined(_X86_) || defined(_M_IX86)) && _MSC_VER >= 1300
# define _W64 __w64
# else
# define _W64
# endif
#endif
// 7.18.1 Integer types
// 7.18.1.1 Exact-width integer types
typedef __int8 int8_t;
typedef __int16 int16_t;
typedef __int32 int32_t;
typedef __int64 int64_t;
typedef unsigned __int8 uint8_t;
typedef unsigned __int16 uint16_t;
typedef unsigned __int32 uint32_t;
typedef unsigned __int64 uint64_t;
// 7.18.1.2 Minimum-width integer types
typedef int8_t int_least8_t;
typedef int16_t int_least16_t;
typedef int32_t int_least32_t;
typedef int64_t int_least64_t;
typedef uint8_t uint_least8_t;
typedef uint16_t uint_least16_t;
typedef uint32_t uint_least32_t;
typedef uint64_t uint_least64_t;
// 7.18.1.3 Fastest minimum-width integer types
typedef int8_t int_fast8_t;
typedef int16_t int_fast16_t;
typedef int32_t int_fast32_t;
typedef int64_t int_fast64_t;
typedef uint8_t uint_fast8_t;
typedef uint16_t uint_fast16_t;
typedef uint32_t uint_fast32_t;
typedef uint64_t uint_fast64_t;
// 7.18.1.4 Integer types capable of holding object pointers
#ifdef _WIN64 // [
typedef __int64 intptr_t;
typedef unsigned __int64 uintptr_t;
#else // _WIN64 ][
typedef _W64 int intptr_t;
typedef _W64 unsigned int uintptr_t;
#endif // _WIN64 ]
// 7.18.1.5 Greatest-width integer types
typedef int64_t intmax_t;
typedef uint64_t uintmax_t;
// 7.18.2 Limits of specified-width integer types
#if !defined(__cplusplus) || defined(__STDC_LIMIT_MACROS) // [ See footnote 220 at page 257 and footnote 221 at page 259
// 7.18.2.1 Limits of exact-width integer types
#define INT8_MIN ((int8_t)_I8_MIN)
#define INT8_MAX _I8_MAX
#define INT16_MIN ((int16_t)_I16_MIN)
#define INT16_MAX _I16_MAX
#define INT32_MIN ((int32_t)_I32_MIN)
#define INT32_MAX _I32_MAX
#define INT64_MIN ((int64_t)_I64_MIN)
#define INT64_MAX _I64_MAX
#define UINT8_MAX _UI8_MAX
#define UINT16_MAX _UI16_MAX
#define UINT32_MAX _UI32_MAX
#define UINT64_MAX _UI64_MAX
// 7.18.2.2 Limits of minimum-width integer types
#define INT_LEAST8_MIN INT8_MIN
#define INT_LEAST8_MAX INT8_MAX
#define INT_LEAST16_MIN INT16_MIN
#define INT_LEAST16_MAX INT16_MAX
#define INT_LEAST32_MIN INT32_MIN
#define INT_LEAST32_MAX INT32_MAX
#define INT_LEAST64_MIN INT64_MIN
#define INT_LEAST64_MAX INT64_MAX
#define UINT_LEAST8_MAX UINT8_MAX
#define UINT_LEAST16_MAX UINT16_MAX
#define UINT_LEAST32_MAX UINT32_MAX
#define UINT_LEAST64_MAX UINT64_MAX
// 7.18.2.3 Limits of fastest minimum-width integer types
#define INT_FAST8_MIN INT8_MIN
#define INT_FAST8_MAX INT8_MAX
#define INT_FAST16_MIN INT16_MIN
#define INT_FAST16_MAX INT16_MAX
#define INT_FAST32_MIN INT32_MIN
#define INT_FAST32_MAX INT32_MAX
#define INT_FAST64_MIN INT64_MIN
#define INT_FAST64_MAX INT64_MAX
#define UINT_FAST8_MAX UINT8_MAX
#define UINT_FAST16_MAX UINT16_MAX
#define UINT_FAST32_MAX UINT32_MAX
#define UINT_FAST64_MAX UINT64_MAX
// 7.18.2.4 Limits of integer types capable of holding object pointers
#ifdef _WIN64 // [
# define INTPTR_MIN INT64_MIN
# define INTPTR_MAX INT64_MAX
# define UINTPTR_MAX UINT64_MAX
#else // _WIN64 ][
# define INTPTR_MIN INT32_MIN
# define INTPTR_MAX INT32_MAX
# define UINTPTR_MAX UINT32_MAX
#endif // _WIN64 ]
// 7.18.2.5 Limits of greatest-width integer types
#define INTMAX_MIN INT64_MIN
#define INTMAX_MAX INT64_MAX
#define UINTMAX_MAX UINT64_MAX
// 7.18.3 Limits of other integer types
#ifdef _WIN64 // [
# define PTRDIFF_MIN _I64_MIN
# define PTRDIFF_MAX _I64_MAX
#else // _WIN64 ][
# define PTRDIFF_MIN _I32_MIN
# define PTRDIFF_MAX _I32_MAX
#endif // _WIN64 ]
#define SIG_ATOMIC_MIN INT_MIN
#define SIG_ATOMIC_MAX INT_MAX
#ifndef SIZE_MAX // [
# ifdef _WIN64 // [
# define SIZE_MAX _UI64_MAX
# else // _WIN64 ][
# define SIZE_MAX _UI32_MAX
# endif // _WIN64 ]
#endif // SIZE_MAX ]
// WCHAR_MIN and WCHAR_MAX are also defined in <wchar.h>
#ifndef WCHAR_MIN // [
# define WCHAR_MIN 0
#endif // WCHAR_MIN ]
#ifndef WCHAR_MAX // [
# define WCHAR_MAX _UI16_MAX
#endif // WCHAR_MAX ]
#define WINT_MIN 0
#define WINT_MAX _UI16_MAX
#endif // __STDC_LIMIT_MACROS ]
// 7.18.4 Limits of other integer types
#if !defined(__cplusplus) || defined(__STDC_CONSTANT_MACROS) // [ See footnote 224 at page 260
// 7.18.4.1 Macros for minimum-width integer constants
#define INT8_C(val) val##i8
#define INT16_C(val) val##i16
#define INT32_C(val) val##i32
#define INT64_C(val) val##i64
#define UINT8_C(val) val##ui8
#define UINT16_C(val) val##ui16
#define UINT32_C(val) val##ui32
#define UINT64_C(val) val##ui64
// 7.18.4.2 Macros for greatest-width integer constants
#define INTMAX_C INT64_C
#define UINTMAX_C UINT64_C
#endif // __STDC_CONSTANT_MACROS ]
#endif // _MSC_STDINT_H_ ]

View File

@ -25,10 +25,8 @@
#include <openssl/err.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <unistd.h>
#include <stdint.h>
#define BUF_SIZE 1024
typedef struct {

View File

@ -161,7 +161,7 @@ make_xhtml(Els, Host, Node, Lang) ->
[?XAE('div',
[#xmlattr{name = 'id', value = "header"}],
[?XE('h1',
[?ACT("/admin/", "Administration")]
[?ACT("/admin/", "ejabberd Web Admin")]
)]),
?XAE('div',
[#xmlattr{name = 'id', value = "navigation"}],
@ -316,6 +316,7 @@ ul li #navhead a, ul li #navheadsub a, ul li #navheadsubsub a {
text-align: center;
border-top: 2px solid #d47911;
border-bottom: 1px solid #d47911;
background: #FED6A6;
}
#navheadsub, #navitemsub {
@ -371,10 +372,6 @@ textarea {
border: 1px solid #d6760e;
color: #723202;
background-color: #fff2e8;
vertical-align: middle;
margin-top: 7px;
margin-bottom: 5px;
padding: 0.1em;
}
select {
@ -542,6 +539,19 @@ div.guidelink {
padding-right: 1em;
}
table.withtextareas>tbody>tr>td {
vertical-align: top;
}
p.result {
border: 1px;
border-style: dashed;
border-color: #FE8A02;
padding: 1em;
margin-right: 1em;
background: #FFE3C9;
}
*.alignright {
font-size: 10pt;
}
@ -561,27 +571,26 @@ favicon() ->
logo() ->
jlib:decode_base64(
"iVBORw0KGgoAAAANSUhEUgAAAVcAAAA3CAMAAACPbPnEAAAAYFBMVEX///8C"
"AgJyMgL+vm7Wdg7+igL+/v7+slb+qkb+4sr+ojP+nir+lhr+1qb+khL+wnb+"
"wn7+zpb+jgb+yoz+xo7+tmL+pj7+mib+jg7+5sb+rlL+rkr+mh7+tl7+2q7+"
"umpJ0uikAAAAAXRSTlMAQObYZgAAAAFiS0dEAIgFHUgAAAAJcEhZcwAACxIA"
"AAsSAdLdfvwAAAAHdElNRQfUBAUJBhWzc9qJAAABQ0lEQVR42u2bXU/CQBBF"
"UUZFURAU5Ev4//+S3Ow+tFl3s6adtE3Oebghzc4DJ/Nw04WZgQczexJkz4lX"
"vOKVxKuXV6APTCFXAq94xSte8ermFYbrA6+ilemZRxGz+fxBxMydL0/Vz5an"
"vkUrPfb1IPCKV7ziFa9uXsG/DzyLPz7ndjS3tc3tSbcwPdl9tmYq3dHmk9x3"
"r8mtiM11KfCKV7ziFa9uXmEc7wf+u6+5TtlXf62fKu9rl3wX9ibsLPCKV7zi"
"Fa9uXmF87wf67aBT6a+hp4bOehFxU0/CbgKveMUrXvHq5hXG+vuBcpss75zH"
"/VZ5X7vcb4W7q5A/wvbCXoTNhX0JvOIVr3jFq5tX4P8Fw2V6g7UQ9itsLeKm"
"fgi84hWveMWrm1egDwyX6Q3WTtinsI2wq7CjwCte8YpXvLp5BQ/utIiGbwh9"
"RAEAAAAASUVORK5CYII=").
"iVBORw0KGgoAAAANSUhEUgAAAVcAAAA3CAMAAACPbPnEAAAAAXNSR0IArs4c"
"6QAAAEtQTFRFcTIA1XcE/YsA/40E/pIH/JYc/5kg/54i/KIu/6U6/apE/61H"
"/61P/bFX/7Vh/bda/rpq/L5s/8J2/cJ8/8qI/86Y/9aj/9mt/+bJ7EGiPwAA"
"AZRJREFUeNrt28lug0AQhGHajrPv+/s/aVwpDlgE0gQ3tqO/DhxihMg33VJ7"
"JmmCVKSJlVJ4bZQ93Jl/zjJv+8tzcMUVV1xxLXIlRfPAZptYrbf5YeW618PW"
"yvG8w/g9ZwquuJ6Y6+bbdY0rrifhSmrmgUulVXbVDq3H39Zy6Cf9+8c7JNM/"
"mXeY8+SMRmuIK6644oprkSupmQdulLhQdup1qJKmrmWmVpb5NN9LUyddu7nn"
"LYkrrrjiimuVK6mZB+6VuFbiXJk8v/bnv0PVa+Yd5tdr/x7vCfqbgPsfV1xx"
"xRXXKldSMw+8KPGgxJWyU7WZE538p0vOr/lOm/q7dPf+bOVKvVXiUcEVV1xx"
"xbXMldTMA29KPCtxp7T6XpvxE6/9nm/l987mnG9l5u/8jO4Ot9uTEq8Krrji"
"iiuuZa6kZh74UFpli3sO61btMfyHyWGv/RMs7wB67ne32/BdwRVXXHHFtcyV"
"1MwDn0qrbHHvyPT/Dsarla/R/1GpQydYPhf0bqC/A7jz7YkrrrjiimuVK6nI"
"F5dWoNvcLcs/AAAAAElFTkSuQmCC").
logo_fill() ->
jlib:decode_base64(
"iVBORw0KGgoAAAANSUhEUgAAAAYAAAA3BAMAAADdxCZzAAAAHlBMVEXWdg7+"
"igL+jg7+khL+nir+rkr+umr+yoz+1qb+5sbOf9L8AAAACXBIWXMAAA9hAAAP"
"YQGoP6dpAAAAQUlEQVQI12XDSxHAIBAFQT6BJEcsYAELWMACFtYCFnAL7zxd"
"1c5dvhSU2BpKqBXl6R0ljYGS50R5zVC+tVD+vfE6YyUexE9x7g4AAAAASUVO"
"RK5CYII=").
"iVBORw0KGgoAAAANSUhEUgAAAAYAAAA3BAMAAADdxCZzAAAAAXNSR0IArs4c"
"6QAAAB5QTFRF1nYO/ooC/o4O/pIS/p4q/q5K/rpq/sqM/tam/ubGzn/S/AAA"
"AEFJREFUCNdlw0sRwCAQBUE+gSRHLGABC1jAAhbWAhZwC+88XdXOXb4UlFAr"
"SmwN5ekdJY2BkudEec1QvrVQ/r3xOlK9HsTvertmAAAAAElFTkSuQmCC").
process_admin(global,
@ -638,6 +647,7 @@ process_admin(Host,
#request{path = ["acls-raw"],
q = Query,
lang = Lang}) ->
Res = case lists:keysearch("acls", 1, Query) of
{value, {_, String}} ->
case erl_scan:string(String) of
@ -659,22 +669,17 @@ process_admin(Host,
_ ->
nothing
end,
ACLs = lists:flatten(
io_lib:format(
"~p.", [lists:keysort(
2, ets:select(acl, [{{acl, {'$1', Host}, '$2'},
[], [{{acl, '$1', '$2'}}]}]))])),
ACLs = lists:keysort(2, ets:select(acl, [{{acl, {'$1', Host}, '$2'},
[], [{{acl, '$1', '$2'}}]}])),
{NumLines, ACLsP} = term_to_paragraph(ACLs, 80),
make_xhtml(?H1GL(?T("Access Control Lists"), "ACLDefinition", "ACL Definition") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
[?XAC('textarea', [#xmlattr{name = 'name', value = "acls"},
#xmlattr{name = 'rows', value = "16"},
#xmlattr{name = 'cols', value = "80"}],
ACLs),
[?TEXTAREA("acls", integer_to_list(lists:max([16, NumLines])), "80", ACLsP++"."),
?BR,
?INPUTT("submit", "submit", "Submit")
])
@ -709,8 +714,8 @@ process_admin(Host,
[], [{{acl, '$1', '$2'}}]}])),
make_xhtml(?H1GL(?T("Access Control Lists"), "ACLDefinition", "ACL Definition") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XE('p', [?ACT("../acls-raw/", "Raw")])] ++
@ -769,23 +774,19 @@ process_admin(Host,
nothing
end,
Access =
lists:flatten(
io_lib:format(
"~p.", [ets:select(config,
ets:select(config,
[{{config, {access, '$1', Host}, '$2'},
[],
[{{access, '$1', '$2'}}]}])])),
[{{access, '$1', '$2'}}]}]),
{NumLines, AccessP} = term_to_paragraph(Access, 80),
make_xhtml(?H1GL(?T("Access Rules"), "AccessRights", "Access Rights") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
[?XAC('textarea', [#xmlattr{name = 'name', value = "access"},
#xmlattr{name = 'rows', value = "16"},
#xmlattr{name = 'cols', value = "80"}],
Access),
[?TEXTAREA("access", integer_to_list(lists:max([16, NumLines])), "80", AccessP++"."),
?BR,
?INPUTT("submit", "submit", "Submit")
])
@ -815,8 +816,8 @@ process_admin(Host,
[{{access, '$1', '$2'}}]}]),
make_xhtml(?H1GL(?T("Access Rules"), "AccessRights", "Access Rights") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XE('p', [?ACT("../access-raw/", "Raw")])] ++
@ -855,8 +856,8 @@ process_admin(Host,
make_xhtml([?XC('h1',
io_lib:format(?T("~s access rule configuration"), [SName]))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
@ -1059,12 +1060,20 @@ acl_spec_select(ID, Opt) ->
node_regexp, user_glob, server_glob, node_glob, all, raw]))]).
%% @spec (T::any()) -> StringLine::string()
term_to_string(T) ->
StringParagraph = lists:flatten(io_lib:format("~1000000p", [T])),
%% Remove from the string all the carriage returns characters
{ok, StringLine, _} = regexp:gsub(StringParagraph, "\\n ", ""),
StringLine.
%% @spec (T::any()) -> {NumLines::integer(), Paragraph::string()}
term_to_paragraph(T, Cols) ->
Paragraph = erl_prettypr:format(erl_syntax:abstract(T), [{paper, Cols}]),
{ok, FieldList} = regexp:split(Paragraph, "\n"),
NumLines = length(FieldList),
{NumLines, Paragraph}.
term_to_id(T) ->
jlib:encode_base64(binary_to_list(term_to_binary(T))).
@ -1232,7 +1241,7 @@ access_rule_to_xhtml(Rules) ->
fun({Access, ACL} = _Rule) ->
SAccess = element_to_list(Access),
SACL = atom_to_list(ACL),
SAccess ++ "\t" ++ SACL ++ "\n"
SAccess ++ "\s\t" ++ SACL ++ "\n"
end, Rules),
?XAC('textarea', [{"name", "rules"},
{"rows", "16"},
@ -1309,8 +1318,8 @@ list_users(Host, Query, Lang, URLFunc) ->
end, lists:seq(1, N, M))
end,
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
@ -1506,8 +1515,8 @@ user_info(User, Server, Query, Lang) ->
[User, Server, Lang]),
[?XC('h1', ?T("User ") ++ us_to_list(US))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
@ -1674,8 +1683,8 @@ get_node(global, Node, [], Query, Lang) ->
MenuItems2 = make_menu_items(global, Node, Base, Lang),
[?XC('h1', ?T("Node ") ++ atom_to_list(Node))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XE('ul',
@ -1704,7 +1713,10 @@ get_node(global, Node, ["db"], Query, Lang) ->
{badrpc, _Reason} ->
[?XCT('h1', "RPC Call Error")];
Tables ->
node_db_parse_query(Node, Tables, Query),
ResS = case node_db_parse_query(Node, Tables, Query) of
nothing -> [];
ok -> [?XREST("Submitted")]
end,
STables = lists:sort(Tables),
Rows = lists:map(
fun(Table) ->
@ -1741,7 +1753,7 @@ get_node(global, Node, ["db"], Query, Lang) ->
])
end, STables),
[?XC('h1', ?T("Database Tables at ") ++ atom_to_list(Node))] ++
[?CT("Submitted"), ?P] ++
ResS ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
[?XAE('table', [],
[?XE('thead',
@ -1763,10 +1775,15 @@ get_node(global, Node, ["db"], Query, Lang) ->
end;
get_node(global, Node, ["backup"], Query, Lang) ->
_Res = node_backup_parse_query(Node, Query),
[?XC('h1', ?T("Backup of ") ++ atom_to_list(Node)),
?XCT('p', "Remark 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."),
?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
ResS = case node_backup_parse_query(Node, Query) of
nothing -> [];
ok -> [?XREST("Submitted")];
{error, Error} -> [?XRES(?T("Error") ++": " ++ io_lib:format("~p", [Error]))]
end,
[?XC('h1', ?T("Backup of ") ++ atom_to_list(Node))] ++
ResS ++
[?XCT('p', "Remark 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."),
?XAE('form', [#xmlattr{name = 'action', value = <<>>}, #xmlattr{name = 'method', value = <<"post">>}],
[?XAE('table', [],
[?XE('tbody',
[?XE('tr',
@ -1815,16 +1832,22 @@ get_node(global, Node, ["ports"], Query, Lang) ->
ok;
{'EXIT', _Reason} ->
error;
{is_added, ok} ->
ok;
{is_added, {error, Reason}} ->
{error, io_lib:format("~p", [Reason])};
_ ->
nothing
end,
%% TODO: This sorting does not work when [{{Port, IP}, Module, Opts}]
NewPorts = lists:sort(
rpc:call(Node, ejabberd_config, get_local_option, [listen])),
H1String = ?T("Listened Ports at ") ++ atom_to_list(Node),
?H1GL(H1String, "listened", "Listening Ports") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
{error, ReasonT} -> [?XRES(?T("Error") ++ ": " ++ ReasonT)];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
@ -1847,8 +1870,8 @@ get_node(Host, Node, ["modules"], Query, Lang) when is_list(Host) ->
H1String = ?T("Modules at ") ++ atom_to_list(Node),
?H1GL(H1String, "modoverview", "Modules Overview") ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
@ -1861,7 +1884,7 @@ get_node(global, Node, ["stats"], _Query, Lang) ->
CPUTime = rpc:call(Node, erlang, statistics, [runtime]),
CPUTimeS = io_lib:format("~.3f", [element(1, CPUTime)/1000]),
OnlineUsers = mnesia:table_info(session, size),
TransactionsCommited =
TransactionsCommitted =
rpc:call(Node, mnesia, system_info, [transaction_commits]),
TransactionsAborted =
rpc:call(Node, mnesia, system_info, [transaction_failures]),
@ -1882,9 +1905,9 @@ get_node(global, Node, ["stats"], _Query, Lang) ->
?XE('tr', [?XCT('td', "Online Users:"),
?XAC('td', [#xmlattr{name = 'class', value = "alignright"}],
integer_to_list(OnlineUsers))]),
?XE('tr', [?XCT('td', "Transactions Commited:"),
?XE('tr', [?XCT('td', "Transactions Committed:"),
?XAC('td', [#xmlattr{name = 'class', value = "alignright"}],
integer_to_list(TransactionsCommited))]),
integer_to_list(TransactionsCommitted))]),
?XE('tr', [?XCT('td', "Transactions Aborted:"),
?XAC('td', [#xmlattr{name = 'class', value = "alignright"}],
integer_to_list(TransactionsAborted))]),
@ -1916,17 +1939,19 @@ get_node(global, Node, ["update"], Query, Lang) ->
FmtLowLevelScript = ?XC('pre', io_lib:format("~p", [LowLevelScript])),
[?XC('h1', ?T("Update ") ++ atom_to_list(Node))] ++
case Res of
ok -> [?CT("Submitted"), ?P];
error -> [?CT("Bad format"), ?P];
ok -> [?XREST("Submitted")];
error -> [?XREST("Bad format")];
nothing -> []
end ++
[?XAE('form', [#xmlattr{name = 'action', value = ""}, #xmlattr{name = 'method', value = "post"}],
[?INPUTT("submit", "update", "Update"),
[
?XCT('h2', "Update plan"),
?XCT('h3', "Updated modules"), Mods,
?XCT('h3', "Modified modules"), Mods,
?XCT('h3', "Update script"), FmtScript,
?XCT('h3', "Low level update script"), FmtLowLevelScript,
?XCT('h3', "Script check"), ?C(atom_to_list(Check))])
?XCT('h3', "Script check"), ?XC("pre", atom_to_list(Check)),
?INPUTT("submit", "update", "Update")
])
];
get_node(Host, Node, NPath, Query, Lang) ->
@ -1981,6 +2006,8 @@ db_storage_select(ID, Opt, Lang) ->
{disc_only_copies, "Disc only copy"},
{unknown, "Remote copy"}])).
node_db_parse_query(_Node, _Tables, [{nokey,[]}]) ->
nothing;
node_db_parse_query(Node, Tables, Query) ->
lists:foreach(
fun(Table) ->
@ -2014,6 +2041,8 @@ node_db_parse_query(Node, Tables, Query) ->
end, Tables),
ok.
node_backup_parse_query(_Node, [{nokey,[]}]) ->
nothing;
node_backup_parse_query(Node, Query) ->
lists:foldl(
fun(Action, nothing) ->
@ -2040,15 +2069,15 @@ node_backup_parse_query(Node, Query) ->
load_textfile, [Path])
end,
case Res of
{error, _Reason} ->
error;
{badrpc, _Reason} ->
error;
{error, Reason} ->
{error, Reason};
{badrpc, Reason} ->
{badrpc, Reason};
_ ->
ok
end;
_ ->
error
OtherError ->
{error, OtherError}
end;
_ ->
nothing
@ -2059,62 +2088,81 @@ node_backup_parse_query(Node, Query) ->
node_ports_to_xhtml(Ports, Lang) ->
?XAE('table', [],
?XAE('table', [#xmlattr{name = 'class', value = <<"withtextareas">>}],
[?XE('thead',
[?XE('tr',
[?XCT('td', "Port"),
?XCT('td', "IP"),
?XCT('td', "Module"),
?XCT('td', "Options")
])]),
?XE('tbody',
lists:map(
fun({Port, Module, Opts} = _E) ->
SPort = integer_to_list(Port),
fun({PortIP, Module, Opts} = _E) ->
{_Port, SPort, _TIP, SIP, SSPort, OptsClean} =
get_port_data(PortIP, Opts),
SModule = atom_to_list(Module),
{NumLines, SOptsClean} = term_to_paragraph(OptsClean, 40),
%%ID = term_to_id(E),
?XE('tr',
[?XC('td', SPort),
?XE('td', [?INPUT("text", "module" ++ SPort,
SModule)]),
?XE('td', [?INPUTS("text", "opts" ++ SPort,
term_to_string(Opts), "40")]),
?XE('td', [?INPUTT("submit", "add" ++ SPort,
[?XAE('td', [#xmlattr{name = 'size', value = <<"6">>}], [?C(SPort)]),
?XAE('td', [#xmlattr{name = 'size', value = <<"15">>}], [?C(SIP)]),
?XE('td', [?INPUTS("text", "module" ++ SSPort,
SModule, "15")]),
?XE('td', [?TEXTAREA("opts" ++ SSPort, integer_to_list(NumLines), "35", SOptsClean)]),
?XE('td', [?INPUTT("submit", "add" ++ SSPort,
"Update")]),
?XE('td', [?INPUTT("submit", "delete" ++ SPort,
?XE('td', [?INPUTT("submit", "delete" ++ SSPort,
"Delete")])
]
)
end, Ports) ++
[?XE('tr',
[?XE('td', [?INPUTS("text", "portnew", "", "6")]),
?XE('td', [?INPUT("text", "modulenew", "")]),
?XE('td', [?INPUTS("text", "optsnew", "", "40")]),
?XAE('td', [#xmlattr{name = 'colspan', value = "2"}],
?XE('td', [?INPUTS("text", "ipnew", "0.0.0.0", "15")]),
?XE('td', [?INPUTS("text", "modulenew", "", "15")]),
?XE('td', [?TEXTAREA("optsnew", "2", "35", "[]")]),
?XAE('td', [{"colspan", "2"}],
[?INPUTT("submit", "addnew", "Add New")])
]
)]
)]).
get_port_data(PortIP, Opts) ->
{Port, IPT, IPS, _IPV, OptsClean} = ejabberd_listener:parse_listener_portip(PortIP, Opts),
SPort = io_lib:format("~p", [Port]),
SSPort = lists:flatten(
lists:map(
fun(N) -> io_lib:format("~.16b", [N]) end,
binary_to_list(crypto:md5(SPort++IPS)))),
{Port, SPort, IPT, IPS, SSPort, OptsClean}.
node_ports_parse_query(Node, Ports, Query) ->
lists:foreach(
fun({Port, Module1, _Opts1}) ->
SPort = integer_to_list(Port),
case lists:keysearch("add" ++ SPort, 1, Query) of
fun({PortIP, Module1, Opts1}) ->
{Port, _SPort, TIP, _SIP, SSPort, _OptsClean} =
get_port_data(PortIP, Opts1),
case lists:keysearch("add" ++ SSPort, 1, Query) of
{value, _} ->
PortIP2 = {Port, TIP},
{{value, {_, SModule}}, {value, {_, SOpts}}} =
{lists:keysearch("module" ++ SPort, 1, Query),
lists:keysearch("opts" ++ SPort, 1, Query)},
{lists:keysearch("module" ++ SSPort, 1, Query),
lists:keysearch("opts" ++ SSPort, 1, Query)},
Module = list_to_atom(SModule),
{ok, Tokens, _} = erl_scan:string(SOpts ++ "."),
{ok, Opts} = erl_parse:parse_term(Tokens),
rpc:call(Node, ejabberd_listener, delete_listener, [Port, Module]),
rpc:call(Node, ejabberd_listener, add_listener, [Port, Module, Opts]),
throw(submitted);
rpc:call(Node, ejabberd_listener, delete_listener,
[PortIP2, Module1]),
R=rpc:call(Node, ejabberd_listener, add_listener,
[PortIP2, Module, Opts]),
throw({is_added, R});
_ ->
case lists:keysearch("delete" ++ SPort, 1, Query) of
case lists:keysearch("delete" ++ SSPort, 1, Query) of
{value, _} ->
rpc:call(Node, ejabberd_listener, delete_listener, [Port, Module1]),
rpc:call(Node, ejabberd_listener, delete_listener,
[PortIP, Module1]),
throw(submitted);
_ ->
ok
@ -2124,23 +2172,34 @@ node_ports_parse_query(Node, Ports, Query) ->
case lists:keysearch("addnew", 1, Query) of
{value, _} ->
{{value, {_, SPort}},
{value, {_, STIP}}, %% It is a string that may represent a tuple
{value, {_, SModule}},
{value, {_, SOpts}}} =
{lists:keysearch("portnew", 1, Query),
lists:keysearch("ipnew", 1, Query),
lists:keysearch("modulenew", 1, Query),
lists:keysearch("optsnew", 1, Query)},
Port = list_to_integer(SPort),
{ok, Toks, _} = erl_scan:string(SPort ++ "."),
{ok, Port2} = erl_parse:parse_term(Toks),
{ok, ToksIP, _} = erl_scan:string(STIP ++ "."),
STIP2 = case erl_parse:parse_term(ToksIP) of
{ok, IPTParsed} -> IPTParsed;
{error, _} -> STIP
end,
Module = list_to_atom(SModule),
{ok, Tokens, _} = erl_scan:string(SOpts ++ "."),
{ok, Opts} = erl_parse:parse_term(Tokens),
rpc:call(Node, ejabberd_listener, add_listener, [Port, Module, Opts]),
throw(submitted);
{Port2, _SPort, IP2, _SIP, _SSPort, OptsClean} =
get_port_data({Port2, STIP2}, Opts),
R=rpc:call(Node, ejabberd_listener, add_listener,
[{Port2, IP2}, Module, OptsClean]),
throw({is_added, R});
_ ->
ok
end.
node_modules_to_xhtml(Modules, Lang) ->
?XAE('table', [],
?XAE('table', [#xmlattr{name = 'class', value = <<"withtextareas">>}],
[?XE('thead',
[?XE('tr',
[?XCT('td', "Module"),
@ -2150,11 +2209,11 @@ node_modules_to_xhtml(Modules, Lang) ->
lists:map(
fun({Module, Opts} = _E) ->
SModule = atom_to_list(Module),
{NumLines, SOpts} = term_to_paragraph(Opts, 40),
%%ID = term_to_id(E),
?XE('tr',
[?XC('td', SModule),
?XE('td', [?INPUTS("text", "opts" ++ SModule,
term_to_string(Opts), "40")]),
?XE('td', [?TEXTAREA("opts" ++ SModule, integer_to_list(NumLines), "40", SOpts)]),
?XE('td', [?INPUTT("submit", "restart" ++ SModule,
"Restart")]),
?XE('td', [?INPUTT("submit", "stop" ++ SModule,
@ -2164,8 +2223,8 @@ node_modules_to_xhtml(Modules, Lang) ->
end, Modules) ++
[?XE('tr',
[?XE('td', [?INPUT("text", "modulenew", "")]),
?XE('td', [?INPUTS("text", "optsnew", "", "40")]),
?XAE('td', [#xmlattr{name = 'colspan', value = "2"}],
?XE('td', [?TEXTAREA("optsnew", "2", "40", "[]")]),
?XAE('td', [{"colspan", "2"}],
[?INPUTT("submit", "start", "Start")])
]
)]
@ -2365,11 +2424,11 @@ make_menu_items2(Lang, Deep, {MURI, MName, [Item | Items]}, Res) ->
make_menu_items2(Lang, Deep, {MURI, MName, Items}, Res2).
make_menu_item(header, 1, URI, Name, _Lang) ->
?LI([?XAE('div', [#xmlattr{name = 'id', value = "navhead"}], [?AC(URI, "~ "++Name++" ~")] )]);
?LI([?XAE('div', [#xmlattr{name = 'id', value = <<"navhead">>}], [?AC(URI, Name)] )]);
make_menu_item(header, 2, URI, Name, _Lang) ->
?LI([?XAE('div', [#xmlattr{name = 'id', value = "navheadsub"}], [?AC(URI, "~ "++Name++" ~")] )]);
?LI([?XAE('div', [#xmlattr{name = 'id', value = <<"navheadsub">>}], [?AC(URI, Name)] )]);
make_menu_item(header, 3, URI, Name, _Lang) ->
?LI([?XAE('div', [#xmlattr{name = 'id', value = "navheadsubsub"}], [?AC(URI, "~ "++Name++" ~")] )]);
?LI([?XAE('div', [#xmlattr{name = 'id', value = <<"navheadsubsub">>}], [?AC(URI, Name)] )]);
make_menu_item(item, 1, URI, Name, Lang) ->
?LI([?XAE('div', [#xmlattr{name = 'id', value = "navitem"}], [?ACT(URI, Name)] )]);
make_menu_item(item, 2, URI, Name, Lang) ->

View File

@ -53,13 +53,23 @@
-define(INPUTST(Type, Name, Value, Size), ?INPUT(Type, Name, ?T(Value), Size)).
-define(ACLINPUT(Text), ?XE('td', [?INPUT("text", "value" ++ ID, Text)])).
-define(TEXTAREA(Name, Rows, Cols, Value),
?XAC('textarea', [#xmlattr{name = 'name', value = list_to_binary(Name)},
#xmlattr{name = 'rows', value = list_to_binary(Rows)},
#xmlattr{name = 'cols', value = list_to_binary(Cols)}],
Value)).
%% Build an xmlelement for result
-define(XRES(Text), ?XAC('p', [#xmlattr{name = 'class', value = <<"result">>}], Text)).
-define(XREST(Text), ?XRES(?T(Text))).
%% Guide Link
-define(GL(Ref, Title),
?XAE('div',
[#xmlattr{name = 'class', value = <<"guidelink">>}],
[?XAE('a',
[#xmlattr{name = "href", value = list_to_binary("/admin/doc/guide.html#"++ Ref)},
#xmlattr{name = "target", value = <<"_blank">>}],
[#xmlattr{name = 'href', value = list_to_binary("/admin/doc/guide.html#"++ Ref)},
#xmlattr{name = 'target', value = <<"_blank">>}],
[?C("[Guide: " ++ Title ++ "]")])
])).