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

Merge branch '2.1.x' into mergefix

Conflicts:
	.gitignore
	src/ejabberd.app
	src/ejabberd_c2s.erl
	src/ejabberd_captcha.erl
	src/ejabberd_node_groups.erl
	src/mod_caps.erl
	src/web/ejabberd_http.erl
	src/web/ejabberd_http_bind.erl
This commit is contained in:
Evgeniy Khramtsov 2010-12-14 23:10:08 +09:00
commit 02cfb11a6d
113 changed files with 12492 additions and 4968 deletions

73
.gitignore vendored
View File

@ -1,36 +1,37 @@
Makefile
archives
build/
*.dSYM/
.gitignore
*.so
contrib/extract_translations/extract_translations.beam
doc/contributed_modules.tex
doc/features.aux
doc/features.log
doc/features.out
doc/features.pdf
doc/guide.aux
doc/guide.idx
doc/guide.ilg
doc/guide.ind
doc/guide.log
doc/guide.out
doc/guide.pdf
doc/guide.toc
doc/version.aux
src/*.beam
src/*.so
src/eldap/eldap_filter_yecc.erl
src/XmppAddr.asn1db
src/XmppAddr.erl
src/XmppAddr.hrl
src/config.log
src/config.status
src/eldap/ELDAPv3.asn1db
src/eldap/ELDAPv3.beam
src/eldap/ELDAPv3.erl
src/eldap/ELDAPv3.hrl
src/epam
src/ejabberdctl.example
src/ejabberd.init
#
# You can add personal rules in your file .git/info/exclude
*.swp
*~
/contrib/extract_translations/extract_translations.beam
/doc/*.aux
/doc/*.haux
/doc/*.html
/doc/*.htoc
/doc/*.idx
/doc/*.ilg
/doc/*.ind
/doc/*.log
/doc/*.out
/doc/*.pdf
/doc/*.toc
/doc/contributed_modules.tex
/doc/version.tex
/src/*.beam
/src/*.so
/src/*/*.beam
/src/*/Makefile
/src/Makefile
/src/XmppAddr.asn1db
/src/XmppAddr.erl
/src/XmppAddr.hrl
/src/aclocal.m4
/src/autom4te.cache
/src/config.log
/src/config.status
/src/ejabberd.init
/src/ejabberdctl.example
/src/eldap/ELDAPv3.asn1db
/src/eldap/ELDAPv3.erl
/src/eldap/ELDAPv3.hrl
/src/eldap/eldap_filter_yecc.erl
/src/epam

3
README
View File

@ -9,7 +9,8 @@ To compile ejabberd you need:
- GNU Make
- GCC
- Libexpat 1.95 or higher
- Erlang/OTP R10B-9 or higher. Recommended versions: R12B-5 and R13B04
- Erlang/OTP R10B-9 or higher. Recommended: R12B-5 and R13B04.
Avoid R14A and R14B.
- OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
- Zlib 1.2.3 or higher, for Stream Compression support
(XEP-0138). Optional.

View File

@ -2,7 +2,7 @@
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Ejabberd 2.1.x Developers Guide
<TITLE>Ejabberd 2.1.6 Developers Guide
</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII">
@ -49,7 +49,7 @@ TD P{margin:0px;}
<!--HEVEA command line is: /usr/bin/hevea -fix -pedantic dev.tex -->
<!--CUT DEF section 1 --><P><A NAME="titlepage"></A>
</P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain">Ejabberd 2.1.x Developers Guide</H1><H3 CLASS="titlerest">Alexey Shchepin<BR>
</P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain">Ejabberd 2.1.6 Developers Guide</H1><H3 CLASS="titlerest">Alexey Shchepin<BR>
<A HREF="mailto:alexey@sevcom.net"><TT>mailto:alexey@sevcom.net</TT></A><BR>
<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A></H3></TD></TR>
</TABLE><DIV CLASS="center">

View File

@ -2,7 +2,7 @@
"http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML>
<HEAD>
<TITLE>Ejabberd 2.1.x Feature Sheet
<TITLE>Ejabberd 2.1.6 Feature Sheet
</TITLE>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII">
@ -50,7 +50,7 @@ SPAN{width:20%; float:right; text-align:left; margin-left:auto;}
<!--HEVEA command line is: /usr/bin/hevea -fix -pedantic features.tex -->
<!--CUT DEF section 1 --><P><A NAME="titlepage"></A>
</P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain">Ejabberd 2.1.x Feature Sheet</H1><H3 CLASS="titlerest">Sander Devrieze<BR>
</P><TABLE CLASS="title"><TR><TD><H1 CLASS="titlemain">Ejabberd 2.1.6 Feature Sheet</H1><H3 CLASS="titlerest">Sander Devrieze<BR>
<A HREF="mailto:s.devrieze@pandora.be"><TT>mailto:s.devrieze@pandora.be</TT></A><BR>
<A HREF="xmpp:sander@devrieze.dyndns.org"><TT>xmpp:sander@devrieze.dyndns.org</TT></A></H3></TD></TR>
</TABLE><DIV CLASS="center">

View File

@ -6,7 +6,7 @@
ejabberd 2.1.x
ejabberd 2.1.6
Installation and Operation Guide
@ -76,7 +76,7 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
<HR SIZE=2><BR>
<BR>
<TABLE CELLSPACING=6 CELLPADDING=0><TR><TD ALIGN=right NOWRAP> <FONT SIZE=6><B>ejabberd 2.1.x </B></FONT></TD></TR>
<TABLE CELLSPACING=6 CELLPADDING=0><TR><TD ALIGN=right NOWRAP> <FONT SIZE=6><B>ejabberd 2.1.6 </B></FONT></TD></TR>
<TR><TD ALIGN=right NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=right NOWRAP> <FONT SIZE=6>Installation and Operation Guide</FONT></TD></TR>
</TABLE><BR>
@ -156,69 +156,71 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
</LI><LI CLASS="li-toc"><A HREF="#htoc54">3.3.16&#XA0;&#XA0;<TT>mod_proxy65</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc55">3.3.17&#XA0;&#XA0;<TT>mod_pubsub</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc56">3.3.18&#XA0;&#XA0;<TT>mod_register</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc57">3.3.19&#XA0;&#XA0;<TT>mod_roster</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc58">3.3.20&#XA0;&#XA0;<TT>mod_service_log</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc59">3.3.21&#XA0;&#XA0;<TT>mod_shared_roster</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc60">3.3.22&#XA0;&#XA0;<TT>mod_sic</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc61">3.3.23&#XA0;&#XA0;<TT>mod_stats</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc62">3.3.24&#XA0;&#XA0;<TT>mod_time</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc63">3.3.25&#XA0;&#XA0;<TT>mod_vcard</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc64">3.3.26&#XA0;&#XA0;<TT>mod_vcard_ldap</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc65">3.3.27&#XA0;&#XA0;<TT>mod_vcard_xupdate</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc66">3.3.28&#XA0;&#XA0;<TT>mod_version</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc57">3.3.19&#XA0;&#XA0;<TT>mod_register_web</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc58">3.3.20&#XA0;&#XA0;<TT>mod_roster</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc59">3.3.21&#XA0;&#XA0;<TT>mod_service_log</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc60">3.3.22&#XA0;&#XA0;<TT>mod_shared_roster</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc61">3.3.23&#XA0;&#XA0;<TT>mod_shared_roster_ldap</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc62">3.3.24&#XA0;&#XA0;<TT>mod_sic</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc63">3.3.25&#XA0;&#XA0;<TT>mod_stats</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc64">3.3.26&#XA0;&#XA0;<TT>mod_time</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc65">3.3.27&#XA0;&#XA0;<TT>mod_vcard</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc66">3.3.28&#XA0;&#XA0;<TT>mod_vcard_ldap</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc67">3.3.29&#XA0;&#XA0;<TT>mod_vcard_xupdate</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc68">3.3.30&#XA0;&#XA0;<TT>mod_version</TT></A>
</LI></UL>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc67">Chapter&#XA0;4&#XA0;&#XA0;Managing an <TT>ejabberd</TT> Server</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc69">Chapter&#XA0;4&#XA0;&#XA0;Managing an <TT>ejabberd</TT> Server</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc68">4.1&#XA0;&#XA0;<TT>ejabberdctl</TT></A>
<A HREF="#htoc70">4.1&#XA0;&#XA0;<TT>ejabberdctl</TT></A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc69">4.1.1&#XA0;&#XA0;ejabberdctl Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc70">4.1.2&#XA0;&#XA0;Erlang Runtime System</A>
<A HREF="#htoc71">4.1.1&#XA0;&#XA0;ejabberdctl Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc72">4.1.2&#XA0;&#XA0;Erlang Runtime System</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc71">4.2&#XA0;&#XA0;<TT>ejabberd</TT> Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc73">4.2&#XA0;&#XA0;<TT>ejabberd</TT> Commands</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc72">4.2.1&#XA0;&#XA0;List of ejabberd Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc73">4.2.2&#XA0;&#XA0;Restrict Execution with AccessCommands</A>
<A HREF="#htoc74">4.2.1&#XA0;&#XA0;List of ejabberd Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc75">4.2.2&#XA0;&#XA0;Restrict Execution with AccessCommands</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc74">4.3&#XA0;&#XA0;Web Admin</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc75">4.4&#XA0;&#XA0;Ad-hoc Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc76">4.5&#XA0;&#XA0;Change Computer Hostname</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc76">4.3&#XA0;&#XA0;Web Admin</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc77">4.4&#XA0;&#XA0;Ad-hoc Commands</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc78">4.5&#XA0;&#XA0;Change Computer Hostname</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc77">Chapter&#XA0;5&#XA0;&#XA0;Securing <TT>ejabberd</TT></A>
</LI><LI CLASS="li-toc"><A HREF="#htoc79">Chapter&#XA0;5&#XA0;&#XA0;Securing <TT>ejabberd</TT></A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc78">5.1&#XA0;&#XA0;Firewall Settings</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc79">5.2&#XA0;&#XA0;epmd</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc80">5.3&#XA0;&#XA0;Erlang Cookie</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc81">5.4&#XA0;&#XA0;Erlang Node Name</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc82">5.5&#XA0;&#XA0;Securing Sensitive Files</A>
<A HREF="#htoc80">5.1&#XA0;&#XA0;Firewall Settings</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc81">5.2&#XA0;&#XA0;epmd</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc82">5.3&#XA0;&#XA0;Erlang Cookie</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc83">5.4&#XA0;&#XA0;Erlang Node Name</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc84">5.5&#XA0;&#XA0;Securing Sensitive Files</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc83">Chapter&#XA0;6&#XA0;&#XA0;Clustering</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc85">Chapter&#XA0;6&#XA0;&#XA0;Clustering</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc84">6.1&#XA0;&#XA0;How it Works</A>
<A HREF="#htoc86">6.1&#XA0;&#XA0;How it Works</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc85">6.1.1&#XA0;&#XA0;Router</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc86">6.1.2&#XA0;&#XA0;Local Router</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc87">6.1.3&#XA0;&#XA0;Session Manager</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc88">6.1.4&#XA0;&#XA0;s2s Manager</A>
<A HREF="#htoc87">6.1.1&#XA0;&#XA0;Router</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc88">6.1.2&#XA0;&#XA0;Local Router</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc89">6.1.3&#XA0;&#XA0;Session Manager</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc90">6.1.4&#XA0;&#XA0;s2s Manager</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc89">6.2&#XA0;&#XA0;Clustering Setup</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc90">6.3&#XA0;&#XA0;Service Load-Balancing</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc91">6.2&#XA0;&#XA0;Clustering Setup</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc92">6.3&#XA0;&#XA0;Service Load-Balancing</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc91">6.3.1&#XA0;&#XA0;Components Load-Balancing</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc92">6.3.2&#XA0;&#XA0;Domain Load-Balancing Algorithm</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc93">6.3.3&#XA0;&#XA0;Load-Balancing Buckets</A>
<A HREF="#htoc93">6.3.1&#XA0;&#XA0;Components Load-Balancing</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc94">6.3.2&#XA0;&#XA0;Domain Load-Balancing Algorithm</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc95">6.3.3&#XA0;&#XA0;Load-Balancing Buckets</A>
</LI></UL>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc94">Chapter&#XA0;7&#XA0;&#XA0;Debugging</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc96">Chapter&#XA0;7&#XA0;&#XA0;Debugging</A>
<UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc95">7.1&#XA0;&#XA0;Log Files</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc96">7.2&#XA0;&#XA0;Debug Console</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc97">7.3&#XA0;&#XA0;Watchdog Alerts</A>
<A HREF="#htoc97">7.1&#XA0;&#XA0;Log Files</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc98">7.2&#XA0;&#XA0;Debug Console</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc99">7.3&#XA0;&#XA0;Watchdog Alerts</A>
</LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc98">Appendix&#XA0;A&#XA0;&#XA0;Internationalization and Localization</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc99">Appendix&#XA0;B&#XA0;&#XA0;Release Notes</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc100">Appendix&#XA0;C&#XA0;&#XA0;Acknowledgements</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc101">Appendix&#XA0;D&#XA0;&#XA0;Copyright Information</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc100">Appendix&#XA0;A&#XA0;&#XA0;Internationalization and Localization</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc101">Appendix&#XA0;B&#XA0;&#XA0;Release Notes</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc102">Appendix&#XA0;C&#XA0;&#XA0;Acknowledgements</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc103">Appendix&#XA0;D&#XA0;&#XA0;Copyright Information</A>
</LI></UL><!--TOC chapter Introduction-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc1">Chapter&#XA0;1</A>&#XA0;&#XA0;Introduction</H1><!--SEC END --><P>
<A NAME="intro"></A></P><P><TT>ejabberd</TT> is a free and open source instant messaging server written in <A HREF="http://www.erlang.org/">Erlang/OTP</A>.</P><P><TT>ejabberd</TT> is cross-platform, distributed, fault-tolerant, and based on open standards to achieve real-time communication.</P><P><TT>ejabberd</TT> is designed to be a rock-solid and feature rich XMPP server.</P><P><TT>ejabberd</TT> is suitable for small deployments, whether they need to be scalable or not, as well as extremely big deployments.</P><!--TOC section Key Features-->
@ -346,6 +348,7 @@ GNU Make
</LI><LI CLASS="li-itemize">GCC
</LI><LI CLASS="li-itemize">Libexpat 1.95 or higher
</LI><LI CLASS="li-itemize">Erlang/OTP R10B-9 or higher. The recommended versions are R12B-5 and R13B04.
Don&#X2019;t use R14A or R14B because <A HREF="http://www.erlang.org/cgi-bin/ezmlm-cgi/4/54598">they have a bug</A>.
</LI><LI CLASS="li-itemize">OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
</LI><LI CLASS="li-itemize">Zlib 1.2.3 or higher, for Stream Compression support (<A HREF="http://xmpp.org/extensions/xep-0138.html">XEP-0138</A>). Optional.
</LI><LI CLASS="li-itemize">Erlang mysql library. Optional. For MySQL authentication or storage. See section <A HREF="#compilemysql">3.2.1</A>.
@ -692,7 +695,7 @@ Handles STUN Binding requests as defined in
</DD><DT CLASS="dt-description"><B><TT>ejabberd_http</TT></B></DT><DD CLASS="dd-description">
Handles incoming HTTP connections.<BR>
Options: <TT>captcha</TT>, <TT>certfile</TT>, <TT>http_bind</TT>, <TT>http_poll</TT>,
<TT>request_handlers</TT>, <TT>tls</TT>, <TT>web_admin</TT><BR>
<TT>request_handlers</TT>, <TT>tls</TT>, <TT>trusted_proxies</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">
@ -802,6 +805,10 @@ The preferable encryption method is STARTTLS on port 5222, as defined
which can be enabled in <TT>ejabberd</TT> with the option <TT>starttls</TT>.
If this option is set, you should also set the <TT>certfile</TT> option.
The option <TT>tls</TT> can also be used in <TT>ejabberd_http</TT> to support HTTPS.
</DD><DT CLASS="dt-description"><B><TT>{trusted_proxies, all | [IpString]}</TT></B></DT><DD CLASS="dd-description">
Specify what proxies are trusted when an HTTP request contains the header <TT>X-Forwarded-For</TT>
You can specify <TT>all</TT> to allow all proxies, or specify a list of IPs in string format.
The default value is: <TT>["127.0.0.1"]</TT>
</DD><DT CLASS="dt-description"><B><TT>web_admin</TT></B></DT><DD CLASS="dd-description"> This option
enables the Web Admin for <TT>ejabberd</TT> administration which is available
at <CODE>http://server:port/admin/</CODE>. Login and password are the username and
@ -812,14 +819,17 @@ option specifies that Zlib stream compression (as defined in <A HREF="http://xmp
is available on connections to the port.
</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
use STARTTLS for s2s connections.
<B><TT>{s2s_use_starttls, false|optional|required|required_trusted}</TT></B></DT><DD CLASS="dd-description">
This option defines if
s2s connections don&#X2019;t use STARTTLS encryption; if STARTTLS can be used optionally;
if STARTTLS is required to establish the connection;
or if STARTTLS is required and the remote certificate must be valid and trusted.
The default value is to not use STARTTLS: <TT>false</TT>.
</DD><DT CLASS="dt-description"><B><TT>{s2s_certfile, Path}</TT></B></DT><DD CLASS="dd-description"> Full path to a
file containing a SSL certificate.
</DD><DT CLASS="dt-description"><B><TT>{domain_certfile, Domain, Path}</TT></B></DT><DD CLASS="dd-description">
Full path to the file containing the SSL certificate for a specific domain.
</DD><DT CLASS="dt-description"><B><TT>{outgoing_s2s_options, Methods, Timeout}</TT></B></DT><DD CLASS="dd-description">
</DD><DT CLASS="dt-description"><B><TT>{outgoing_s2s_options, [Family, ...], Timeout}</TT></B></DT><DD CLASS="dd-description">
Specify which address families to try, in what order, and connect timeout in milliseconds.
By default it first tries connecting with IPv4, if that fails it tries using IPv6,
with a timeout of 10000 milliseconds.
@ -902,16 +912,17 @@ section&#XA0;<A HREF="#webadmin">4.3</A>. The socket only listens connections to
]}
]
}.
{s2s_use_starttls, true}.
{s2s_use_starttls, optional}.
{s2s_certfile, "/etc/ejabberd/server.pem"}.
{domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}.
{outgoing_s2s_options, [ipv4, ipv6], 10000}.
</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 (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 (all IPv4 addresses)
with STARTTLS for secured traffic enabled.
with STARTTLS for secured traffic strictly required, and the certificates are verified.
Incoming and outgoing connections of remote XMPP 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
@ -990,7 +1001,7 @@ connected to port 5237 with password &#X2018;<TT>ggsecret</TT>&#X2019;.
{service_check_from, false}]}
]
}.
{s2s_use_starttls, true}.
{s2s_use_starttls, required_trusted}.
{s2s_certfile, "/path/to/ssl.pem"}.
{s2s_default_policy, deny}.
{{s2s_host,"jabber.example.org"}, allow}.
@ -1661,8 +1672,7 @@ module variant. Keep in mind that you cannot have several variants of the same
module loaded!</P><P> <A NAME="ldap"></A> </P><!--TOC subsection LDAP-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc37">3.2.5</A>&#XA0;&#XA0;<A HREF="#ldap">LDAP</A></H3><!--SEC END --><P> <A NAME="ldap"></A>
</P><P><TT>ejabberd</TT> has built-in LDAP support. You can authenticate users against LDAP
server and use LDAP directory as vCard storage. Shared rosters are not supported
yet.</P><P>Usually <TT>ejabberd</TT> treats LDAP as a read-only storage:
server and use LDAP directory as vCard storage.</P><P>Usually <TT>ejabberd</TT> treats LDAP as a read-only storage:
it is possible to consult data, but not possible to
create accounts or edit vCard that is stored in LDAP.
However, it is possible to change passwords if <TT>mod_register</TT> module is enabled
@ -1920,11 +1930,14 @@ all entries end with a comma:
<TR><TD ALIGN=left NOWRAP><A HREF="#modpubsub"><TT>mod_pubsub</TT></A></TD><TD ALIGN=left NOWRAP>Pub-Sub (<A HREF="http://xmpp.org/extensions/xep-0060.html">XEP-0060</A>), PEP (<A HREF="http://xmpp.org/extensions/xep-0163.html">XEP-0163</A>)</TD><TD ALIGN=left NOWRAP><TT>mod_caps</TT></TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modpubsub"><TT>mod_pubsub_odbc</TT></A></TD><TD ALIGN=left NOWRAP>Pub-Sub (<A HREF="http://xmpp.org/extensions/xep-0060.html">XEP-0060</A>), PEP (<A HREF="http://xmpp.org/extensions/xep-0163.html">XEP-0163</A>)</TD><TD ALIGN=left NOWRAP>supported DB (*) and <TT>mod_caps</TT></TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modregister"><TT>mod_register</TT></A></TD><TD ALIGN=left NOWRAP>In-Band Registration (<A HREF="http://xmpp.org/extensions/xep-0077.html">XEP-0077</A>)</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modregisterweb"><TT>mod_register_web</TT></A></TD><TD ALIGN=left NOWRAP>Web for Account Registrations</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modroster"><TT>mod_roster</TT></A></TD><TD ALIGN=left NOWRAP>Roster management (XMPP IM)</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modroster"><TT>mod_roster_odbc</TT></A></TD><TD ALIGN=left NOWRAP>Roster management (XMPP IM)</TD><TD ALIGN=left NOWRAP>supported DB (*)</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modservicelog"><TT>mod_service_log</TT></A></TD><TD ALIGN=left NOWRAP>Copy user messages to logger service</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modsharedroster"><TT>mod_shared_roster</TT></A></TD><TD ALIGN=left NOWRAP>Shared roster management</TD><TD ALIGN=left NOWRAP><TT>mod_roster</TT> or</TD></TR>
<TR><TD ALIGN=left NOWRAP>&nbsp;</TD><TD ALIGN=left NOWRAP>&nbsp;</TD><TD ALIGN=left NOWRAP><TT>mod_roster_odbc</TT></TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modsharedrosterldap"><TT>mod_shared_roster_ldap</TT></A></TD><TD ALIGN=left NOWRAP>LDAP Shared roster management</TD><TD ALIGN=left NOWRAP><TT>mod_roster</TT> or</TD></TR>
<TR><TD ALIGN=left NOWRAP>&nbsp;</TD><TD ALIGN=left NOWRAP>&nbsp;</TD><TD ALIGN=left NOWRAP><TT>mod_roster_odbc</TT></TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modsic"><TT>mod_sic</TT></A></TD><TD ALIGN=left NOWRAP>Server IP Check (<A HREF="http://xmpp.org/extensions/xep-0279.html">XEP-0279</A>)</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modstats"><TT>mod_stats</TT></A></TD><TD ALIGN=left NOWRAP>Statistics Gathering (<A HREF="http://xmpp.org/extensions/xep-0039.html">XEP-0039</A>)</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
<TR><TD ALIGN=left NOWRAP><A HREF="#modtime"><TT>mod_time</TT></A></TD><TD ALIGN=left NOWRAP>Entity Time (<A HREF="http://xmpp.org/extensions/xep-0202.html">XEP-0202</A>)</TD><TD ALIGN=left NOWRAP>&nbsp;</TD></TR>
@ -2326,7 +2339,7 @@ is replaced at start time with the real virtual host name.
</DD><DT CLASS="dt-description"><B><TT>{access, AccessName}</TT></B></DT><DD CLASS="dd-description"> This option can be used to specify who
may use the IRC transport (default value: <TT>all</TT>).
</DD><DT CLASS="dt-description"><B><TT>{default_encoding, Encoding}</TT></B></DT><DD CLASS="dd-description"> Set the default IRC encoding.
Default value: <TT>"koi8-r"</TT>
Default value: <TT>"iso8859-1"</TT>
</DD></DL><P>Examples:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
In the first example, the IRC transport is available on (all) your
@ -2969,6 +2982,18 @@ restrictions by default).
doesn&#X2019;t allow to register new accounts from s2s or existing c2s sessions. You can
change it by defining access rule in this option. Use with care: allowing registration
from s2s leads to uncontrolled massive accounts creation by rogue users.
</DD><DT CLASS="dt-description"><B><TT>{captcha_protected, false|true}</TT></B></DT><DD CLASS="dd-description">
Protect registrations with CAPTCHA (see section <A HREF="#captcha">3.1.8</A>). The default is <TT>false</TT>.
</DD><DT CLASS="dt-description"><B><TT>{ip_access, [ {allow|deny, IPaddress}, ...]}</TT></B></DT><DD CLASS="dd-description">
Define rules to allow or deny account registration depending
in the IP address of the XMPP client.
If there is no matching IP mask, the default rule is &#X201C;allow&#X201D;.
IPv6 addresses are supported, but not tested.
The default option value is an empty list: <TT>[]</TT>.
</DD><DT CLASS="dt-description"><B><TT>{password_strength, Entropy}</TT></B></DT><DD CLASS="dd-description">
This option sets the minimum informational entropy for passwords. The value <TT>Entropy</TT>
is a number of bits of entropy. The recommended minimum is 32 bits.
The default is 0, i.e. no checks are performed.
</DD><DT CLASS="dt-description"><B><TT>{welcome_message, Message}</TT></B></DT><DD CLASS="dd-description"> Set a welcome message that
is sent to each newly registered account. The first string is the subject, and
the second string is the message body.
@ -2989,7 +3014,8 @@ To disable this limitation,
instead of an integer put a word like: <TT>infinity</TT>.
Default value: 600 seconds.</P><P>Examples:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
Next example prohibits the registration of too short account names:
Next example prohibits the registration of too short account names,
and allows to create accounts only to clients of the local network:
<PRE CLASS="verbatim">{acl, shortname, {user_glob, "?"}}.
{acl, shortname, {user_glob, "??"}}.
%% The same using regexp:
@ -3001,7 +3027,10 @@ Next example prohibits the registration of too short account names:
{modules,
[
...
{mod_register, [{access, register}]},
{mod_register, [{access, register},
{ip_access, [{allow, "127.0.0.0/8"},
{deny, "0.0.0.0/0"}]}
]},
...
]}.
</PRE></LI><LI CLASS="li-itemize">This configuration prohibits usage of In-Band Registration
@ -3036,8 +3065,39 @@ Also define a registration timeout of one hour:
]},
...
]}.
</PRE></LI></UL><P> <A NAME="modroster"></A> </P><!--TOC subsection <TT>mod_roster</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc57">3.3.19</A>&#XA0;&#XA0;<A HREF="#modroster"><TT>mod_roster</TT></A></H3><!--SEC END --><P> <A NAME="modroster"></A>
</PRE></LI></UL><P> <A NAME="modregisterweb"></A> </P><!--TOC subsection <TT>mod_register_web</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc57">3.3.19</A>&#XA0;&#XA0;<A HREF="#modregisterweb"><TT>mod_register_web</TT></A></H3><!--SEC END --><P> <A NAME="modregisterweb"></A>
</P><P>This module provides a web page where people can:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
Register a new account on the server.
</LI><LI CLASS="li-itemize">Change the password from an existing account on the server.
</LI><LI CLASS="li-itemize">Delete an existing account on the server.
</LI></UL><P>This module supports CAPTCHA image to register a new account.
To enable this feature, configure the options captcha_cmd and captcha_host.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{registration_watchers, [ JID, ...]}</TT></B></DT><DD CLASS="dd-description"> This option defines a
list of JIDs which will be notified each time a new account is registered.
</DD></DL><P>This example configuration shows how to enable the module and the web handler:
</P><PRE CLASS="verbatim">{listen, [
...
{5281, ejabberd_http, [
tls,
{certfile, "/etc/ejabberd/certificate.pem"},
register
]},
...
]}.
{modules,
[
...
{mod_register_web, []},
...
]}.
</PRE><P>The users can visit this page: https://localhost:5281/register/
It is important to include the last / character in the URL,
otherwise the subpages URL will be incorrect.</P><P> <A NAME="modroster"></A> </P><!--TOC subsection <TT>mod_roster</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc58">3.3.20</A>&#XA0;&#XA0;<A HREF="#modroster"><TT>mod_roster</TT></A></H3><!--SEC END --><P> <A NAME="modroster"></A>
</P><P>This module implements roster management as defined in
<A HREF="http://xmpp.org/rfcs/rfc3921.html#roster">RFC 3921: XMPP IM</A>.
It also supports Roster Versioning (<A HREF="http://xmpp.org/extensions/xep-0237.html">XEP-0237</A>).</P><P>Options:
@ -3054,7 +3114,8 @@ Enabling this option reduces the load for both ejabberd and the database.
This option does not affect the client in any way.
This option is only useful if Roster Versioning is enabled.
This option is disabled by default.
Important: if you use <TT>mod_shared_roster</TT>, you must disable this option.
Important: if you use <TT>mod_shared_roster</TT> or <TT>mod_shared_roster_ldap</TT>,
you must disable this option.
</DD></DL><P>This example configuration enables Roster Versioning with storage of current id:
</P><PRE CLASS="verbatim">{modules,
[
@ -3063,7 +3124,7 @@ Important: if you use <TT>mod_shared_roster</TT>, you must disable this option.
...
]}.
</PRE><P> <A NAME="modservicelog"></A> </P><!--TOC subsection <TT>mod_service_log</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc58">3.3.20</A>&#XA0;&#XA0;<A HREF="#modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --><P> <A NAME="modservicelog"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc59">3.3.21</A>&#XA0;&#XA0;<A HREF="#modservicelog"><TT>mod_service_log</TT></A></H3><!--SEC END --><P> <A NAME="modservicelog"></A>
</P><P>This module adds support for logging end user packets via a XMPP message
auditing service such as
<A HREF="http://www.funkypenguin.info/project/bandersnatch/">Bandersnatch</A>. All user
@ -3093,7 +3154,7 @@ To log all end user packets to the Bandersnatch service running on
...
]}.
</PRE></LI></UL><P> <A NAME="modsharedroster"></A> </P><!--TOC subsection <TT>mod_shared_roster</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc59">3.3.21</A>&#XA0;&#XA0;<A HREF="#modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END --><P> <A NAME="modsharedroster"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc60">3.3.22</A>&#XA0;&#XA0;<A HREF="#modsharedroster"><TT>mod_shared_roster</TT></A></H3><!--SEC END --><P> <A NAME="modsharedroster"></A>
</P><P>This module enables you to create shared roster groups. This means that you can
create groups of people that can see members from (other) groups in their
rosters. The big advantages of this feature are that end users do not need to
@ -3167,15 +3228,232 @@ roster groups as shown in the following table:
</TABLE></TD></TR>
</TABLE>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE>
</LI></UL><P> <A NAME="modsic"></A> </P><!--TOC subsection <TT>mod_sic</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc60">3.3.22</A>&#XA0;&#XA0;<A HREF="#modsic"><TT>mod_sic</TT></A></H3><!--SEC END --><P> <A NAME="modsic"></A>
</LI></UL><P> <A NAME="modsharedrosterldap"></A> </P><!--TOC subsection <TT>mod_shared_roster_ldap</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc61">3.3.23</A>&#XA0;&#XA0;<A HREF="#modsharedrosterldap"><TT>mod_shared_roster_ldap</TT></A></H3><!--SEC END --><P> <A NAME="modsharedrosterldap"></A>
</P><P>This module lets the server administrator
automatically populate users&#X2019; rosters (contact lists) with entries based on
users and groups defined in an LDAP-based directory.</P><P> <A NAME="msrlconfigparams"></A> </P><!--TOC subsubsection Configuration parameters-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlconfigparams">Configuration parameters</A></H4><!--SEC END --><P> <A NAME="msrlconfigparams"></A> </P><P>The module accepts the following configuration parameters. Some of them, if
unspecified, default to the values specified for the top level of
configuration. This lets you avoid specifying, for example, the bind password,
in multiple places.</P><P> <A NAME="msrlfilters"></A> </P><!--TOC paragraph Filters-->
<H5 CLASS="paragraph"><!--SEC ANCHOR --><A HREF="#msrlfilters">Filters</A></H5><!--SEC END --><P> <A NAME="msrlfilters"></A> </P><P>These parameters specify LDAP filters used to query for shared roster information.
All of them are run against the <CODE>ldap_base</CODE>.</P><DL CLASS="description"><DT CLASS="dt-description"><B><TT>ldap_rfilter</TT></B></DT><DD CLASS="dd-description">
So called &#X201C;Roster Filter&#X201D;. Used to find names of all &#X201C;shared roster&#X201D; groups.
See also the <CODE>ldap_groupattr</CODE> parameter.
If unspecified, defaults to the top-level parameter of the same name.
You <EM>must</EM> specify it in some place in the configuration, there is no default.</DD><DT CLASS="dt-description"><B><TT>ldap_ufilter</TT></B></DT><DD CLASS="dd-description">
&#X201C;User Filter&#X201D; &#X2013; used for retrieving the human-readable name of roster
entries (usually full names of people in the roster).
See also the parameters <CODE>ldap_userdesc</CODE> and <CODE>ldap_useruid</CODE>.
If unspecified, defaults to the top-level parameter of the same name.
If that one also is unspecified, then the filter is assembled from values of
other parameters as follows (<CODE>[ldap_SOMETHING]</CODE> is used to mean &#X201C;the
value of the configuration parameter <TT>ldap_SOMETHING</TT>&#X201D;):<PRE CLASS="verbatim">(&amp;(&amp;([ldap_memberattr]=[ldap_memberattr_format])([ldap_groupattr]=%g))[ldap_filter])
</PRE><P>Subsequently <TT>%u</TT> and <TT>%g</TT> are replaced with a <TT>*</TT>. This means
that given the defaults, the filter sent to the LDAP server is would be
<CODE>(&amp;(memberUid=*)(cn=*))</CODE>. If however the <TT>ldap_memberattr_format</TT>
is something like <CODE>uid=%u,ou=People,o=org</CODE>, then the filter will be
<CODE>(&amp;(memberUid=uid=*,ou=People,o=org)(cn=*))</CODE>.</P></DD><DT CLASS="dt-description"><B><TT>ldap_gfilter</TT></B></DT><DD CLASS="dd-description">
&#X201C;Group Filter&#X201D; &#X2013; used when retrieving human-readable name (a.k.a.
&#X201C;Display Name&#X201D;) and the members of a group.
See also the parameters <CODE>ldap_groupattr</CODE>, <CODE>ldap_groupdesc</CODE> and <CODE>ldap_memberattr</CODE>.
If unspecified, defaults to the top-level parameter of the same name.
If that one also is unspecified, then the filter is constructed exactly in the
same way as <TT>User Filter</TT>.</DD><DT CLASS="dt-description"><B><TT>ldap_filter</TT></B></DT><DD CLASS="dd-description">
Additional filter which is AND-ed together with <TT>User Filter</TT> and <TT>Group Filter</TT>.
If unspecified, defaults to the top-level parameter of the same name. If that
one is also unspecified, then no additional filter is merged with the other
filters.
</DD></DL><P>Note that you will probably need to manually define the <TT>User</TT> and <TT>Group Filter</TT>s (since the auto-assembled ones will not work) if:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
your <TT>ldap_memberattr_format</TT> is anything other than a simple <TT>%u</TT>,
</LI><LI CLASS="li-itemize"><B>and</B> the attribute specified with <TT>ldap_memberattr</TT> does not support substring matches.
</LI></UL><P>
An example where it is the case is OpenLDAP and <TT>(unique)MemberName</TT> attribute from the <TT>groupOf(Unique)Names</TT> objectClass.
A symptom of this problem is that you will see messages such as the following in your <TT>slapd.log</TT>:
</P><PRE CLASS="verbatim">get_filter: unknown filter type=130
filter="(&amp;(?=undefined)(?=undefined)(something=else))"
</PRE><P> <A NAME="msrlattrs"></A> </P><!--TOC subsubsection Attributes-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlattrs">Attributes</A></H4><!--SEC END --><P> <A NAME="msrlattrs"></A> </P><P>These parameters specify the names of the attributes which hold interesting data
in the entries returned by running filters specified in
section&#XA0;<A HREF="#msrlfilters">3.3.23</A>.</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>ldap_groupattr</TT></B></DT><DD CLASS="dd-description">
The name of the attribute that holds the group name, and that is used to differentiate between them.
Retrieved from results of the &#X201C;Roster Filter&#X201D; and &#X201C;Group Filter&#X201D;.
Defaults to <TT>cn</TT>.</DD><DT CLASS="dt-description"><B><TT>ldap_groupdesc</TT></B></DT><DD CLASS="dd-description">
The name of the attribute which holds the human-readable group name in the
objects you use to represent groups.
Retrieved from results of the &#X201C;Group Filter&#X201D;.
Defaults to whatever <TT>ldap_groupattr</TT> is set.</DD><DT CLASS="dt-description"><B><TT>ldap_memberattr</TT></B></DT><DD CLASS="dd-description">
The name of the attribute which holds the IDs of the members of a group.
Retrieved from results of the &#X201C;Group Filter&#X201D;.
Defaults to <TT>memberUid</TT>.<P>The name of the attribute differs depending on the <TT>objectClass</TT> you use
for your group objects, for example:
</P><DL CLASS="description"><DT CLASS="dt-description">
</DT><DD CLASS="dd-description"><TT>posixGroup</TT> &#X2192; <TT>memberUid</TT>
</DD><DT CLASS="dt-description"></DT><DD CLASS="dd-description"><TT>groupOfNames</TT> &#X2192; <TT>member</TT>
</DD><DT CLASS="dt-description"></DT><DD CLASS="dd-description"><TT>groupOfUniqueNames</TT> &#X2192; <TT>uniqueMember</TT>
</DD></DL></DD><DT CLASS="dt-description"><B><TT>ldap_userdesc</TT></B></DT><DD CLASS="dd-description">
The name of the attribute which holds the human-readable user name.
Retrieved from results of the &#X201C;User Filter&#X201D;.
Defaults to <TT>cn</TT>.</DD><DT CLASS="dt-description"><B><TT>ldap_useruid</TT></B></DT><DD CLASS="dd-description">
The name of the attribute which holds the ID of a roster item. Value of this
attribute in the roster item objects needs to match the ID retrieved from the
<TT>ldap_memberattr</TT> attribute of a group object.
Retrieved from results of the &#X201C;User Filter&#X201D;.
Defaults to <TT>cn</TT>.
</DD></DL><P> <A NAME="msrlcontrolparams"></A> </P><!--TOC subsubsection Control parameters-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlcontrolparams">Control parameters</A></H4><!--SEC END --><P> <A NAME="msrlcontrolparams"></A> </P><P>These paramters control the behaviour of the module.</P><DL CLASS="description"><DT CLASS="dt-description"><B><TT>ldap_memberattr_format</TT></B></DT><DD CLASS="dd-description">
A globbing format for extracting user ID from the value of the attribute named by
<CODE>ldap_memberattr</CODE>.
Defaults to <TT>%u</TT>, which means that the whole value is the member ID. If
you change it to something different, you may also need to specify the User
and Group Filters manually &#X2014; see section&#XA0;<A HREF="#msrlfilters">3.3.23</A>.</DD><DT CLASS="dt-description"><B><TT>ldap_memberattr_format_re</TT></B></DT><DD CLASS="dd-description">
A regex for extracting user ID from the value of the attribute named by
<CODE>ldap_memberattr</CODE>.<P>An example value <TT>"CN=(</TT><TT>\\</TT><TT>w*),(OU=.*,)*DC=company,DC=com"</TT> works for user IDs such as the following:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
<TT>CN=Romeo,OU=Montague,DC=company,DC=com</TT>
</LI><LI CLASS="li-itemize"><TT>CN=Abram,OU=Servants,OU=Montague,DC=company,DC=com</TT>
</LI><LI CLASS="li-itemize"><TT>CN=Juliet,OU=Capulet,DC=company,DC=com</TT>
</LI><LI CLASS="li-itemize"><TT>CN=Peter,OU=Servants,OU=Capulet,DC=company,DC=com</TT>
</LI></UL><P>In case:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
the option is unset,
</LI><LI CLASS="li-itemize">or the <TT>re</TT> module in unavailable in the current Erlang environment,
</LI><LI CLASS="li-itemize">or the regular expression does not compile,
</LI></UL><P>
then instead of a regular expression, a simple format specified by <TT>ldap_memberattr_format</TT> is used. Also, in the last two cases an error
message is logged during the module initialization.</P><P>Also, note that in all cases <TT>ldap_memberattr_format</TT> (and <EM>not</EM> the
regex version) is used for constructing the default &#X201C;User/Group Filter&#X201D; &#X2014;
see section&#XA0;<A HREF="#msrlfilters">3.3.23</A>.</P></DD><DT CLASS="dt-description"><B><TT>ldap_auth_check</TT></B></DT><DD CLASS="dd-description">
Whether the module should check (via the ejabberd authentication subsystem)
for existence of each user in the shared LDAP roster. See
section&#XA0;<A HREF="#msrlconfigroster">3.3.23</A> form more information. Set to <TT>off</TT> if you
want to disable the check.
Defaults to <TT>on</TT>.</DD><DT CLASS="dt-description"><B><TT>ldap_user_cache_validity</TT></B></DT><DD CLASS="dd-description">
Number of seconds for which the cache for roster item full names is considered
fresh after retrieval. 300 by default. See section&#XA0;<A HREF="#msrlconfigroster">3.3.23</A> on
how it is used during roster retrieval.</DD><DT CLASS="dt-description"><B><TT>ldap_group_cache_validity</TT></B></DT><DD CLASS="dd-description">
Number of seconds for which the cache for group membership is considered
fresh after retrieval. 300 by default. See section&#XA0;<A HREF="#msrlconfigroster">3.3.23</A> on
how it is used during roster retrieval.
</DD></DL><P> <A NAME="msrlconnparams"></A> </P><!--TOC subsubsection Connection parameters-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlconnparams">Connection parameters</A></H4><!--SEC END --><P> <A NAME="msrlconnparams"></A> </P><P>The module also accepts the connection parameters, all of which default to the
top-level parameter of the same name, if unspecified. See&#XA0;<A HREF="#ldapconnection">3.2.5</A>
for more information about them.</P><P> <A NAME="msrlconfigroster"></A> </P><!--TOC subsubsection Retrieving the roster-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlconfigroster">Retrieving the roster</A></H4><!--SEC END --><P> <A NAME="msrlconfigroster"></A> </P><P>When the module is called to retrieve the shared roster for a user, the
following algorithm is used:</P><OL CLASS="enumerate" type=1><LI CLASS="li-enumerate">
<A NAME="step:rfilter"></A> A list of names of groups to display is created: the <TT>Roster Filter</TT>
is run against the base DN, retrieving the values of the attribute named by
<TT>ldap_groupattr</TT>.</LI><LI CLASS="li-enumerate">Unless the group cache is fresh (see the <TT>ldap_group_cache_validity</TT> option), it is refreshed:<OL CLASS="enumerate" type=a><LI CLASS="li-enumerate">
Information for all groups is retrieved using a single query: the <TT>Group Filter</TT> is run against the Base DN, retrieving the values of attributes
named by <TT>ldap_groupattr</TT> (group ID), <TT>ldap_groupdesc</TT> (group
&#X201C;Display Name&#X201D;) and <TT>ldap_memberattr</TT> (IDs of group members).</LI><LI CLASS="li-enumerate">group &#X201C;Display Name&#X201D;, read from the attribute named by <TT>ldap_groupdesc</TT>, is stored in the cache for the given group</LI><LI CLASS="li-enumerate">the following processing takes place for each retrieved value of
attribute named by <TT>ldap_memberattr</TT>:
<OL CLASS="enumerate" type=i><LI CLASS="li-enumerate">
the user ID part of it is extracted using <TT>ldap_memberattr_format(_re)</TT>,</LI><LI CLASS="li-enumerate">then (unless <TT>ldap_auth_check</TT> is set to <TT>off</TT>) for each
found user ID, the module checks (using the <TT>ejabberd</TT> authentication
subsystem) whether such user exists in the given virtual host. It is
skipped if the check is enabled and fails.<P>This step is here for historical reasons. If you have a tidy DIT and
properly defined &#X201C;Roster Filter&#X201D; and &#X201C;Group Filter&#X201D;, it is safe to
disable it by setting <TT>ldap_auth_check</TT> to <TT>off</TT> &#X2014; it will
speed up the roster retrieval.</P></LI><LI CLASS="li-enumerate">the user ID is stored in the list of members in the cache for the
given group
</LI></OL>
</LI></OL></LI><LI CLASS="li-enumerate">For each item (group name) in the list of groups retrieved in step&#XA0;<A HREF="#step:rfilter">1</A>:<OL CLASS="enumerate" type=a><LI CLASS="li-enumerate">
the display name of a shared roster group is retrieved from the group
cache</LI><LI CLASS="li-enumerate">for each IDs of users which belong to the group, retrieved from the
group cache:<OL CLASS="enumerate" type=i><LI CLASS="li-enumerate">
the ID is skipped if it&#X2019;s the same as the one for which we are
retrieving the roster. This is so that the user does not have himself in
the roster.</LI><LI CLASS="li-enumerate">the display name of a shared roster user is retrieved:
<OL CLASS="enumerate" type=A><LI CLASS="li-enumerate">
first, unless the user name cache is fresh (see the <TT>ldap_user_cache_validity</TT> option), it is refreshed by running the
<TT>User Filter</TT>, against the Base DN, retrieving the values of
attributes named by <TT>ldap_useruid</TT> and <TT>ldap_userdesc</TT>.
</LI><LI CLASS="li-enumerate">then, the display name for the given user ID is retrieved from the
user name cache.
</LI></OL>
</LI></OL></LI></OL></LI></OL><P> <A NAME="msrlconfigexample"></A> </P><!--TOC subsubsection Configuration examples-->
<H4 CLASS="subsubsection"><!--SEC ANCHOR --><A HREF="#msrlconfigexample">Configuration examples</A></H4><!--SEC END --><P> <A NAME="msrlconfigexample"></A> </P><P>Since there are many possible
<A HREF="http://en.wikipedia.org/wiki/Directory_Information_Tree">DIT</A>
layouts, it will probably be easiest to understand how to configure the module
by looking at an example for a given DIT (or one resembling it).</P><P> <A NAME="msrlconfigexampleflat"></A> </P><!--TOC paragraph Flat DIT-->
<H5 CLASS="paragraph"><!--SEC ANCHOR --><A HREF="#msrlconfigexampleflat">Flat DIT</A></H5><!--SEC END --><P> <A NAME="msrlconfigexampleflat"></A> </P><P>This seems to be the kind of DIT for which this module was initially designed.
Basically there are just user objects, and group membership is stored in an
attribute individually for each user. For example in a layout shown in
figure&#XA0;<A HREF="#fig:msrl-dit-flat">3.1</A>, the group of each user is stored in its <TT>ou</TT> attribute.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="msrl-dit-flat.png" ALT="msrl-dit-flat.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 3.1: Flat DIT graph</TD></TR>
</TABLE></DIV>
<A NAME="fig:msrl-dit-flat"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P>Such layout has a few downsides, including:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
information duplication &#X2013; the group name is repeated in every member object
</LI><LI CLASS="li-itemize">difficult group management &#X2013; information about group members is not
centralized, but distributed between member objects
</LI><LI CLASS="li-itemize">inefficiency &#X2013; the list of unique group names has to be computed by iterating over all users
</LI></UL><P>This however seems to be a common DIT layout, so the module keeps supporting it.
You can use the following configuration&#X2026;</P><PRE CLASS="verbatim"> {mod_shared_roster_ldap,[
{ldap_base, "ou=flat,dc=nodomain"},
{ldap_rfilter, "(objectClass=inetOrgPerson)"},
{ldap_groupattr, "ou"},
{ldap_memberattr, "cn"},
{ldap_filter, "(objectClass=inetOrgPerson)"},
{ldap_userdesc, "displayName"}
]},
</PRE><P>&#X2026;to be provided with a roster as shown in figure&#XA0;<A HREF="#fig:msrl-roster-flat">3.2</A> upon connecting as user <TT>czesio</TT>.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="msrl-roster-flat.png" ALT="msrl-roster-flat.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 3.2: Roster from flat DIT</TD></TR>
</TABLE></DIV>
<A NAME="fig:msrl-roster-flat"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P> <A NAME="msrlconfigexampledeep"></A> </P><!--TOC paragraph Deep DIT-->
<H5 CLASS="paragraph"><!--SEC ANCHOR --><A HREF="#msrlconfigexampledeep">Deep DIT</A></H5><!--SEC END --><P> <A NAME="msrlconfigexampledeep"></A> </P><P>This type of DIT contains distinctly typed objects for users and groups &#X2013; see figure&#XA0;<A HREF="#fig:msrl-dit-deep">3.3</A>.
They are shown separated into different subtrees, but it&#X2019;s not a requirement.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="msrl-dit-deep.png" ALT="msrl-dit-deep.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 3.3: Example &#X201C;deep&#X201D; DIT graph</TD></TR>
</TABLE></DIV>
<A NAME="fig:msrl-dit-deep"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P>If you use the following example module configuration with it:
</P><PRE CLASS="verbatim"> {mod_shared_roster_ldap,[
{ldap_base, "ou=deep,dc=nodomain"},
{ldap_rfilter, "(objectClass=groupOfUniqueNames)"},
{ldap_filter, ""},
{ldap_gfilter, "(&amp;(objectClass=groupOfUniqueNames)(cn=%g))"},
{ldap_groupdesc, "description"},
{ldap_memberattr, "uniqueMember"},
{ldap_memberattr_format, "cn=%u,ou=people,ou=deep,dc=nodomain"},
{ldap_ufilter, "(&amp;(objectClass=inetOrgPerson)(cn=%u))"},
{ldap_userdesc, "displayName"}
]},
</PRE><P>&#X2026;and connect as user <TT>czesio</TT>, then <TT>ejabberd</TT> will provide you with
the roster shown in figure&#XA0;<A HREF="#fig:msrl-roster-deep">3.4</A>.</P><BLOCKQUOTE CLASS="figure"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<IMG SRC="msrl-roster-deep.png" ALT="msrl-roster-deep.png">
<DIV CLASS="caption"><TABLE CELLSPACING=6 CELLPADDING=0><TR><TD VALIGN=top ALIGN=left>Figure 3.4: Example roster from &#X201C;deep&#X201D; DIT</TD></TR>
</TABLE></DIV>
<A NAME="fig:msrl-roster-deep"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P> <A NAME="modsic"></A> </P><!--TOC subsection <TT>mod_sic</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc62">3.3.24</A>&#XA0;&#XA0;<A HREF="#modsic"><TT>mod_sic</TT></A></H3><!--SEC END --><P> <A NAME="modsic"></A>
</P><P>This module adds support for Server IP Check (<A HREF="http://xmpp.org/extensions/xep-0279.html">XEP-0279</A>). This protocol
enables a client to discover its external IP address.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{iqdisc, Discipline}</TT></B></DT><DD CLASS="dd-description"> This specifies
the processing discipline for <TT>urn:xmpp:sic:0</TT> IQ queries (see section&#XA0;<A HREF="#modiqdiscoption">3.3.2</A>).
</DD></DL><P> <A NAME="modstats"></A> </P><!--TOC subsection <TT>mod_stats</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc61">3.3.23</A>&#XA0;&#XA0;<A HREF="#modstats"><TT>mod_stats</TT></A></H3><!--SEC END --><P> <A NAME="modstats"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc63">3.3.25</A>&#XA0;&#XA0;<A HREF="#modstats"><TT>mod_stats</TT></A></H3><!--SEC END --><P> <A NAME="modstats"></A>
</P><P>This module adds support for Statistics Gathering (<A HREF="http://xmpp.org/extensions/xep-0039.html">XEP-0039</A>). This protocol
allows you to retrieve next statistics from your <TT>ejabberd</TT> deployment:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
@ -3207,14 +3485,14 @@ by sending:
&lt;/query&gt;
&lt;/iq&gt;
</PRE></LI></UL><P> <A NAME="modtime"></A> </P><!--TOC subsection <TT>mod_time</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc62">3.3.24</A>&#XA0;&#XA0;<A HREF="#modtime"><TT>mod_time</TT></A></H3><!--SEC END --><P> <A NAME="modtime"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc64">3.3.26</A>&#XA0;&#XA0;<A HREF="#modtime"><TT>mod_time</TT></A></H3><!--SEC END --><P> <A NAME="modtime"></A>
</P><P>This module features support for Entity Time (<A HREF="http://xmpp.org/extensions/xep-0202.html">XEP-0202</A>). By using this XEP,
you are able to discover the time at another entity&#X2019;s location.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{iqdisc, Discipline}</TT></B></DT><DD CLASS="dd-description"> This specifies
the processing discipline for Entity Time (<TT>jabber:iq:time</TT>) IQ queries (see section&#XA0;<A HREF="#modiqdiscoption">3.3.2</A>).
</DD></DL><P> <A NAME="modvcard"></A> </P><!--TOC subsection <TT>mod_vcard</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc63">3.3.25</A>&#XA0;&#XA0;<A HREF="#modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END --><P> <A NAME="modvcard"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc65">3.3.27</A>&#XA0;&#XA0;<A HREF="#modvcard"><TT>mod_vcard</TT></A></H3><!--SEC END --><P> <A NAME="modvcard"></A>
</P><P>This module allows end users to store and retrieve their vCard, and to retrieve
other users vCards, as defined in vcard-temp (<A HREF="http://xmpp.org/extensions/xep-0054.html">XEP-0054</A>). The module also
implements an uncomplicated Jabber User Directory based on the vCards of
@ -3269,7 +3547,7 @@ and that all virtual hosts will be searched instead of only the current one:
...
]}.
</PRE></LI></UL><P> <A NAME="modvcardldap"></A> </P><!--TOC subsection <TT>mod_vcard_ldap</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc64">3.3.26</A>&#XA0;&#XA0;<A HREF="#modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END --><P> <A NAME="modvcardldap"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc66">3.3.28</A>&#XA0;&#XA0;<A HREF="#modvcardldap"><TT>mod_vcard_ldap</TT></A></H3><!--SEC END --><P> <A NAME="modvcardldap"></A>
</P><P><TT>ejabberd</TT> can map LDAP attributes to vCard fields. This behaviour is
implemented in the <TT>mod_vcard_ldap</TT> module. This module does not depend on the
authentication method (see&#XA0;<A HREF="#ldapauth">3.2.5</A>).</P><P>Usually <TT>ejabberd</TT> treats LDAP as a read-only storage:
@ -3451,7 +3729,7 @@ searching his info in LDAP.</P></LI><LI CLASS="li-itemize"><TT>ldap_vcard_map</T
{"Nickname", "NICKNAME"}
]},
</PRE></LI></UL><P> <A NAME="modvcardxupdate"></A> </P><!--TOC subsection <TT>mod_vcard_xupdate</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc65">3.3.27</A>&#XA0;&#XA0;<A HREF="#modvcardxupdate"><TT>mod_vcard_xupdate</TT></A></H3><!--SEC END --><P> <A NAME="modvcardxupdate"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc67">3.3.29</A>&#XA0;&#XA0;<A HREF="#modvcardxupdate"><TT>mod_vcard_xupdate</TT></A></H3><!--SEC END --><P> <A NAME="modvcardxupdate"></A>
</P><P>The user&#X2019;s client can store an avatar in the user vCard.
The vCard-Based Avatars protocol (<A HREF="http://xmpp.org/extensions/xep-0153.html">XEP-0153</A>)
provides a method for clients to inform the contacts what is the avatar hash value.
@ -3465,7 +3743,7 @@ and each presence sent by a client produces hash retrieval and a
presence stanza rewrite.
For this reason, enabling this module will introduce a computational overhead
in servers with clients that change frequently their presence.</P><P> <A NAME="modversion"></A> </P><!--TOC subsection <TT>mod_version</TT>-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc66">3.3.28</A>&#XA0;&#XA0;<A HREF="#modversion"><TT>mod_version</TT></A></H3><!--SEC END --><P> <A NAME="modversion"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc68">3.3.30</A>&#XA0;&#XA0;<A HREF="#modversion"><TT>mod_version</TT></A></H3><!--SEC END --><P> <A NAME="modversion"></A>
</P><P>This module implements Software Version (<A HREF="http://xmpp.org/extensions/xep-0092.html">XEP-0092</A>). Consequently, it
answers <TT>ejabberd</TT>&#X2019;s version when queried.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description">
@ -3474,8 +3752,8 @@ The default value is <TT>true</TT>.
</DD><DT CLASS="dt-description"><B><TT>{iqdisc, Discipline}</TT></B></DT><DD CLASS="dd-description"> This specifies
the processing discipline for Software Version (<TT>jabber:iq:version</TT>) IQ queries (see section&#XA0;<A HREF="#modiqdiscoption">3.3.2</A>).
</DD></DL><P> <A NAME="manage"></A> </P><!--TOC chapter Managing an <TT>ejabberd</TT> Server-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc67">Chapter&#XA0;4</A>&#XA0;&#XA0;<A HREF="#manage">Managing an <TT>ejabberd</TT> Server</A></H1><!--SEC END --><P> <A NAME="manage"></A> </P><P> <A NAME="ejabberdctl"></A> </P><!--TOC section <TT>ejabberdctl</TT>-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc68">4.1</A>&#XA0;&#XA0;<A HREF="#ejabberdctl"><TT>ejabberdctl</TT></A></H2><!--SEC END --><P> <A NAME="ejabberdctl"></A> </P><P>With the <TT>ejabberdctl</TT> command line administration script
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc69">Chapter&#XA0;4</A>&#XA0;&#XA0;<A HREF="#manage">Managing an <TT>ejabberd</TT> Server</A></H1><!--SEC END --><P> <A NAME="manage"></A> </P><P> <A NAME="ejabberdctl"></A> </P><!--TOC section <TT>ejabberdctl</TT>-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc70">4.1</A>&#XA0;&#XA0;<A HREF="#ejabberdctl"><TT>ejabberdctl</TT></A></H2><!--SEC END --><P> <A NAME="ejabberdctl"></A> </P><P>With the <TT>ejabberdctl</TT> command line administration script
you can execute <TT>ejabberdctl commands</TT> (described in the next section, <A HREF="#ectl-commands">4.1.1</A>)
and also many general <TT>ejabberd commands</TT> (described in section <A HREF="#eja-commands">4.2</A>).
This means you can start, stop and perform many other administrative tasks
@ -3487,7 +3765,7 @@ and other codes may be used for specific results.
This can be used by other scripts to determine automatically
if a command succeeded or failed,
for example using: <TT>echo $?</TT></P><P> <A NAME="ectl-commands"></A> </P><!--TOC subsection ejabberdctl Commands-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc69">4.1.1</A>&#XA0;&#XA0;<A HREF="#ectl-commands">ejabberdctl Commands</A></H3><!--SEC END --><P> <A NAME="ectl-commands"></A> </P><P>When <TT>ejabberdctl</TT> is executed without any parameter,
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc71">4.1.1</A>&#XA0;&#XA0;<A HREF="#ectl-commands">ejabberdctl Commands</A></H3><!--SEC END --><P> <A NAME="ectl-commands"></A> </P><P>When <TT>ejabberdctl</TT> is executed without any parameter,
it displays the available options. If there isn&#X2019;t an <TT>ejabberd</TT> server running,
the available parameters are:
</P><DL CLASS="description"><DT CLASS="dt-description">
@ -3523,7 +3801,7 @@ robot1
testuser1
testuser2
</PRE><P> <A NAME="erlangconfiguration"></A> </P><!--TOC subsection Erlang Runtime System-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc70">4.1.2</A>&#XA0;&#XA0;<A HREF="#erlangconfiguration">Erlang Runtime System</A></H3><!--SEC END --><P> <A NAME="erlangconfiguration"></A> </P><P><TT>ejabberd</TT> is an Erlang/OTP application that runs inside an Erlang runtime system.
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc72">4.1.2</A>&#XA0;&#XA0;<A HREF="#erlangconfiguration">Erlang Runtime System</A></H3><!--SEC END --><P> <A NAME="erlangconfiguration"></A> </P><P><TT>ejabberd</TT> is an Erlang/OTP application that runs inside an Erlang runtime system.
This system is configured using environment variables and command line parameters.
The <TT>ejabberdctl</TT> administration script uses many of those possibilities.
You can configure some of them with the file <TT>ejabberdctl.cfg</TT>,
@ -3600,7 +3878,7 @@ not &#X201C;Simple Authentication and Security Layer&#X201D;.
</DD></DL><P>
Note that some characters need to be escaped when used in shell scripts, for instance <CODE>"</CODE> and <CODE>{}</CODE>.
You can find other options in the Erlang manual page (<TT>erl -man erl</TT>).</P><P> <A NAME="eja-commands"></A> </P><!--TOC section <TT>ejabberd</TT> Commands-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc71">4.2</A>&#XA0;&#XA0;<A HREF="#eja-commands"><TT>ejabberd</TT> Commands</A></H2><!--SEC END --><P> <A NAME="eja-commands"></A> </P><P>An <TT>ejabberd command</TT> is an abstract function identified by a name,
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc73">4.2</A>&#XA0;&#XA0;<A HREF="#eja-commands"><TT>ejabberd</TT> Commands</A></H2><!--SEC END --><P> <A NAME="eja-commands"></A> </P><P>An <TT>ejabberd command</TT> is an abstract function identified by a name,
with a defined number and type of calling arguments and type of result
that is registered in the <TT>ejabberd_commands</TT> service.
Those commands can be defined in any Erlang module and executed using any valid frontend.</P><P><TT>ejabberd</TT> includes a frontend to execute <TT>ejabberd commands</TT>: the script <TT>ejabberdctl</TT>.
@ -3608,7 +3886,7 @@ Other known frontends that can be installed to execute ejabberd commands in diff
<TT>ejabberd_xmlrpc</TT> (XML-RPC service),
<TT>mod_rest</TT> (HTTP POST service),
<TT>mod_shcommands</TT> (ejabberd WebAdmin page).</P><P> <A NAME="list-eja-commands"></A> </P><!--TOC subsection List of ejabberd Commands-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc72">4.2.1</A>&#XA0;&#XA0;<A HREF="#list-eja-commands">List of ejabberd Commands</A></H3><!--SEC END --><P> <A NAME="list-eja-commands"></A> </P><P><TT>ejabberd</TT> includes a few ejabberd Commands by default.
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc74">4.2.1</A>&#XA0;&#XA0;<A HREF="#list-eja-commands">List of ejabberd Commands</A></H3><!--SEC END --><P> <A NAME="list-eja-commands"></A> </P><P><TT>ejabberd</TT> includes a few ejabberd Commands by default.
When more modules are installed, new commands may be available in the frontends.</P><P>The easiest way to get a list of the available commands, and get help for them is to use
the ejabberdctl script:
</P><PRE CLASS="verbatim">$ ejabberdctl help
@ -3660,7 +3938,7 @@ is very high.
</DD><DT CLASS="dt-description"><B><TT>register user host password</TT></B></DT><DD CLASS="dd-description"> Register an account in that domain with the given password.
</DD><DT CLASS="dt-description"><B><TT>unregister user host</TT></B></DT><DD CLASS="dd-description"> Unregister the given account.
</DD></DL><P> <A NAME="accesscommands"></A> </P><!--TOC subsection Restrict Execution with AccessCommands-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc73">4.2.2</A>&#XA0;&#XA0;<A HREF="#accesscommands">Restrict Execution with AccessCommands</A></H3><!--SEC END --><P> <A NAME="accesscommands"></A> </P><P>The frontends can be configured to restrict access to certain commands.
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc75">4.2.2</A>&#XA0;&#XA0;<A HREF="#accesscommands">Restrict Execution with AccessCommands</A></H3><!--SEC END --><P> <A NAME="accesscommands"></A> </P><P>The frontends can be configured to restrict access to certain commands.
In that case, authentication information must be provided.
In each frontend the <TT>AccessCommands</TT> option is defined
in a different place. But in all cases the option syntax is the same:
@ -3705,7 +3983,7 @@ and the provided arguments do not contradict Arguments.</P><P>As an example to u
{_bot_reg_test, [register, unregister], [{host, "test.org"}]}
]
</PRE><P> <A NAME="webadmin"></A> </P><!--TOC section Web Admin-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc74">4.3</A>&#XA0;&#XA0;<A HREF="#webadmin">Web Admin</A></H2><!--SEC END --><P> <A NAME="webadmin"></A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc76">4.3</A>&#XA0;&#XA0;<A HREF="#webadmin">Web Admin</A></H2><!--SEC END --><P> <A NAME="webadmin"></A>
</P><P>The <TT>ejabberd</TT> Web Admin allows to administer most of <TT>ejabberd</TT> using a web browser.</P><P>This feature is enabled by default:
a <TT>ejabberd_http</TT> listener with the option <TT>web_admin</TT> (see
section&#XA0;<A HREF="#listened">3.1.3</A>) is included in the listening ports. Then you can open
@ -3782,13 +4060,13 @@ The file is searched by default in
The directory of the documentation can be specified in
the environment variable <TT>EJABBERD_DOC_PATH</TT>.
See section <A HREF="#erlangconfiguration">4.1.2</A>.</P><P> <A NAME="adhoccommands"></A> </P><!--TOC section Ad-hoc Commands-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc75">4.4</A>&#XA0;&#XA0;<A HREF="#adhoccommands">Ad-hoc Commands</A></H2><!--SEC END --><P> <A NAME="adhoccommands"></A> </P><P>If you enable <TT>mod_configure</TT> and <TT>mod_adhoc</TT>,
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc77">4.4</A>&#XA0;&#XA0;<A HREF="#adhoccommands">Ad-hoc Commands</A></H2><!--SEC END --><P> <A NAME="adhoccommands"></A> </P><P>If you enable <TT>mod_configure</TT> and <TT>mod_adhoc</TT>,
you can perform several administrative tasks in <TT>ejabberd</TT>
with a XMPP client.
The client must support Ad-Hoc Commands (<A HREF="http://xmpp.org/extensions/xep-0050.html">XEP-0050</A>),
and you must login in the XMPP server with
an account with proper privileges.</P><P> <A NAME="changeerlangnodename"></A> </P><!--TOC section Change Computer Hostname-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc76">4.5</A>&#XA0;&#XA0;<A HREF="#changeerlangnodename">Change Computer Hostname</A></H2><!--SEC END --><P> <A NAME="changeerlangnodename"></A> </P><P><TT>ejabberd</TT> uses the distributed Mnesia database.
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc78">4.5</A>&#XA0;&#XA0;<A HREF="#changeerlangnodename">Change Computer Hostname</A></H2><!--SEC END --><P> <A NAME="changeerlangnodename"></A> </P><P><TT>ejabberd</TT> uses the distributed Mnesia database.
Being distributed, Mnesia enforces consistency of its file,
so it stores the name of the Erlang node in it (see section <A HREF="#nodename">5.4</A>).
The name of an Erlang node includes the hostname of the computer.
@ -3834,8 +4112,8 @@ mv /var/lib/ejabberd/*.* /var/lib/ejabberd/oldfiles/
</PRE></LI><LI CLASS="li-enumerate">Check that the information of the old database is available: accounts, rosters...
After you finish, remember to delete the temporary backup files from public directories.
</LI></OL><P> <A NAME="secure"></A> </P><!--TOC chapter Securing <TT>ejabberd</TT>-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc77">Chapter&#XA0;5</A>&#XA0;&#XA0;<A HREF="#secure">Securing <TT>ejabberd</TT></A></H1><!--SEC END --><P> <A NAME="secure"></A> </P><P> <A NAME="firewall"></A> </P><!--TOC section Firewall Settings-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc78">5.1</A>&#XA0;&#XA0;<A HREF="#firewall">Firewall Settings</A></H2><!--SEC END --><P> <A NAME="firewall"></A>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc79">Chapter&#XA0;5</A>&#XA0;&#XA0;<A HREF="#secure">Securing <TT>ejabberd</TT></A></H1><!--SEC END --><P> <A NAME="secure"></A> </P><P> <A NAME="firewall"></A> </P><!--TOC section Firewall Settings-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc80">5.1</A>&#XA0;&#XA0;<A HREF="#firewall">Firewall Settings</A></H2><!--SEC END --><P> <A NAME="firewall"></A>
</P><P>You need to take the following TCP ports in mind when configuring your firewall:
</P><BLOCKQUOTE CLASS="table"><DIV CLASS="center"><DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV>
<TABLE BORDER=1 CELLSPACING=0 CELLPADDING=1><TR><TD ALIGN=left NOWRAP><B>Port</B></TD><TD ALIGN=left NOWRAP><B>Description</B></TD></TR>
@ -3846,7 +4124,7 @@ After you finish, remember to delete the temporary backup files from public dire
<TR><TD ALIGN=left NOWRAP>port range</TD><TD ALIGN=left NOWRAP>Used for connections between Erlang nodes. This range is configurable (see section <A HREF="#epmd">5.2</A>).</TD></TR>
</TABLE>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P> <A NAME="epmd"></A> </P><!--TOC section epmd-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc79">5.2</A>&#XA0;&#XA0;<A HREF="#epmd">epmd</A></H2><!--SEC END --><P> <A NAME="epmd"></A> </P><P><A HREF="http://www.erlang.org/doc/man/epmd.html">epmd (Erlang Port Mapper Daemon)</A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc81">5.2</A>&#XA0;&#XA0;<A HREF="#epmd">epmd</A></H2><!--SEC END --><P> <A NAME="epmd"></A> </P><P><A HREF="http://www.erlang.org/doc/man/epmd.html">epmd (Erlang Port Mapper Daemon)</A>
is a small name server included in Erlang/OTP
and used by Erlang programs when establishing distributed Erlang communications.
<TT>ejabberd</TT> needs <TT>epmd</TT> to use <TT>ejabberdctl</TT> and also when clustering <TT>ejabberd</TT> nodes.
@ -3871,7 +4149,7 @@ but can be configured in the file <TT>ejabberdctl.cfg</TT>.
The Erlang command-line parameter used internally is, for example:
</P><PRE CLASS="verbatim">erl ... -kernel inet_dist_listen_min 4370 inet_dist_listen_max 4375
</PRE><P> <A NAME="cookie"></A> </P><!--TOC section Erlang Cookie-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc80">5.3</A>&#XA0;&#XA0;<A HREF="#cookie">Erlang Cookie</A></H2><!--SEC END --><P> <A NAME="cookie"></A> </P><P>The Erlang cookie is a string with numbers and letters.
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc82">5.3</A>&#XA0;&#XA0;<A HREF="#cookie">Erlang Cookie</A></H2><!--SEC END --><P> <A NAME="cookie"></A> </P><P>The Erlang cookie is a string with numbers and letters.
An Erlang node reads the cookie at startup from the command-line parameter <TT>-setcookie</TT>.
If not indicated, the cookie is read from the cookie file <TT>$HOME/.erlang.cookie</TT>.
If this file does not exist, it is created immediately with a random cookie.
@ -3885,7 +4163,7 @@ to prevent unauthorized access or intrusion to an Erlang node.
The communication between Erlang nodes are not encrypted,
so the cookie could be read sniffing the traffic on the network.
The recommended way to secure the Erlang node is to block the port 4369.</P><P> <A NAME="nodename"></A> </P><!--TOC section Erlang Node Name-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc81">5.4</A>&#XA0;&#XA0;<A HREF="#nodename">Erlang Node Name</A></H2><!--SEC END --><P> <A NAME="nodename"></A> </P><P>An Erlang node may have a node name.
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc83">5.4</A>&#XA0;&#XA0;<A HREF="#nodename">Erlang Node Name</A></H2><!--SEC END --><P> <A NAME="nodename"></A> </P><P>An Erlang node may have a node name.
The name can be short (if indicated with the command-line parameter <TT>-sname</TT>)
or long (if indicated with the parameter <TT>-name</TT>).
Starting an Erlang node with -sname limits the communication between Erlang nodes to the LAN.</P><P>Using the option <TT>-sname</TT> instead of <TT>-name</TT> is a simple method
@ -3894,7 +4172,7 @@ However, it is not ultimately effective to prevent access to the Erlang node,
because it may be possible to fake the fact that you are on another network
using a modified version of Erlang <TT>epmd</TT>.
The recommended way to secure the Erlang node is to block the port 4369.</P><P> <A NAME="secure-files"></A> </P><!--TOC section Securing Sensitive Files-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc82">5.5</A>&#XA0;&#XA0;<A HREF="#secure-files">Securing Sensitive Files</A></H2><!--SEC END --><P> <A NAME="secure-files"></A> </P><P><TT>ejabberd</TT> stores sensitive data in the file system either in plain text or binary files.
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc84">5.5</A>&#XA0;&#XA0;<A HREF="#secure-files">Securing Sensitive Files</A></H2><!--SEC END --><P> <A NAME="secure-files"></A> </P><P><TT>ejabberd</TT> stores sensitive data in the file system either in plain text or binary files.
The file system permissions should be set to only allow the proper user to read,
write and execute those files and directories.</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>ejabberd configuration file: /etc/ejabberd/ejabberd.cfg</TT></B></DT><DD CLASS="dd-description">
@ -3914,9 +4192,9 @@ so it is preferable to secure the whole <TT>/var/lib/ejabberd/</TT> directory.
</DD><DT CLASS="dt-description"><B><TT>Erlang cookie file: /var/lib/ejabberd/.erlang.cookie</TT></B></DT><DD CLASS="dd-description">
See section <A HREF="#cookie">5.3</A>.
</DD></DL><P> <A NAME="clustering"></A> </P><!--TOC chapter Clustering-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc83">Chapter&#XA0;6</A>&#XA0;&#XA0;<A HREF="#clustering">Clustering</A></H1><!--SEC END --><P> <A NAME="clustering"></A>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc85">Chapter&#XA0;6</A>&#XA0;&#XA0;<A HREF="#clustering">Clustering</A></H1><!--SEC END --><P> <A NAME="clustering"></A>
</P><P> <A NAME="howitworks"></A> </P><!--TOC section How it Works-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc84">6.1</A>&#XA0;&#XA0;<A HREF="#howitworks">How it Works</A></H2><!--SEC END --><P> <A NAME="howitworks"></A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc86">6.1</A>&#XA0;&#XA0;<A HREF="#howitworks">How it Works</A></H2><!--SEC END --><P> <A NAME="howitworks"></A>
</P><P>A XMPP domain is served by one or more <TT>ejabberd</TT> nodes. These nodes can
be run on different machines that are connected via a network. They all
must have the ability to connect to port 4369 of all another nodes, and must
@ -3930,29 +4208,29 @@ router,
</LI><LI CLASS="li-itemize">session manager,
</LI><LI CLASS="li-itemize">s2s manager.
</LI></UL><P> <A NAME="router"></A> </P><!--TOC subsection Router-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc85">6.1.1</A>&#XA0;&#XA0;<A HREF="#router">Router</A></H3><!--SEC END --><P> <A NAME="router"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc87">6.1.1</A>&#XA0;&#XA0;<A HREF="#router">Router</A></H3><!--SEC END --><P> <A NAME="router"></A>
</P><P>This module is the main router of XMPP packets on each node. It
routes them based on their destination&#X2019;s domains. It uses a global
routing table. The domain of the packet&#X2019;s destination is searched in the
routing table, and if it is found, the packet is routed to the
appropriate process. If not, it is sent to the s2s manager.</P><P> <A NAME="localrouter"></A> </P><!--TOC subsection Local Router-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc86">6.1.2</A>&#XA0;&#XA0;<A HREF="#localrouter">Local Router</A></H3><!--SEC END --><P> <A NAME="localrouter"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc88">6.1.2</A>&#XA0;&#XA0;<A HREF="#localrouter">Local Router</A></H3><!--SEC END --><P> <A NAME="localrouter"></A>
</P><P>This module routes packets which have a destination domain equal to
one of this server&#X2019;s host names. If the destination JID has a non-empty user
part, it is routed to the session manager, otherwise it is processed depending
on its content.</P><P> <A NAME="sessionmanager"></A> </P><!--TOC subsection Session Manager-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc87">6.1.3</A>&#XA0;&#XA0;<A HREF="#sessionmanager">Session Manager</A></H3><!--SEC END --><P> <A NAME="sessionmanager"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc89">6.1.3</A>&#XA0;&#XA0;<A HREF="#sessionmanager">Session Manager</A></H3><!--SEC END --><P> <A NAME="sessionmanager"></A>
</P><P>This module routes packets to local users. It looks up to which user
resource a packet must be sent via a presence table. Then the packet is
either routed to the appropriate c2s process, or stored in offline
storage, or bounced back.</P><P> <A NAME="s2smanager"></A> </P><!--TOC subsection s2s Manager-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc88">6.1.4</A>&#XA0;&#XA0;<A HREF="#s2smanager">s2s Manager</A></H3><!--SEC END --><P> <A NAME="s2smanager"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc90">6.1.4</A>&#XA0;&#XA0;<A HREF="#s2smanager">s2s Manager</A></H3><!--SEC END --><P> <A NAME="s2smanager"></A>
</P><P>This module routes packets to other XMPP servers. First, it
checks if an opened s2s connection from the domain of the packet&#X2019;s
source to the domain of the packet&#X2019;s destination exists. If that is the case,
the s2s manager routes the packet to the process
serving this connection, otherwise a new connection is opened.</P><P> <A NAME="cluster"></A> </P><!--TOC section Clustering Setup-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc89">6.2</A>&#XA0;&#XA0;<A HREF="#cluster">Clustering Setup</A></H2><!--SEC END --><P> <A NAME="cluster"></A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc91">6.2</A>&#XA0;&#XA0;<A HREF="#cluster">Clustering Setup</A></H2><!--SEC END --><P> <A NAME="cluster"></A>
</P><P>Suppose you already configured <TT>ejabberd</TT> on one machine named (<TT>first</TT>),
and you need to setup another one to make an <TT>ejabberd</TT> cluster. Then do
following steps:</P><OL CLASS="enumerate" type=1><LI CLASS="li-enumerate">
@ -3990,10 +4268,10 @@ and &#X2018;<CODE>access</CODE>&#X2019; options because they will be taken from
enabled only on one machine in the cluster.
</LI></OL><P>You can repeat these steps for other machines supposed to serve this
domain.</P><P> <A NAME="servicelb"></A> </P><!--TOC section Service Load-Balancing-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc90">6.3</A>&#XA0;&#XA0;<A HREF="#servicelb">Service Load-Balancing</A></H2><!--SEC END --><P> <A NAME="servicelb"></A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc92">6.3</A>&#XA0;&#XA0;<A HREF="#servicelb">Service Load-Balancing</A></H2><!--SEC END --><P> <A NAME="servicelb"></A>
</P><P> <A NAME="componentlb"></A> </P><!--TOC subsection Components Load-Balancing-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc91">6.3.1</A>&#XA0;&#XA0;<A HREF="#componentlb">Components Load-Balancing</A></H3><!--SEC END --><P> <A NAME="componentlb"></A> </P><P> <A NAME="domainlb"></A> </P><!--TOC subsection Domain Load-Balancing Algorithm-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc92">6.3.2</A>&#XA0;&#XA0;<A HREF="#domainlb">Domain Load-Balancing Algorithm</A></H3><!--SEC END --><P> <A NAME="domainlb"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc93">6.3.1</A>&#XA0;&#XA0;<A HREF="#componentlb">Components Load-Balancing</A></H3><!--SEC END --><P> <A NAME="componentlb"></A> </P><P> <A NAME="domainlb"></A> </P><!--TOC subsection Domain Load-Balancing Algorithm-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc94">6.3.2</A>&#XA0;&#XA0;<A HREF="#domainlb">Domain Load-Balancing Algorithm</A></H3><!--SEC END --><P> <A NAME="domainlb"></A>
</P><P><TT>ejabberd</TT> includes an algorithm to load balance the components that are plugged on an <TT>ejabberd</TT> cluster. It means that you can plug one or several instances of the same component on each <TT>ejabberd</TT> cluster and that the traffic will be automatically distributed.</P><P>The default distribution algorithm try to deliver to a local instance of a component. If several local instances are available, one instance is chosen randomly. If no instance is available locally, one instance is chosen randomly among the remote component instances.</P><P>If you need a different behaviour, you can change the load balancing behaviour with the option <TT>domain_balancing</TT>. The syntax of the option is the following:
</P><DL CLASS="description"><DT CLASS="dt-description"><B><TT>{domain_balancing, "component.example.com", BalancingCriteria}.</TT></B></DT></DL><P>Several balancing criteria are available:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
@ -4002,17 +4280,20 @@ domain.</P><P> <A NAME="servicelb"></A> </P><!--TOC section Service Load-Balanci
</LI><LI CLASS="li-itemize"><TT>bare_destination</TT>: the bare JID (without resource) of the packet <TT>to</TT> attribute is used.
</LI><LI CLASS="li-itemize"><TT>bare_source</TT>: the bare JID (without resource) of the packet <TT>from</TT> attribute is used.
</LI></UL><P>If the value corresponding to the criteria is the same, the same component instance in the cluster will be used.</P><P> <A NAME="lbbuckets"></A> </P><!--TOC subsection Load-Balancing Buckets-->
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc93">6.3.3</A>&#XA0;&#XA0;<A HREF="#lbbuckets">Load-Balancing Buckets</A></H3><!--SEC END --><P> <A NAME="lbbuckets"></A>
<H3 CLASS="subsection"><!--SEC ANCHOR --><A NAME="htoc95">6.3.3</A>&#XA0;&#XA0;<A HREF="#lbbuckets">Load-Balancing Buckets</A></H3><!--SEC END --><P> <A NAME="lbbuckets"></A>
</P><P>When there is a risk of failure for a given component, domain balancing can cause service trouble. If one component is failing the service will not work correctly unless the sessions are rebalanced.</P><P>In this case, it is best to limit the problem to the sessions handled by the failing component. This is what the <TT>domain_balancing_component_number</TT> option does, making the load balancing algorithm not dynamic, but sticky on a fix number of component instances.</P><P>The syntax is:
</P><DL CLASS="description"><DT CLASS="dt-description"><B><TT>{domain_balancing_component_number, "component.example.com", Number}.</TT></B></DT></DL><P> <A NAME="debugging"></A> </P><!--TOC chapter Debugging-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc94">Chapter&#XA0;7</A>&#XA0;&#XA0;<A HREF="#debugging">Debugging</A></H1><!--SEC END --><P> <A NAME="debugging"></A>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc96">Chapter&#XA0;7</A>&#XA0;&#XA0;<A HREF="#debugging">Debugging</A></H1><!--SEC END --><P> <A NAME="debugging"></A>
</P><P> <A NAME="logfiles"></A> </P><!--TOC section Log Files-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc95">7.1</A>&#XA0;&#XA0;<A HREF="#logfiles">Log Files</A></H2><!--SEC END --><P> <A NAME="logfiles"></A> </P><P>An <TT>ejabberd</TT> node writes two log files:
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc97">7.1</A>&#XA0;&#XA0;<A HREF="#logfiles">Log Files</A></H2><!--SEC END --><P> <A NAME="logfiles"></A> </P><P>An <TT>ejabberd</TT> node writes two log files:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>ejabberd.log</TT></B></DT><DD CLASS="dd-description"> is the ejabberd service log, with the messages reported by <TT>ejabberd</TT> code
</DD><DT CLASS="dt-description"><B><TT>erlang.log</TT></B></DT><DD CLASS="dd-description"> is the Erlang/OTP system log, with the messages reported by Erlang/OTP using SASL (System Architecture Support Libraries)
</DD></DL><P>The option <TT>loglevel</TT> modifies the verbosity of the file ejabberd.log. The syntax is:
</P><DL CLASS="description"><DT CLASS="dt-description"><B><TT>{loglevel, Level}.</TT></B></DT></DL><P>The possible <TT>Level</TT> are:
</DD></DL><P>The option <TT>loglevel</TT> modifies the verbosity of the file ejabberd.log. The syntax is one of:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{loglevel, Level}.</TT></B></DT><DD CLASS="dd-description"> The standard form to set a global log level.
</DD><DT CLASS="dt-description"><B><TT>{loglevel, {Level, [{Module, Level}, ...]}}.</TT></B></DT><DD CLASS="dd-description"> The given Erlang modules will be logged with specific log levels, all others will use the default log level.
</DD></DL><P>The possible <TT>Level</TT> are:
</P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>0</TT></B></DT><DD CLASS="dd-description"> No ejabberd log at all (not recommended)
</DD><DT CLASS="dt-description"><B><TT>1</TT></B></DT><DD CLASS="dd-description"> Critical
@ -4029,12 +4310,12 @@ The ejabberdctl command <TT>reopen-log</TT>
(please refer to section <A HREF="#ectl-commands">4.1.1</A>)
reopens the log files,
and also renames the old ones if you didn&#X2019;t rename them.</P><P> <A NAME="debugconsole"></A> </P><!--TOC section Debug Console-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc96">7.2</A>&#XA0;&#XA0;<A HREF="#debugconsole">Debug Console</A></H2><!--SEC END --><P> <A NAME="debugconsole"></A> </P><P>The Debug Console is an Erlang shell attached to an already running <TT>ejabberd</TT> server.
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc98">7.2</A>&#XA0;&#XA0;<A HREF="#debugconsole">Debug Console</A></H2><!--SEC END --><P> <A NAME="debugconsole"></A> </P><P>The Debug Console is an Erlang shell attached to an already running <TT>ejabberd</TT> server.
With this Erlang shell, an experienced administrator can perform complex tasks.</P><P>This shell gives complete control over the <TT>ejabberd</TT> server,
so it is important to use it with extremely care.
There are some simple and safe examples in the article
<A HREF="http://www.ejabberd.im/interconnect-erl-nodes">Interconnecting Erlang Nodes</A></P><P>To exit the shell, close the window or press the keys: control+c control+c.</P><P> <A NAME="watchdog"></A> </P><!--TOC section Watchdog Alerts-->
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc97">7.3</A>&#XA0;&#XA0;<A HREF="#watchdog">Watchdog Alerts</A></H2><!--SEC END --><P> <A NAME="watchdog"></A>
<H2 CLASS="section"><!--SEC ANCHOR --><A NAME="htoc99">7.3</A>&#XA0;&#XA0;<A HREF="#watchdog">Watchdog Alerts</A></H2><!--SEC END --><P> <A NAME="watchdog"></A>
</P><P><TT>ejabberd</TT> includes a watchdog mechanism that may be useful to developers
when troubleshooting a problem related to memory usage.
If a process in the <TT>ejabberd</TT> server consumes more memory than the configured threshold,
@ -4054,7 +4335,7 @@ or in a conversation with the watchdog alert bot.</P><P>The syntax is:
To remove all watchdog admins, set the option with an empty list:
</P><PRE CLASS="verbatim">{watchdog_admins, []}.
</PRE><P> <A NAME="i18ni10n"></A> </P><!--TOC chapter Internationalization and Localization-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc98">Appendix&#XA0;A</A>&#XA0;&#XA0;<A HREF="#i18ni10n">Internationalization and Localization</A></H1><!--SEC END --><P> <A NAME="i18ni10n"></A>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc100">Appendix&#XA0;A</A>&#XA0;&#XA0;<A HREF="#i18ni10n">Internationalization and Localization</A></H1><!--SEC END --><P> <A NAME="i18ni10n"></A>
</P><P>The source code of <TT>ejabberd</TT> supports localization.
The translators can edit the
<A HREF="http://www.gnu.org/software/gettext/">gettext</A> .po files
@ -4089,21 +4370,22 @@ HTTP header &#X2018;Accept-Language: ru&#X2019;</TD></TR>
</TABLE></DIV>
<A NAME="fig:webadmmainru"></A>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P> <A NAME="releasenotes"></A> </P><!--TOC chapter Release Notes-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc99">Appendix&#XA0;B</A>&#XA0;&#XA0;<A HREF="#releasenotes">Release Notes</A></H1><!--SEC END --><P> <A NAME="releasenotes"></A>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc101">Appendix&#XA0;B</A>&#XA0;&#XA0;<A HREF="#releasenotes">Release Notes</A></H1><!--SEC END --><P> <A NAME="releasenotes"></A>
</P><P>Release notes are available from <A HREF="http://www.process-one.net/en/ejabberd/release_notes/">ejabberd Home Page</A></P><P> <A NAME="acknowledgements"></A> </P><!--TOC chapter Acknowledgements-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc100">Appendix&#XA0;C</A>&#XA0;&#XA0;<A HREF="#acknowledgements">Acknowledgements</A></H1><!--SEC END --><P> <A NAME="acknowledgements"></A> </P><P>Thanks to all people who contributed to this guide:
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc102">Appendix&#XA0;C</A>&#XA0;&#XA0;<A HREF="#acknowledgements">Acknowledgements</A></H1><!--SEC END --><P> <A NAME="acknowledgements"></A> </P><P>Thanks to all people who contributed to this guide:
</P><UL CLASS="itemize"><LI CLASS="li-itemize">
Alexey Shchepin (<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A>)
</LI><LI CLASS="li-itemize">Badlop (<A HREF="xmpp:badlop@jabberes.org"><TT>xmpp:badlop@jabberes.org</TT></A>)
</LI><LI CLASS="li-itemize">Evgeniy Khramtsov (<A HREF="xmpp:xram@jabber.ru"><TT>xmpp:xram@jabber.ru</TT></A>)
</LI><LI CLASS="li-itemize">Florian Zumbiehl (<A HREF="xmpp:florz@florz.de"><TT>xmpp:florz@florz.de</TT></A>)
</LI><LI CLASS="li-itemize">Marcin Owsiany (<A HREF="xmpp:marcin.owsiany@gmail.com"><TT>xmpp:marcin.owsiany@gmail.com</TT></A>)
</LI><LI CLASS="li-itemize">Michael Grigutsch (<A HREF="xmpp:migri@jabber.i-pobox.net"><TT>xmpp:migri@jabber.i-pobox.net</TT></A>)
</LI><LI CLASS="li-itemize">Mickael Remond (<A HREF="xmpp:mremond@process-one.net"><TT>xmpp:mremond@process-one.net</TT></A>)
</LI><LI CLASS="li-itemize">Sander Devrieze (<A HREF="xmpp:s.devrieze@gmail.com"><TT>xmpp:s.devrieze@gmail.com</TT></A>)
</LI><LI CLASS="li-itemize">Sergei Golovan (<A HREF="xmpp:sgolovan@nes.ru"><TT>xmpp:sgolovan@nes.ru</TT></A>)
</LI><LI CLASS="li-itemize">Vsevolod Pelipas (<A HREF="xmpp:vsevoload@jabber.ru"><TT>xmpp:vsevoload@jabber.ru</TT></A>)
</LI></UL><P> <A NAME="copyright"></A> </P><!--TOC chapter Copyright Information-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc101">Appendix&#XA0;D</A>&#XA0;&#XA0;<A HREF="#copyright">Copyright Information</A></H1><!--SEC END --><P> <A NAME="copyright"></A> </P><P>Ejabberd Installation and Operation Guide.<BR>
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc103">Appendix&#XA0;D</A>&#XA0;&#XA0;<A HREF="#copyright">Copyright Information</A></H1><!--SEC END --><P> <A NAME="copyright"></A> </P><P>Ejabberd Installation and Operation Guide.<BR>
Copyright &#XA9; 2003 &#X2014; 2010 ProcessOne</P><P>This document is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2

View File

@ -88,10 +88,12 @@
\newcommand{\modpubsub}{\module{mod\_pubsub}}
\newcommand{\modpubsubodbc}{\module{mod\_pubsub\_odbc}}
\newcommand{\modregister}{\module{mod\_register}}
\newcommand{\modregisterweb}{\module{mod\_register\_web}}
\newcommand{\modroster}{\module{mod\_roster}}
\newcommand{\modrosterodbc}{\module{mod\_roster\_odbc}}
\newcommand{\modservicelog}{\module{mod\_service\_log}}
\newcommand{\modsharedroster}{\module{mod\_shared\_roster}}
\newcommand{\modsharedrosterldap}{\module{mod\_shared\_roster\_ldap}}
\newcommand{\modsic}{\module{mod\_sic}}
\newcommand{\modstats}{\module{mod\_stats}}
\newcommand{\modtime}{\module{mod\_time}}
@ -311,6 +313,7 @@ To compile \ejabberd{} on a `Unix-like' operating system, you need:
\item GCC
\item Libexpat 1.95 or higher
\item Erlang/OTP R10B-9 or higher. The recommended versions are R12B-5 and R13B04.
Don't use R14A or R14B because \footahref{http://www.erlang.org/cgi-bin/ezmlm-cgi/4/54598}{they have a bug}.
\item OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
\item Zlib 1.2.3 or higher, for Stream Compression support (\xepref{0138}). Optional.
\item Erlang mysql library. Optional. For MySQL authentication or storage. See section \ref{compilemysql}.
@ -824,7 +827,7 @@ The available modules, their purpose and the options allowed by each one are:
\titem{\texttt{ejabberd\_http}}
Handles incoming HTTP connections.\\
Options: \texttt{captcha}, \texttt{certfile}, \texttt{http\_bind}, \texttt{http\_poll},
\texttt{request\_handlers}, \texttt{tls}, \texttt{web\_admin}\\
\texttt{request\_handlers}, \texttt{tls}, \texttt{trusted\_proxies}, \texttt{web\_admin}\\
\end{description}
@ -946,6 +949,10 @@ This is a detailed description of each option allowed by the listening modules:
which can be enabled in \ejabberd{} with the option \term{starttls}.
If this option is set, you should also set the \option{certfile} option.
The option \term{tls} can also be used in \term{ejabberd\_http} to support HTTPS.
\titem{\{trusted\_proxies, all | [IpString]\}} \ind{options!trusted\_proxies}
Specify what proxies are trusted when an HTTP request contains the header \term{X-Forwarded-For}
You can specify \term{all} to allow all proxies, or specify a list of IPs in string format.
The default value is: \term{["127.0.0.1"]}
\titem{web\_admin} \ind{options!web\_admin}\ind{web admin}This option
enables the Web Admin for \ejabberd{} administration which is available
at \verb|http://server:port/admin/|. Login and password are the username and
@ -958,14 +965,17 @@ This is a detailed description of each option allowed by the listening modules:
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
use STARTTLS for s2s connections.
\titem{\{s2s\_use\_starttls, false|optional|required|required\_trusted\}}
\ind{options!s2s\_use\_starttls}\ind{STARTTLS}This option defines if
s2s connections don't use STARTTLS encryption; if STARTTLS can be used optionally;
if STARTTLS is required to establish the connection;
or if STARTTLS is required and the remote certificate must be valid and trusted.
The default value is to not use STARTTLS: \term{false}.
\titem{\{s2s\_certfile, Path\}} \ind{options!s2s\_certificate}Full path to a
file containing a SSL certificate.
\titem{\{domain\_certfile, Domain, Path\}} \ind{options!domain\_certfile}
Full path to the file containing the SSL certificate for a specific domain.
\titem{\{outgoing\_s2s\_options, Methods, Timeout\}} \ind{options!outgoing\_s2s\_options}
\titem{\{outgoing\_s2s\_options, [Family, ...], Timeout\}} \ind{options!outgoing\_s2s\_options}
Specify which address families to try, in what order, and connect timeout in milliseconds.
By default it first tries connecting with IPv4, if that fails it tries using IPv6,
with a timeout of 10000 milliseconds.
@ -1053,9 +1063,10 @@ However, the c2s and s2s connections to the domain \term{example.com} use the fi
]}
]
}.
{s2s_use_starttls, true}.
{s2s_use_starttls, optional}.
{s2s_certfile, "/etc/ejabberd/server.pem"}.
{domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}.
{outgoing_s2s_options, [ipv4, ipv6], 10000}.
\end{verbatim}
In this example, the following configuration defines that:
@ -1064,7 +1075,7 @@ In this example, the following configuration defines that:
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 (all IPv4 addresses)
with STARTTLS for secured traffic enabled.
with STARTTLS for secured traffic strictly required, and the certificates are verified.
Incoming and outgoing connections of remote XMPP 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
@ -1145,7 +1156,7 @@ In this example, the following configuration defines that:
{service_check_from, false}]}
]
}.
{s2s_use_starttls, true}.
{s2s_use_starttls, required_trusted}.
{s2s_certfile, "/path/to/ssl.pem"}.
{s2s_default_policy, deny}.
{{s2s_host,"jabber.example.org"}, allow}.
@ -2217,8 +2228,7 @@ module loaded!
\ind{databases!LDAP}
\ejabberd{} has built-in LDAP support. You can authenticate users against LDAP
server and use LDAP directory as vCard storage. Shared rosters are not supported
yet.
server and use LDAP directory as vCard storage.
Usually \ejabberd{} treats LDAP as a read-only storage:
it is possible to consult data, but not possible to
@ -2538,11 +2548,14 @@ The following table lists all modules included in \ejabberd{}.
\hline \ahrefloc{modpubsub}{\modpubsub{}} & Pub-Sub (\xepref{0060}), PEP (\xepref{0163}) & \modcaps{} \\
\hline \ahrefloc{modpubsub}{\modpubsubodbc{}} & Pub-Sub (\xepref{0060}), PEP (\xepref{0163}) & supported DB (*) and \modcaps{} \\
\hline \ahrefloc{modregister}{\modregister{}} & In-Band Registration (\xepref{0077}) & \\
\hline \ahrefloc{modregisterweb}{\modregisterweb{}} & Web for Account Registrations & \\
\hline \ahrefloc{modroster}{\modroster{}} & Roster management (XMPP IM) & \\
\hline \ahrefloc{modroster}{\modrosterodbc{}} & Roster management (XMPP IM) & supported DB (*) \\
\hline \ahrefloc{modservicelog}{\modservicelog{}} & Copy user messages to logger service & \\
\hline \ahrefloc{modsharedroster}{\modsharedroster{}} & Shared roster management & \modroster{} or \\
& & \modrosterodbc\\
\hline \ahrefloc{modsharedrosterldap}{\modsharedrosterldap{}} & LDAP Shared roster management & \modroster{} or \\
& & \modrosterodbc\\
\hline \ahrefloc{modsic}{\modsic{}} & Server IP Check (\xepref{0279}) & \\
\hline \ahrefloc{modstats}{\modstats{}} & Statistics Gathering (\xepref{0039}) & \\
\hline \ahrefloc{modtime}{\modtime{}} & Entity Time (\xepref{0202}) & \\
@ -3045,7 +3058,7 @@ Options:
\titem{\{access, AccessName\}} \ind{options!access}This option can be used to specify who
may use the IRC transport (default value: \term{all}).
\titem{\{default\_encoding, Encoding\}} \ind{options!defaultencoding}Set the default IRC encoding.
Default value: \term{"koi8-r"}
Default value: \term{"iso8859-1"}
\end{description}
Examples:
@ -3783,6 +3796,18 @@ Options:
doesn't allow to register new accounts from s2s or existing c2s sessions. You can
change it by defining access rule in this option. Use with care: allowing registration
from s2s leads to uncontrolled massive accounts creation by rogue users.
\titem{\{captcha\_protected, false|true\}} \ind{options!captcha\_protected}
Protect registrations with CAPTCHA (see section \ref{captcha}). The default is \term{false}.
\titem{\{ip\_access, [ \{allow|deny, IPaddress\}, ...]\}} \ind{options!ip\_access}
Define rules to allow or deny account registration depending
in the IP address of the XMPP client.
If there is no matching IP mask, the default rule is ``allow''.
IPv6 addresses are supported, but not tested.
The default option value is an empty list: \term{[]}.
\titem{\{password\_strength, Entropy\}} \ind{options!password\_strength}
This option sets the minimum informational entropy for passwords. The value \term{Entropy}
is a number of bits of entropy. The recommended minimum is 32 bits.
The default is 0, i.e. no checks are performed.
\titem{\{welcome\_message, Message\}} \ind{options!welcomem}Set a welcome message that
is sent to each newly registered account. The first string is the subject, and
the second string is the message body.
@ -3806,7 +3831,8 @@ Default value: 600 seconds.
Examples:
\begin{itemize}
\item Next example prohibits the registration of too short account names:
\item Next example prohibits the registration of too short account names,
and allows to create accounts only to clients of the local network:
\begin{verbatim}
{acl, shortname, {user_glob, "?"}}.
{acl, shortname, {user_glob, "??"}}.
@ -3819,7 +3845,10 @@ Examples:
{modules,
[
...
{mod_register, [{access, register}]},
{mod_register, [{access, register},
{ip_access, [{allow, "127.0.0.0/8"},
{deny, "0.0.0.0/0"}]}
]},
...
]}.
\end{verbatim}
@ -3864,6 +3893,49 @@ Also define a registration timeout of one hour:
\end{verbatim}
\end{itemize}
\makesubsection{modregisterweb}{\modregisterweb{}}
\ind{modules!\modregisterweb{}}
This module provides a web page where people can:
\begin{itemize}
\item Register a new account on the server.
\item Change the password from an existing account on the server.
\item Delete an existing account on the server.
\end{itemize}
This module supports CAPTCHA image to register a new account.
To enable this feature, configure the options captcha\_cmd and captcha\_host.
Options:
\begin{description}
\titem{\{registration\_watchers, [ JID, ...]\}} \ind{options!rwatchers}This option defines a
list of JIDs which will be notified each time a new account is registered.
\end{description}
This example configuration shows how to enable the module and the web handler:
\begin{verbatim}
{listen, [
...
{5281, ejabberd_http, [
tls,
{certfile, "/etc/ejabberd/certificate.pem"},
register
]},
...
]}.
{modules,
[
...
{mod_register_web, []},
...
]}.
\end{verbatim}
The users can visit this page: https://localhost:5281/register/
It is important to include the last / character in the URL,
otherwise the subpages URL will be incorrect.
\makesubsection{modroster}{\modroster{}}
\ind{modules!\modroster{}}\ind{roster management}\ind{protocols!RFC 3921: XMPP IM}
@ -3884,7 +3956,8 @@ Options:
This option does not affect the client in any way.
This option is only useful if Roster Versioning is enabled.
This option is disabled by default.
Important: if you use \modsharedroster, you must disable this option.
Important: if you use \modsharedroster{} or \modsharedrosterldap{},
you must disable this option.
\end{description}
This example configuration enables Roster Versioning with storage of current id:
@ -4046,6 +4119,349 @@ Examples:
\end{table}
\end{itemize}
\makesubsection{modsharedrosterldap}{\modsharedrosterldap{}}
\ind{modules!\modsharedrosterldap{}}\ind{shared roster groups ldap}
This module lets the server administrator
automatically populate users' rosters (contact lists) with entries based on
users and groups defined in an LDAP-based directory.
\makesubsubsection{msrlconfigparams}{Configuration parameters}
The module accepts the following configuration parameters. Some of them, if
unspecified, default to the values specified for the top level of
configuration. This lets you avoid specifying, for example, the bind password,
in multiple places.
\makeparagraph{msrlfilters}{Filters}
These parameters specify LDAP filters used to query for shared roster information.
All of them are run against the \verb|ldap_base|.
\begin{description}
\titem{{\tt ldap\_rfilter}}
So called ``Roster Filter''. Used to find names of all ``shared roster'' groups.
See also the \verb|ldap_groupattr| parameter.
If unspecified, defaults to the top-level parameter of the same name.
You {\em must} specify it in some place in the configuration, there is no default.
\titem{{\tt ldap\_ufilter}}
``User Filter'' -- used for retrieving the human-readable name of roster
entries (usually full names of people in the roster).
See also the parameters \verb|ldap_userdesc| and \verb|ldap_useruid|.
If unspecified, defaults to the top-level parameter of the same name.
If that one also is unspecified, then the filter is assembled from values of
other parameters as follows (\verb|[ldap_SOMETHING]| is used to mean ``the
value of the configuration parameter {\tt ldap\_SOMETHING}''):
\begin{verbatim}
(&(&([ldap_memberattr]=[ldap_memberattr_format])([ldap_groupattr]=%g))[ldap_filter])
\end{verbatim}
Subsequently {\tt \%u} and {\tt \%g} are replaced with a {\tt *}. This means
that given the defaults, the filter sent to the LDAP server is would be
\verb|(&(memberUid=*)(cn=*))|. If however the {\tt ldap\_memberattr\_format}
is something like \verb|uid=%u,ou=People,o=org|, then the filter will be
\verb|(&(memberUid=uid=*,ou=People,o=org)(cn=*))|.
\titem{{\tt ldap\_gfilter}}
``Group Filter'' -- used when retrieving human-readable name (a.k.a.
``Display Name'') and the members of a group.
See also the parameters \verb|ldap_groupattr|, \verb|ldap_groupdesc| and \verb|ldap_memberattr|.
If unspecified, defaults to the top-level parameter of the same name.
If that one also is unspecified, then the filter is constructed exactly in the
same way as {\tt User Filter}.
\titem{{\tt ldap\_filter}}
Additional filter which is AND-ed together with {\tt User Filter} and {\tt
Group Filter}.
If unspecified, defaults to the top-level parameter of the same name. If that
one is also unspecified, then no additional filter is merged with the other
filters.
\end{description}
Note that you will probably need to manually define the {\tt User} and {\tt
Group Filter}s (since the auto-assembled ones will not work) if:
\begin{itemize}
\item your {\tt ldap\_memberattr\_format} is anything other than a simple {\tt \%u},
\item {\bf and} the attribute specified with {\tt ldap\_memberattr} does not support substring matches.
\end{itemize}
An example where it is the case is OpenLDAP and {\tt (unique)MemberName} attribute from the {\tt groupOf(Unique)Names} objectClass.
A symptom of this problem is that you will see messages such as the following in your {\tt slapd.log}:
\begin{verbatim}
get_filter: unknown filter type=130
filter="(&(?=undefined)(?=undefined)(something=else))"
\end{verbatim}
\makesubsubsection{msrlattrs}{Attributes}
These parameters specify the names of the attributes which hold interesting data
in the entries returned by running filters specified in
section~\ref{msrlfilters}.
\begin{description}
\titem{{\tt ldap\_groupattr}}
The name of the attribute that holds the group name, and that is used to differentiate between them.
Retrieved from results of the ``Roster Filter'' and ``Group Filter''.
Defaults to {\tt cn}.
\titem{{\tt ldap\_groupdesc}}
The name of the attribute which holds the human-readable group name in the
objects you use to represent groups.
Retrieved from results of the ``Group Filter''.
Defaults to whatever {\tt ldap\_groupattr} is set.
\titem{{\tt ldap\_memberattr}}
The name of the attribute which holds the IDs of the members of a group.
Retrieved from results of the ``Group Filter''.
Defaults to {\tt memberUid}.
The name of the attribute differs depending on the {\tt objectClass} you use
for your group objects, for example:
\begin{description}
\item{{\tt posixGroup}} $\rightarrow{}$ {\tt memberUid}
\item{{\tt groupOfNames}} $\rightarrow{}$ {\tt member}
\item{{\tt groupOfUniqueNames}} $\rightarrow{}$ {\tt uniqueMember}
\end{description}
\titem{{\tt ldap\_userdesc}}
The name of the attribute which holds the human-readable user name.
Retrieved from results of the ``User Filter''.
Defaults to {\tt cn}.
\titem{{\tt ldap\_useruid}}
The name of the attribute which holds the ID of a roster item. Value of this
attribute in the roster item objects needs to match the ID retrieved from the
{\tt ldap\_memberattr} attribute of a group object.
Retrieved from results of the ``User Filter''.
Defaults to {\tt cn}.
\end{description}
\makesubsubsection{msrlcontrolparams}{Control parameters}
These paramters control the behaviour of the module.
\begin{description}
\titem{{\tt ldap\_memberattr\_format}}
A globbing format for extracting user ID from the value of the attribute named by
\verb|ldap_memberattr|.
Defaults to {\tt \%u}, which means that the whole value is the member ID. If
you change it to something different, you may also need to specify the User
and Group Filters manually --- see section~\ref{msrlfilters}.
\titem{{\tt ldap\_memberattr\_format\_re}}
A regex for extracting user ID from the value of the attribute named by
\verb|ldap_memberattr|.
An example value {\tt "CN=($\backslash{}\backslash{}$w*),(OU=.*,)*DC=company,DC=com"} works for user IDs such as the following:
\begin{itemize}
\item \texttt{CN=Romeo,OU=Montague,DC=company,DC=com}
\item \texttt{CN=Abram,OU=Servants,OU=Montague,DC=company,DC=com}
\item \texttt{CN=Juliet,OU=Capulet,DC=company,DC=com}
\item \texttt{CN=Peter,OU=Servants,OU=Capulet,DC=company,DC=com}
\end{itemize}
In case:
\begin{itemize}
\item the option is unset,
\item or the {\tt re} module in unavailable in the current Erlang environment,
\item or the regular expression does not compile,
\end{itemize}
then instead of a regular expression, a simple format specified by {\tt
ldap\_memberattr\_format} is used. Also, in the last two cases an error
message is logged during the module initialization.
Also, note that in all cases {\tt ldap\_memberattr\_format} (and {\em not} the
regex version) is used for constructing the default ``User/Group Filter'' ---
see section~\ref{msrlfilters}.
\titem{{\tt ldap\_auth\_check}}
Whether the module should check (via the ejabberd authentication subsystem)
for existence of each user in the shared LDAP roster. See
section~\ref{msrlconfigroster} form more information. Set to {\tt off} if you
want to disable the check.
Defaults to {\tt on}.
\titem{{\tt ldap\_user\_cache\_validity}}
Number of seconds for which the cache for roster item full names is considered
fresh after retrieval. 300 by default. See section~\ref{msrlconfigroster} on
how it is used during roster retrieval.
\titem{{\tt ldap\_group\_cache\_validity}}
Number of seconds for which the cache for group membership is considered
fresh after retrieval. 300 by default. See section~\ref{msrlconfigroster} on
how it is used during roster retrieval.
\end{description}
\makesubsubsection{msrlconnparams}{Connection parameters}
The module also accepts the connection parameters, all of which default to the
top-level parameter of the same name, if unspecified. See~\ref{ldapconnection}
for more information about them.
\makesubsubsection{msrlconfigroster}{Retrieving the roster}
When the module is called to retrieve the shared roster for a user, the
following algorithm is used:
\begin{enumerate}
\item \label{step:rfilter} A list of names of groups to display is created: the {\tt Roster Filter}
is run against the base DN, retrieving the values of the attribute named by
{\tt ldap\_groupattr}.
\item Unless the group cache is fresh (see the {\tt
ldap\_group\_cache\_validity} option), it is refreshed:
\begin{enumerate}
\item Information for all groups is retrieved using a single query: the {\tt
Group Filter} is run against the Base DN, retrieving the values of attributes
named by {\tt ldap\_groupattr} (group ID), {\tt ldap\_groupdesc} (group
``Display Name'') and {\tt ldap\_memberattr} (IDs of group members).
\item group ``Display Name'', read from the attribute named by {\tt
ldap\_groupdesc}, is stored in the cache for the given group
\item the following processing takes place for each retrieved value of
attribute named by {\tt ldap\_memberattr}:
\begin{enumerate}
\item the user ID part of it is extracted using {\tt
ldap\_memberattr\_format(\_re)},
\item then (unless {\tt ldap\_auth\_check} is set to {\tt off}) for each
found user ID, the module checks (using the \ejabberd{} authentication
subsystem) whether such user exists in the given virtual host. It is
skipped if the check is enabled and fails.
This step is here for historical reasons. If you have a tidy DIT and
properly defined ``Roster Filter'' and ``Group Filter'', it is safe to
disable it by setting {\tt ldap\_auth\_check} to {\tt off} --- it will
speed up the roster retrieval.
\item the user ID is stored in the list of members in the cache for the
given group
\end{enumerate}
\end{enumerate}
\item For each item (group name) in the list of groups retrieved in step~\ref{step:rfilter}:
\begin{enumerate}
\item the display name of a shared roster group is retrieved from the group
cache
\item for each IDs of users which belong to the group, retrieved from the
group cache:
\begin{enumerate}
\item the ID is skipped if it's the same as the one for which we are
retrieving the roster. This is so that the user does not have himself in
the roster.
\item the display name of a shared roster user is retrieved:
\begin{enumerate}
\item first, unless the user name cache is fresh (see the {\tt
ldap\_user\_cache\_validity} option), it is refreshed by running the
{\tt User Filter}, against the Base DN, retrieving the values of
attributes named by {\tt ldap\_useruid} and {\tt ldap\_userdesc}.
\item then, the display name for the given user ID is retrieved from the
user name cache.
\end{enumerate}
\end{enumerate}
\end{enumerate}
\end{enumerate}
\makesubsubsection{msrlconfigexample}{Configuration examples}
Since there are many possible
\footahref{http://en.wikipedia.org/wiki/Directory\_Information\_Tree}{DIT}
layouts, it will probably be easiest to understand how to configure the module
by looking at an example for a given DIT (or one resembling it).
\makeparagraph{msrlconfigexampleflat}{Flat DIT}
This seems to be the kind of DIT for which this module was initially designed.
Basically there are just user objects, and group membership is stored in an
attribute individually for each user. For example in a layout shown in
figure~\ref{fig:msrl-dit-flat}, the group of each user is stored in its {\tt
ou} attribute.
\begin{figure}[htbp]
\centering
\insscaleimg{0.4}{msrl-dit-flat.png}
\caption{Flat DIT graph}
\label{fig:msrl-dit-flat}
\end{figure}
Such layout has a few downsides, including:
\begin{itemize}
\item information duplication -- the group name is repeated in every member object
\item difficult group management -- information about group members is not
centralized, but distributed between member objects
\item inefficiency -- the list of unique group names has to be computed by iterating over all users
\end{itemize}
This however seems to be a common DIT layout, so the module keeps supporting it.
You can use the following configuration\ldots
\begin{verbatim}
{mod_shared_roster_ldap,[
{ldap_base, "ou=flat,dc=nodomain"},
{ldap_rfilter, "(objectClass=inetOrgPerson)"},
{ldap_groupattr, "ou"},
{ldap_memberattr, "cn"},
{ldap_filter, "(objectClass=inetOrgPerson)"},
{ldap_userdesc, "displayName"}
]},
\end{verbatim}
\ldots to be provided with a roster as shown in figure~\ref{fig:msrl-roster-flat} upon connecting as user {\tt czesio}.
\begin{figure}[htbp]
\centering
\insscaleimg{1}{msrl-roster-flat.png}
\caption{Roster from flat DIT}
\label{fig:msrl-roster-flat}
\end{figure}
\makeparagraph{msrlconfigexampledeep}{Deep DIT}
This type of DIT contains distinctly typed objects for users and groups -- see figure~\ref{fig:msrl-dit-deep}.
They are shown separated into different subtrees, but it's not a requirement.
\begin{figure}[htbp]
\centering
\insscaleimg{0.35}{msrl-dit-deep.png}
\caption{Example ``deep'' DIT graph}
\label{fig:msrl-dit-deep}
\end{figure}
If you use the following example module configuration with it:
\begin{verbatim}
{mod_shared_roster_ldap,[
{ldap_base, "ou=deep,dc=nodomain"},
{ldap_rfilter, "(objectClass=groupOfUniqueNames)"},
{ldap_filter, ""},
{ldap_gfilter, "(&(objectClass=groupOfUniqueNames)(cn=%g))"},
{ldap_groupdesc, "description"},
{ldap_memberattr, "uniqueMember"},
{ldap_memberattr_format, "cn=%u,ou=people,ou=deep,dc=nodomain"},
{ldap_ufilter, "(&(objectClass=inetOrgPerson)(cn=%u))"},
{ldap_userdesc, "displayName"}
]},
\end{verbatim}
\ldots and connect as user {\tt czesio}, then \ejabberd{} will provide you with
the roster shown in figure~\ref{fig:msrl-roster-deep}.
\begin{figure}[htbp]
\centering
\insscaleimg{1}{msrl-roster-deep.png}
\caption{Example roster from ``deep'' DIT}
\label{fig:msrl-roster-deep}
\end{figure}
\makesubsection{modsic}{\modsic{}}
\ind{modules!\modstats{}}\ind{protocols!XEP-0279: Server IP Check}
@ -5222,8 +5638,11 @@ An \ejabberd{} node writes two log files:
\titem{erlang.log} is the Erlang/OTP system log, with the messages reported by Erlang/OTP using SASL (System Architecture Support Libraries)
\end{description}
The option \term{loglevel} modifies the verbosity of the file ejabberd.log. The syntax is:
\esyntax{\{loglevel, Level\}.}
The option \term{loglevel} modifies the verbosity of the file ejabberd.log. The syntax is one of:
\begin{description}
\titem{\{loglevel, Level\}.} The standard form to set a global log level.
\titem{\{loglevel, \{Level, [\{Module, Level\}, ...]\}\}.} The given Erlang modules will be logged with specific log levels, all others will use the default log level.
\end{description}
The possible \term{Level} are:
\begin{description}
@ -5358,6 +5777,7 @@ Thanks to all people who contributed to this guide:
\item Badlop (\ahrefurl{xmpp:badlop@jabberes.org})
\item Evgeniy Khramtsov (\ahrefurl{xmpp:xram@jabber.ru})
\item Florian Zumbiehl (\ahrefurl{xmpp:florz@florz.de})
\item Marcin Owsiany (\ahrefurl{xmpp:marcin.owsiany@gmail.com})
\item Michael Grigutsch (\ahrefurl{xmpp:migri@jabber.i-pobox.net})
\item Mickael Remond (\ahrefurl{xmpp:mremond@process-one.net})
\item Sander Devrieze (\ahrefurl{xmpp:s.devrieze@gmail.com})

BIN
doc/msrl-dit-deep.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 140 KiB

BIN
doc/msrl-dit-flat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 78 KiB

BIN
doc/msrl-roster-deep.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 23 KiB

BIN
doc/msrl-roster-flat.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 21 KiB

View File

@ -0,0 +1,67 @@
Release Notes
ejabberd 2.1.6
ejabberd 2.1.6 is the sixth release in ejabberd 2.1.x branch,
and includes a lot of bugfixes and improvements.
Read more details about the changes in:
http://redir.process-one.net/ejabberd-2.1.6
Download the source code and installers from:
http://www.process-one.net/en/ejabberd/
Some of the changes are:
* Account register
- mod_register: New ip_access option restricts which IPs can register (EJAB-915)
- mod_register: Default configuration allows registrations only from localhost
- mod_register: New password_strength for entropy check (EJAB-1326)
- mod_register: New captcha_protected option to require CAPTCHA (EJAB-1262)
- mod_register_web: New module, with CAPTCHA support (EJAB-471)
* BOSH
- Don't loop when there is nothing after a stream start (EJAB-1358)
- Fix http-bind supervisor to support multiple vhosts (EJAB-1321)
- Support to restart http-bind (EJAB-1318)
- Support for X-Forwarded-For HTTP header (EJAB-1356)
* Erlang/OTP compatibility
- R11: Fix detection of Erlang R11 and older (EJAB-1287)
- R12B5: Fix compatibility in ejabberd_http_bind.erl (EJAB-1343)
- R14A: Make xml.c correctly compile (EJAB-1288)
- R14A, R14B: Disapprove the use of R14A and R14B due to the rwlock bug
- R14B: Use pg2 from this version in systems with older ones (EJAB-1349)
* Listeners
- Bind listener ports early and start accepting connections later
- Fix a leak of ejabberd_receiver processes
- Speed up ejabberd_s2s:is_service/2, allow_host/2 (EJAB-1319)
- S2S: New option to require encryption (EJAB-495)
- S2S: New option to reject connection if untrusted certificate (EJAB-464)
- S2S: Include From attribute in the stream header of outgoing S2S connections
- S2S: Fix domain_certfile tlsopts modifications for S2S connections (EJAB-1086)
* Pubsub/PEP/Caps
- Fix pubsub cross domain eventing (EJAB-1340)
- Use one_queue IQ discipline by default
- Implement lifetime for broken hashes
- New CAPS processing
* ODBC
- Increase maximum restart strategy to handle some SQL timeouts
- Support PostgreSQL 9.0 (EJAB-1359)
- Use MEDIUMTEXT type for vcard avatars in MySQL schema (EJAB-1252)
* Miscellanea:
- mod_shared_roster_ldap: New Shared Roster Groups using LDAP information
- mod_privacy: Fix to allow block by group and subscription again
- Support timezone West of UTC (EJAB-1301)
- Support to change loglevel per module at runtime (EJAB-225)
Bug reports
You can officially report bugs on ProcessOne support site:
http://support.process-one.net/

View File

@ -1,2 +1,2 @@
% ejabberd version (automatically generated).
\newcommand{\version}{2.1.x}
\newcommand{\version}{2.1.6}

View File

@ -42,6 +42,22 @@ while(1)
# password is null. Return 1 if the user $user\@$domain exitst.
$result = 1;
},last SWITCH;
$op eq 'tryregister' and do
{
$result = 1;
},last SWITCH;
$op eq 'removeuser' and do
{
# password is null. Return 1 if the user $user\@$domain exitst.
$result = 1;
},last SWITCH;
$op eq 'removeuser3' and do
{
$result = 1;
},last SWITCH;
};
my $out = pack "nn",2,$result ? 1 : 0;
syswrite STDOUT,$out;

View File

@ -1,4 +1,4 @@
AC_DEFUN(AM_WITH_EXPAT,
AC_DEFUN([AM_WITH_EXPAT],
[ AC_ARG_WITH(expat,
[AC_HELP_STRING([--with-expat=PREFIX], [prefix where EXPAT is installed])])
@ -32,7 +32,7 @@ AC_DEFUN(AM_WITH_EXPAT,
AC_SUBST(EXPAT_LIBS)
])
AC_DEFUN(AM_WITH_ZLIB,
AC_DEFUN([AM_WITH_ZLIB],
[ AC_ARG_WITH(zlib,
[AC_HELP_STRING([--with-zlib=PREFIX], [prefix where zlib is installed])])
@ -68,7 +68,7 @@ if test x"$ejabberd_zlib" != x; then
fi
])
AC_DEFUN(AM_WITH_PAM,
AC_DEFUN([AM_WITH_PAM],
[ AC_ARG_WITH(pam,
[AC_HELP_STRING([--with-pam=PREFIX], [prefix where PAM is installed])])
if test x"$pam" != x; then
@ -103,7 +103,7 @@ if test x"$pam" != x; then
fi
])
AC_DEFUN(AM_WITH_ERLANG,
AC_DEFUN([AM_WITH_ERLANG],
[ AC_ARG_WITH(erlang,
[AC_HELP_STRING([--with-erlang=PREFIX], [path to erlc and erl])])
@ -199,7 +199,7 @@ _EOF
AC_SUBST(ERL)
])
AC_DEFUN(AC_MOD_ENABLE,
AC_DEFUN([AC_MOD_ENABLE],
[
$1=
make_$1=
@ -309,7 +309,7 @@ size_t iconv();
])
dnl <openssl>
AC_DEFUN(AM_WITH_OPENSSL,
AC_DEFUN([AM_WITH_OPENSSL],
[ AC_ARG_WITH(openssl,
[AC_HELP_STRING([--with-openssl=PREFIX], [prefix where OPENSSL is installed])])
unset SSL_LIBS;

View File

@ -53,6 +53,7 @@
miss = 0,
procs_num,
cache_missed,
lru,
shrink_size}).
-define(PROCNAME, ?MODULE).
@ -62,6 +63,7 @@
-define(MAX_SIZE, 1000).
-define(WARN, true).
-define(CACHE_MISSED, true).
-define(LRU, true).
-define(LIFETIME, 600). %% 10 minutes
%%====================================================================
@ -109,7 +111,7 @@ delete(Tab, Key, F) ->
dirty_delete(Tab, Key, F) ->
F(),
?GEN_SERVER:call(
get_proc_by_hash(Tab, Key), {dirty_delete, Key}, ?CALL_TIMEOUT).
get_proc_by_hash(Tab, Key), {cache_delete, Key}, ?CALL_TIMEOUT).
lookup(Tab, Key, F) ->
?GEN_SERVER:call(
@ -117,20 +119,21 @@ lookup(Tab, Key, F) ->
dirty_lookup(Tab, Key, F) ->
Proc = get_proc_by_hash(Tab, Key),
case ?GEN_SERVER:call(Proc, {dirty_lookup, Key}, ?CALL_TIMEOUT) of
case ?GEN_SERVER:call(Proc, {cache_lookup, Key}, ?CALL_TIMEOUT) of
{ok, '$cached_mismatch'} ->
error;
{ok, Val} ->
{ok, Val};
_ ->
case F() of
{ok, Val} ->
?GEN_SERVER:call(
Proc, {dirty_insert, Key, Val}, ?CALL_TIMEOUT),
{ok, Val};
_ ->
error
end
{Result, NewVal} = case F() of
{ok, Val} ->
{{ok, Val}, Val};
_ ->
{error, '$cached_mismatch'}
end,
?GEN_SERVER:call(
Proc, {cache_insert, Key, NewVal}, ?CALL_TIMEOUT),
Result
end.
insert(Tab, Key, Val, F) ->
@ -140,7 +143,7 @@ insert(Tab, Key, Val, F) ->
dirty_insert(Tab, Key, Val, F) ->
F(),
?GEN_SERVER:call(
get_proc_by_hash(Tab, Key), {dirty_insert, Key, Val}, ?CALL_TIMEOUT).
get_proc_by_hash(Tab, Key), {cache_insert, Key, Val}, ?CALL_TIMEOUT).
info(Tab, Info) ->
case lists:map(
@ -187,8 +190,9 @@ init([Tab, Opts, N, Pid]) ->
{ok, do_setopts(State, Opts)}.
handle_call({lookup, Key, F}, _From, #state{tab = T} = State) ->
CleanPrio = clean_priority(State#state.life_time),
case treap:lookup(Key, T) of
{ok, _Prio, Val} ->
{ok, Prio, Val} when (State#state.lru == true) or (Prio =< CleanPrio) ->
Hits = State#state.hits,
NewState = treap_update(Key, Val, State#state{hits = Hits + 1}),
case Val of
@ -217,50 +221,36 @@ handle_call({lookup, Key, F}, _From, #state{tab = T} = State) ->
end
end
end;
handle_call({dirty_lookup, Key}, _From, #state{tab = T} = State) ->
handle_call({cache_lookup, Key}, _From, #state{tab = T} = State) ->
CleanPrio = clean_priority(State#state.life_time),
case treap:lookup(Key, T) of
{ok, _Prio, Val} ->
{ok, Prio, Val} when (State#state.lru == true) or (Prio =< CleanPrio) ->
Hits = State#state.hits,
NewState = treap_update(Key, Val, State#state{hits = Hits + 1}),
{reply, {ok, Val}, NewState};
_ ->
Miss = State#state.miss,
NewState = State#state{miss = Miss + 1},
if State#state.cache_missed ->
{reply, error,
treap_insert(Key, '$cached_mismatch', NewState)};
true ->
{reply, error, NewState}
end
{reply, error, NewState}
end;
handle_call({insert, Key, Val, F}, _From, #state{tab = T} = State) ->
case treap:lookup(Key, T) of
{ok, _Prio, Val} ->
{reply, ok, State};
Res ->
{reply, ok, treap_update(Key, Val, State)};
_ ->
case catch F() of
{'EXIT', Reason} ->
print_error(insert, [Key, Val], Reason, State),
{reply, ok, State};
_ ->
NewState = case Res of
{ok, _, _} ->
treap_update(Key, Val, State);
_ ->
treap_insert(Key, Val, State)
end,
{reply, ok, NewState}
{reply, ok, treap_insert(Key, Val, State)}
end
end;
handle_call({dirty_insert, Key, Val}, _From, #state{tab = T} = State) ->
case treap:lookup(Key, T) of
{ok, _Prio, Val} ->
{reply, ok, State};
{ok, _, _} ->
{reply, ok, treap_update(Key, Val, State)};
_ ->
{reply, ok, treap_insert(Key, Val, State)}
end;
handle_call({cache_insert, _, '$cached_mismatch'}, _From,
#state{cache_missed = false} = State) ->
{reply, ok, State};
handle_call({cache_insert, Key, Val}, _From, State) ->
{reply, ok, treap_insert(Key, Val, State)};
handle_call({delete, Key, F}, _From, State) ->
NewState = treap_delete(Key, State),
case catch F() of
@ -270,7 +260,7 @@ handle_call({delete, Key, F}, _From, State) ->
ok
end,
{reply, ok, NewState};
handle_call({dirty_delete, Key}, _From, State) ->
handle_call({cache_delete, Key}, _From, State) ->
NewState = treap_delete(Key, State),
{reply, ok, NewState};
handle_call({info, Info}, _From, State) ->
@ -288,6 +278,7 @@ handle_call({info, Info}, _From, State) ->
{hits, State#state.hits},
{miss, State#state.miss},
{cache_missed, State#state.cache_missed},
{lru, State#state.lru},
{warn, State#state.warn}];
_ ->
badarg
@ -372,10 +363,20 @@ do_setopts(#state{procs_num = N} = State, Opts) ->
_ ->
?CACHE_MISSED
end,
LRU = case proplists:get_value(
lru, Opts, State#state.lru) of
false ->
false;
true ->
true;
_ ->
?LRU
end,
State#state{max_size = MaxSize,
warn = Warn,
life_time = LifeTime,
cache_missed = CacheMissed,
lru = LRU,
shrink_size = ShrinkSize}.
get_proc_num() ->
@ -396,15 +397,36 @@ now_priority() ->
{MSec, Sec, USec} = now(),
-((MSec*1000000 + Sec)*1000000 + USec).
treap_update(Key, Val, #state{tab = T} = State) ->
Priority = now_priority(),
NewT = treap:insert(Key, Priority, Val, T),
State#state{tab = NewT}.
clean_priority(LifeTime) ->
if is_integer(LifeTime) ->
now_priority() + LifeTime;
true ->
unlimited
end.
treap_update(Key, Val, #state{tab = T, lru = LRU} = State) ->
if LRU ->
Priority = now_priority(),
NewT = treap:insert(Key, Priority, Val, T),
State#state{tab = NewT};
true ->
State
end.
treap_insert(Key, Val, State) ->
State1 = clean_treap(State),
#state{size = Size} = State2 = shrink_treap(State1),
treap_update(Key, Val, State2#state{size = Size+1}).
T = State2#state.tab,
case treap:lookup(Key, T) of
{ok, _, Val} ->
treap_update(Key, Val, State2);
{ok, _, _} ->
NewT = treap:insert(Key, now_priority(), Val, T),
State2#state{tab = NewT};
_ ->
NewT = treap:insert(Key, now_priority(), Val, T),
State2#state{tab = NewT, size = Size+1}
end.
treap_delete(Key, #state{tab = T, size = Size} = State) ->
case treap:lookup(Key, T) of
@ -492,9 +514,9 @@ print_error(Operation, Args, Reason, State) ->
-define(lookup, dirty_lookup).
-define(delete, dirty_delete).
-define(insert, dirty_insert).
%% -define(lookup, lookup).
%% -define(delete, delete).
%% -define(insert, insert).
%%-define(lookup, lookup).
%%-define(delete, delete).
%%-define(insert, insert).
test() ->
LifeTime = 2,
@ -504,7 +526,7 @@ test() ->
check([{"key", "value"}]),
{ok, "value"} = ?lookup(test_tbl, "key", fun() -> error end),
check([{"key", "value"}]),
io:format("** waiting for ~p seconds to check if cleaner works fine...~n",
io:format("** waiting for ~p seconds to check if LRU works fine...~n",
[LifeTime+1]),
timer:sleep(timer:seconds(LifeTime+1)),
ok = ?insert(test_tbl, "key1", "value1", fun() -> ok end),
@ -531,13 +553,32 @@ test1() ->
end, lists:seq(1, MaxSize*get_proc_num())),
{ok, MaxSize} = info(test_tbl, size),
delete(test_tbl),
io:format("** testing speed, this may take a while...~n"),
test2(1000),
test2(10000),
test2(100000),
test2(1000000).
test2().
test2(Iter) ->
test2() ->
LifeTime = 2,
ok = new(test_tbl, [{life_time, LifeTime},
{max_size, unlimited},
{lru, false}]),
check([]),
ok = ?insert(test_tbl, "key", "value", fun() -> ok end),
{ok, "value"} = ?lookup(test_tbl, "key", fun() -> error end),
check([{"key", "value"}]),
io:format("** waiting for ~p seconds to check if non-LRU works fine...~n",
[LifeTime+1]),
timer:sleep(timer:seconds(LifeTime+1)),
error = ?lookup(test_tbl, "key", fun() -> error end),
check([{"key", '$cached_mismatch'}]),
ok = ?insert(test_tbl, "key", "value1", fun() -> ok end),
check([{"key", "value1"}]),
delete(test_tbl),
io:format("** testing speed, this may take a while...~n"),
test3(1000),
test3(10000),
test3(100000),
test3(1000000).
test3(Iter) ->
ok = new(test_tbl, [{max_size, unlimited}, {life_time, unlimited}]),
L = lists:seq(1, Iter),
T1 = now(),

View File

@ -162,6 +162,7 @@
captcha,
http_bind,
http_poll,
%%register,
web_admin
]}
@ -169,10 +170,10 @@
%%
%% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections.
%% Allowed values are: true or false.
%% Allowed values are: false optional required required_trusted
%% You must specify a certificate file.
%%
%%{s2s_use_starttls, true}.
%%{s2s_use_starttls, optional}.
%%
%% s2s_certfile: Specify a certificate file.
@ -521,6 +522,16 @@
{plugins, ["flat", "hometree", "pep"]} % pep requires mod_caps
]},
{mod_register, [
%%
%% Protect In-Band account registrations with CAPTCHA.
%%
%%{captcha_protected, true},
%%
%% Set the minimum informational entropy for passwords.
%%
%%{password_strength, 32},
%%
%% After successful registration, the user receives
%% a message with this subject and body.
@ -534,8 +545,18 @@
%%
%%{registration_watchers, ["admin1@example.org"]},
{ip_access, [{allow, "127.0.0.0/8"},
{deny, "0.0.0.0/0"}]},
{access, register}
]},
%%{mod_register_web, [
%%
%% When a user registers, send a notification to
%% these XMPP accounts.
%%
%%{registration_watchers, ["admin1@example.org"]}
%% ]},
{mod_roster, []},
%%{mod_service_log,[]},
{mod_shared_roster,[]},

View File

@ -49,7 +49,8 @@
is_user_exists_in_other_modules/3,
remove_user/2,
remove_user/3,
plain_password_required/1
plain_password_required/1,
entropy/1
]).
-export([auth_modules/1]).
@ -318,6 +319,29 @@ remove_user(User, Server, Password) ->
end,
R.
%% @spec (IOList) -> non_negative_float()
%% @doc Calculate informational entropy.
entropy(IOList) ->
case binary_to_list(iolist_to_binary(IOList)) of
"" ->
0.0;
S ->
Set = lists:foldl(
fun(C, [Digit, Printable, LowLetter, HiLetter, Other]) ->
if C >= $a, C =< $z ->
[Digit, Printable, 26, HiLetter, Other];
C >= $0, C =< $9 ->
[9, Printable, LowLetter, HiLetter, Other];
C >= $A, C =< $Z ->
[Digit, Printable, LowLetter, 26, Other];
C >= 16#21, C =< 16#7e ->
[Digit, 33, LowLetter, HiLetter, Other];
true ->
[Digit, Printable, LowLetter, HiLetter, 128]
end
end, [0, 0, 0, 0, 0], S),
length(S) * math:log(lists:sum(Set))/math:log(2)
end.
%%%----------------------------------------------------------------------
%%% Internal functions

View File

@ -66,7 +66,7 @@ check_cache_last_options(Server) ->
case get_cache_option(Server) of
false -> no_cache;
{true, _CacheTime} ->
case get_mod_last_enabled(Server) of
case get_mod_last_configured(Server) of
no_mod_last ->
?ERROR_MSG("In host ~p extauth is used, extauth_cache is enabled but "
"mod_last is not enabled.", [Server]),
@ -295,10 +295,22 @@ get_last_info(User, Server) ->
%% @spec (Server) -> mod_last | mod_last_odbc | no_mod_last
get_mod_last_enabled(Server) ->
ML = lists:member(mod_last, gen_mod:loaded_modules(Server)),
MLO = lists:member(mod_last_odbc, gen_mod:loaded_modules(Server)),
ML = gen_mod:is_loaded(Server, mod_last),
MLO = gen_mod:is_loaded(Server, mod_last_odbc),
case {ML, MLO} of
{true, _} -> mod_last;
{false, true} -> mod_last_odbc;
{false, false} -> no_mod_last
end.
get_mod_last_configured(Server) ->
ML = is_configured(Server, mod_last),
MLO = is_configured(Server, mod_last_odbc),
case {ML, MLO} of
{true, _} -> mod_last;
{false, true} -> mod_last_odbc;
{false, false} -> no_mod_last
end.
is_configured(Host, Module) ->
lists:keymember(Module, 1, ejabberd_config:get_local_option({modules, Host})).

View File

@ -40,6 +40,11 @@
send_element/2,
socket_type/0,
get_presence/1,
get_aux_field/2,
set_aux_field/3,
del_aux_field/2,
get_subscription/2,
broadcast/4,
get_subscribed/1]).
%% API:
@ -143,6 +148,39 @@ add_rosteritem(FsmRef, IJID, ISubscription) ->
del_rosteritem(FsmRef, IJID) ->
?GEN_FSM:send_all_state_event(FsmRef, {del_rosteritem, IJID}).
get_aux_field(Key, #state{aux_fields = Opts}) ->
case lists:keysearch(Key, 1, Opts) of
{value, {_, Val}} ->
{ok, Val};
_ ->
error
end.
set_aux_field(Key, Val, #state{aux_fields = Opts} = State) ->
Opts1 = lists:keydelete(Key, 1, Opts),
State#state{aux_fields = [{Key, Val}|Opts1]}.
del_aux_field(Key, #state{aux_fields = Opts} = State) ->
Opts1 = lists:keydelete(Key, 1, Opts),
State#state{aux_fields = Opts1}.
get_subscription(From = #jid{}, StateData) ->
get_subscription(jlib:jid_tolower(From), StateData);
get_subscription(LFrom, StateData) ->
LBFrom = setelement(3, LFrom, ""),
F = ?SETS:is_element(LFrom, StateData#state.pres_f) orelse
?SETS:is_element(LBFrom, StateData#state.pres_f),
T = ?SETS:is_element(LFrom, StateData#state.pres_t) orelse
?SETS:is_element(LBFrom, StateData#state.pres_t),
if F and T -> both;
F -> from;
T -> to;
true -> none
end.
broadcast(FsmRef, Type, From, Packet) ->
FsmRef ! {broadcast, Type, From, Packet}.
stop(FsmRef) ->
?GEN_FSM:send_event(FsmRef, closed).
@ -193,8 +231,8 @@ init([{SockMod, Socket}, Opts, FSMLimitOpts]) ->
%% Check if IP is blacklisted:
case is_ip_blacklisted(IP) of
true ->
?INFO_MSG("Connection attempt from blacklisted IP: ~s",
[jlib:ip_to_list(IP)]),
?INFO_MSG("Connection attempt from blacklisted IP: ~s (~w)",
[jlib:ip_to_list(IP), IP]),
{stop, normal};
false ->
Socket1 =
@ -281,7 +319,19 @@ wait_for_stream({xmlstreamstart, Name, Attrs}, StateData) ->
Server = jlib:nameprep(xml:get_attr_s("to", Attrs)),
case lists:member(Server, ?MYHOSTS) of
true ->
Lang = xml:get_attr_s("xml:lang", Attrs),
Lang = case xml:get_attr_s("xml:lang", Attrs) of
Lang1 when length(Lang1) =< 35 ->
%% As stated in BCP47, 4.4.1:
%% Protocols or specifications that
%% specify limited buffer sizes for
%% language tags MUST allow for
%% language tags of at least 35 characters.
Lang1;
_ ->
%% Do not store long language tag to
%% avoid possible DoS/flood attacks
""
end,
change_shaper(StateData, jlib:make_jid("", Server, "")),
case xml:get_attr_s("version", Attrs) of
"1.0" ->
@ -1056,9 +1106,8 @@ session_established2(El, StateData) ->
ejabberd_hooks:run(
user_send_packet,
Server,
[StateData#state.debug, FromJID, ToJID, NewEl]),
ejabberd_router:route(
FromJID, ToJID, NewEl),
[StateData#state.debug, FromJID, ToJID, NewEl]),
check_privacy_route(FromJID, StateData, FromJID, ToJID, NewEl),
StateData
end;
"message" ->
@ -1163,35 +1212,39 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
{Pass, NewAttrs, NewState} =
case Name of
"presence" ->
State = ejabberd_hooks:run_fold(
c2s_presence_in, StateData#state.server,
StateData,
[{From, To, Packet}]),
case xml:get_attr_s("type", Attrs) of
"probe" ->
LFrom = jlib:jid_tolower(From),
LBFrom = jlib:jid_remove_resource(LFrom),
NewStateData =
case ?SETS:is_element(
LFrom, StateData#state.pres_a) orelse
LFrom, State#state.pres_a) orelse
?SETS:is_element(
LBFrom, StateData#state.pres_a) of
LBFrom, State#state.pres_a) of
true ->
StateData;
State;
false ->
case ?SETS:is_element(
LFrom, StateData#state.pres_f) of
LFrom, State#state.pres_f) of
true ->
A = ?SETS:add_element(
LFrom,
StateData#state.pres_a),
StateData#state{pres_a = A};
State#state.pres_a),
State#state{pres_a = A};
false ->
case ?SETS:is_element(
LBFrom, StateData#state.pres_f) of
LBFrom, State#state.pres_f) of
true ->
A = ?SETS:add_element(
LBFrom,
StateData#state.pres_a),
StateData#state{pres_a = A};
State#state.pres_a),
State#state{pres_a = A};
false ->
StateData
State
end
end
end,
@ -1199,66 +1252,59 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
{false, Attrs, NewStateData};
"error" ->
NewA = remove_element(jlib:jid_tolower(From),
StateData#state.pres_a),
{true, Attrs, StateData#state{pres_a = NewA}};
State#state.pres_a),
{true, Attrs, State#state{pres_a = NewA}};
"invisible" ->
Attrs1 = lists:keydelete("type", 1, Attrs),
{true, [{"type", "unavailable"} | Attrs1], StateData};
{true, [{"type", "unavailable"} | Attrs1], State};
"subscribe" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list),
{SRes, Attrs, StateData};
SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, State};
"subscribed" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list),
{SRes, Attrs, StateData};
SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, State};
"unsubscribe" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list),
{SRes, Attrs, StateData};
SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, State};
"unsubscribed" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list),
{SRes, Attrs, StateData};
SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, State};
_ ->
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
in]) of
case privacy_check_packet(State, From, To, Packet, in) of
allow ->
LFrom = jlib:jid_tolower(From),
LBFrom = jlib:jid_remove_resource(LFrom),
case ?SETS:is_element(
LFrom, StateData#state.pres_a) orelse
LFrom, State#state.pres_a) orelse
?SETS:is_element(
LBFrom, StateData#state.pres_a) of
LBFrom, State#state.pres_a) of
true ->
{true, Attrs, StateData};
{true, Attrs, State};
false ->
case ?SETS:is_element(
LFrom, StateData#state.pres_f) of
LFrom, State#state.pres_f) of
true ->
A = ?SETS:add_element(
LFrom,
StateData#state.pres_a),
State#state.pres_a),
{true, Attrs,
StateData#state{pres_a = A}};
State#state{pres_a = A}};
false ->
case ?SETS:is_element(
LBFrom, StateData#state.pres_f) of
LBFrom, State#state.pres_f) of
true ->
A = ?SETS:add_element(
LBFrom,
StateData#state.pres_a),
State#state.pres_a),
{true, Attrs,
StateData#state{pres_a = A}};
State#state{pres_a = A}};
false ->
{true, Attrs, StateData}
{true, Attrs, State}
end
end
end;
deny ->
{false, Attrs, StateData}
{false, Attrs, State}
end
end;
"broadcast" ->
@ -1302,61 +1348,43 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
"iq" ->
IQ = jlib:iq_query_info(Packet),
case IQ of
#iq{xmlns = ?NS_VCARD} when (To#jid.luser == "") or (To#jid.lresource == "") ->
Host = StateData#state.server,
case ets:lookup(sm_iqtable, {?NS_VCARD, Host}) of
[{_, Module, Function, Opts}] ->
gen_iq_handler:handle(Host, Module, Function, Opts,
From, To, IQ);
[] ->
Err = jlib:make_error_reply(
Packet, ?ERR_FEATURE_NOT_IMPLEMENTED),
ejabberd_router:route(To, From, Err)
end,
{false, Attrs, StateData};
#iq{} ->
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
in]) of
allow ->
{true, Attrs, StateData};
deny ->
Err = jlib:make_error_reply(
Packet, ?ERR_FEATURE_NOT_IMPLEMENTED),
#iq{xmlns = ?NS_LAST} ->
LFrom = jlib:jid_tolower(From),
LBFrom = jlib:jid_remove_resource(LFrom),
HasFromSub = (?SETS:is_element(LFrom, StateData#state.pres_f) orelse ?SETS:is_element(LBFrom, StateData#state.pres_f))
andalso is_privacy_allow(StateData, To, From, {xmlelement, "presence", [], []}, out),
case HasFromSub of
true ->
case privacy_check_packet(StateData, From, To, Packet, in) of
allow ->
{true, Attrs, StateData};
deny ->
{false, Attrs, StateData}
end;
_ ->
Err = jlib:make_error_reply(Packet, ?ERR_FORBIDDEN),
ejabberd_router:route(To, From, Err),
{false, Attrs, StateData}
end;
_ ->
{true, Attrs, StateData}
end;
"message" ->
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
in]) of
allow ->
case ejabberd_hooks:run_fold(
feature_check_packet, StateData#state.server,
allow,
[StateData#state.jid,
StateData#state.server,
StateData#state.pres_last,
{From, To, Packet},
in]) of
IQ when (is_record(IQ, iq)) or (IQ == reply) ->
case privacy_check_packet(StateData, From, To, Packet, in) of
allow ->
{true, Attrs, StateData};
deny ->
deny when is_record(IQ, iq) ->
Err = jlib:make_error_reply(
Packet, ?ERR_SERVICE_UNAVAILABLE),
ejabberd_router:route(To, From, Err),
{false, Attrs, StateData};
deny when IQ == reply ->
{false, Attrs, StateData}
end;
IQ when (IQ == invalid) or (IQ == not_iq) ->
{false, Attrs, StateData}
end;
"message" ->
case privacy_check_packet(StateData, From, To, Packet, in) of
allow ->
{true, Attrs, StateData};
deny ->
{false, Attrs, StateData}
end;
@ -1420,6 +1448,17 @@ handle_info({force_update_presence, LUser}, StateName,
StateData
end,
{next_state, StateName, NewStateData};
handle_info({broadcast, Type, From, Packet}, StateName, StateData) ->
Recipients = ejabberd_hooks:run_fold(
c2s_broadcast_recipients, StateData#state.server,
[],
[StateData, Type, From, Packet]),
lists:foreach(
fun(USR) ->
ejabberd_router:route(
From, jlib:make_jid(USR), Packet)
end, lists:usort(Recipients)),
fsm_next_state(StateName, StateData);
handle_info(Info, StateName, StateData) ->
?ERROR_MSG("Unexpected info: ~p", [Info]),
fsm_next_state(StateName, StateData).
@ -1531,6 +1570,10 @@ change_shaper(StateData, JID) ->
StateData#state.shaper, JID),
(StateData#state.sockmod):change_shaper(StateData#state.socket, Shaper).
send_text(StateData, Text) when StateData#state.xml_socket ->
?DEBUG("Send Text on stream = ~p", [lists:flatten(Text)]),
(StateData#state.sockmod):send_xml(StateData#state.socket,
{xmlstreamraw, Text});
send_text(StateData, Text) ->
?DEBUG("Send XML on stream = ~p", [Text]),
Text1 =
@ -1692,14 +1735,7 @@ process_presence_probe(From, To, StateData) ->
[jlib:timestamp_to_xml(Timestamp, utc, To, ""),
%% TODO: Delete the next line once XEP-0091 is Obsolete
jlib:timestamp_to_xml(Timestamp)]),
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{To, From, Packet},
out]) of
case privacy_check_packet(StateData, To, From, Packet, out) of
deny ->
ok;
allow ->
@ -1894,44 +1930,35 @@ presence_track(From, To, Packet, StateData) ->
end.
check_privacy_route(From, StateData, FromRoute, To, Packet) ->
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
out]) of
case privacy_check_packet(StateData, From, To, Packet, out) of
deny ->
Lang = StateData#state.lang,
ErrText = "Your active privacy list has denied the routing of this stanza.",
Err = jlib:make_error_reply(Packet, ?ERRT_NOT_ACCEPTABLE(Lang, ErrText)),
ejabberd_router:route(To, From, Err),
ok;
allow ->
ejabberd_router:route(FromRoute, To, Packet)
end.
privacy_check_packet(StateData, From, To, Packet, Dir) ->
ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
Dir]).
%% Check if privacy rules allow this delivery
is_privacy_allow(From, To, Packet, PrivacyList) ->
User = To#jid.user,
Server = To#jid.server,
allow == ejabberd_hooks:run_fold(
privacy_check_packet, Server,
allow,
[User,
Server,
PrivacyList,
{From, To, Packet},
in]).
is_privacy_allow(StateData, From, To, Packet, Dir) ->
allow == privacy_check_packet(StateData, From, To, Packet, Dir).
presence_broadcast(StateData, From, JIDSet, Packet) ->
lists:foreach(fun(JID) ->
FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
case privacy_check_packet(StateData, From, FJID, Packet, out) of
deny ->
ok;
allow ->
@ -1945,14 +1972,7 @@ presence_broadcast_to_trusted(StateData, From, T, A, Packet) ->
case ?SETS:is_element(JID, T) of
true ->
FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
case privacy_check_packet(StateData, From, FJID, Packet, out) of
deny ->
ok;
allow ->
@ -1983,14 +2003,7 @@ presence_broadcast_first(From, StateData, Packet) ->
As = ?SETS:fold(
fun(JID, A) ->
FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
case privacy_check_packet(StateData, From, FJID, Packet, out) of
deny ->
ok;
allow ->
@ -2045,14 +2058,7 @@ roster_change(IJID, ISubscription, StateData) ->
if
Cond1 ->
?DEBUG("C1: ~p~n", [LIJID]),
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, P},
out]) of
case privacy_check_packet(StateData, From, To, P, out) of
deny ->
ok;
allow ->
@ -2067,14 +2073,7 @@ roster_change(IJID, ISubscription, StateData) ->
?DEBUG("C2: ~p~n", [LIJID]),
PU = {xmlelement, "presence",
[{"type", "unavailable"}], []},
case ejabberd_hooks:run_fold(
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, PU},
out]) of
case privacy_check_packet(StateData, From, To, PU, out) of
deny ->
ok;
allow ->
@ -2152,25 +2151,16 @@ process_privacy_iq(From, To,
NewStateData.
resend_offline_messages(#state{user = User,
server = Server,
privacy_list = PrivList} = StateData) ->
case ejabberd_hooks:run_fold(resend_offline_messages_hook,
Server,
[],
[User, Server]) of
resend_offline_messages(StateData) ->
case ejabberd_hooks:run_fold(
resend_offline_messages_hook, StateData#state.server,
[],
[StateData#state.user, StateData#state.server]) of
Rs when is_list(Rs) ->
lists:foreach(
fun({route,
From, To, {xmlelement, Name, Attrs, Els} = Packet}) ->
Pass = case ejabberd_hooks:run_fold(
privacy_check_packet, Server,
allow,
[User,
Server,
PrivList,
{From, To, Packet},
in]) of
Pass = case privacy_check_packet(StateData, From, To, Packet, in) of
allow ->
true;
deny ->
@ -2223,7 +2213,17 @@ get_statustag(Presence) ->
end.
process_unauthenticated_stanza(StateData, El) ->
case jlib:iq_query_info(El) of
NewEl = case xml:get_tag_attr_s("xml:lang", El) of
"" ->
case StateData#state.lang of
"" -> El;
Lang ->
xml:replace_tag_attr("xml:lang", Lang, El)
end;
_ ->
El
end,
case jlib:iq_query_info(NewEl) of
#iq{} = IQ ->
Res = ejabberd_hooks:run_fold(c2s_unauthenticated_iq,
StateData#state.server,

View File

@ -57,7 +57,8 @@
conn = unknown,
auth_module = unknown,
ip,
aux_fields = [],
fsm_limit_opts,
lang,
debug=false,
flash_connection = false}).
flash_connection = false}).

View File

@ -36,7 +36,8 @@
terminate/2, code_change/3]).
-export([create_captcha/5, build_captcha_html/2, check_captcha/2,
process_reply/1, process/2, is_feature_available/0]).
process_reply/1, process/2, is_feature_available/0,
create_captcha_x/4, create_captcha_x/5]).
-include("jlib.hrl").
-include("ejabberd.hrl").
@ -84,7 +85,8 @@ create_captcha(SID, From, To, Lang, Args)
?VFIELD("hidden", "challenge", {xmlcdata, Id}),
?VFIELD("hidden", "sid", {xmlcdata, SID}),
{xmlelement, "field", [{"var", "ocr"}, {"label", ?CAPTCHA_TEXT(Lang)}],
[{xmlelement, "media", [{"xmlns", ?NS_MEDIA}],
[{xmlelement, "required", [], []},
{xmlelement, "media", [{"xmlns", ?NS_MEDIA}],
[{xmlelement, "uri", [{"type", Type}],
[{xmlcdata, "cid:" ++ CID}]}]}]}]}]},
BodyString1 = translate:translate(Lang, "Your messages to ~s are being blocked. To unblock them, visit ~s"),
@ -101,6 +103,51 @@ create_captcha(SID, From, To, Lang, Args)
error
end.
create_captcha_x(SID, To, Lang, HeadEls) ->
create_captcha_x(SID, To, Lang, HeadEls, []).
create_captcha_x(SID, To, Lang, HeadEls, TailEls) ->
case create_image() of
{ok, Type, Key, Image} ->
Id = randoms:get_string() ++ "-" ++ ejabberd_cluster:node_id(),
B64Image = jlib:encode_base64(binary_to_list(Image)),
CID = "sha1+" ++ sha:sha(Image) ++ "@bob.xmpp.org",
Data = {xmlelement, "data",
[{"xmlns", ?NS_BOB}, {"cid", CID},
{"max-age", "0"}, {"type", Type}],
[{xmlcdata, B64Image}]},
HelpTxt = translate:translate(
Lang,
"If you don't see the CAPTCHA image here, "
"visit the web page."),
Imageurl = get_url(Id ++ "/image"),
Captcha =
{xmlelement, "x", [{"xmlns", ?NS_XDATA}, {"type", "form"}],
[?VFIELD("hidden", "FORM_TYPE", {xmlcdata, ?NS_CAPTCHA}) | HeadEls] ++
[{xmlelement, "field", [{"type", "fixed"}],
[{xmlelement, "value", [], [{xmlcdata, HelpTxt}]}]},
{xmlelement, "field", [{"type", "hidden"}, {"var", "captchahidden"}],
[{xmlelement, "value", [], [{xmlcdata, "workaround-for-psi"}]}]},
{xmlelement, "field",
[{"type", "text-single"},
{"label", translate:translate(Lang, "CAPTCHA web page")},
{"var", "url"}],
[{xmlelement, "value", [], [{xmlcdata, Imageurl}]}]},
?VFIELD("hidden", "from", {xmlcdata, jlib:jid_to_string(To)}),
?VFIELD("hidden", "challenge", {xmlcdata, Id}),
?VFIELD("hidden", "sid", {xmlcdata, SID}),
{xmlelement, "field", [{"var", "ocr"}, {"label", ?CAPTCHA_TEXT(Lang)}],
[{xmlelement, "required", [], []},
{xmlelement, "media", [{"xmlns", ?NS_MEDIA}],
[{xmlelement, "uri", [{"type", Type}],
[{xmlcdata, "cid:" ++ CID}]}]}]}] ++ TailEls},
Tref = erlang:send_after(?CAPTCHA_LIFETIME, ?MODULE, {remove_id, Id}),
ets:insert(captcha, #captcha{id=Id, key=Key, tref=Tref}),
{ok, [Captcha, Data]};
_ ->
error
end.
%% @spec (Id::string(), Lang::string()) -> {FormEl, {ImgEl, TextEl, IdEl, KeyEl}} | captcha_not_found
%% where FormEl = xmlelement()
%% ImgEl = xmlelement()
@ -159,14 +206,14 @@ check_captcha(Id, ProvidedKey) ->
captcha_not_found
end.
process_reply({xmlelement, "captcha", _, _} = El) ->
process_reply({xmlelement, _, _, _} = El) ->
case xml:get_subtag(El, "x") of
false ->
{error, malformed};
Xdata ->
Fields = jlib:parse_xdata_submit(Xdata),
case {proplists:get_value("challenge", Fields),
proplists:get_value("ocr", Fields)} of
case catch {proplists:get_value("challenge", Fields),
proplists:get_value("ocr", Fields)} of
{[Id|_], [OCR|_]} ->
case check_captcha(Id, OCR) of
captcha_valid ->
@ -251,7 +298,11 @@ handle_info({remove_id, Id}, State) ->
?DEBUG("captcha ~p timed out", [Id]),
case ets:lookup(captcha, Id) of
[#captcha{args=Args, pid=Pid}] ->
Pid ! {captcha_failed, Args},
if is_pid(Pid) ->
Pid ! {captcha_failed, Args};
true ->
ok
end,
ets:delete(captcha, Id);
_ ->
ok
@ -430,10 +481,18 @@ do_check_captcha(Id, ProvidedKey) ->
ets:delete(captcha, Id),
erlang:cancel_timer(Tref),
if ValidKey == ProvidedKey ->
Pid ! {captcha_succeed, Args},
if is_pid(Pid) ->
Pid ! {captcha_succeed, Args};
true ->
ok
end,
captcha_valid;
true ->
Pid ! {captcha_failed, Args},
if is_pid(Pid) ->
Pid ! {captcha_failed, Args};
true ->
ok
end,
captcha_non_valid
end;
_ ->

View File

@ -741,6 +741,10 @@ print_usage_command(Cmd, C, MaxC, ShCode) ->
?PRINT(["\n", NameFmt, "\n", ArgsFmt, "\n", ReturnsFmt, "\n\n", XmlrpcFmt, TagsFmt, "\n\n", DescFmt, "\n\n", LongDescFmt, NoteEjabberdctl], []).
format_usage_ctype(Type, _Indentation)
when (Type==atom) or (Type==integer) or (Type==string) or (Type==rescode) or (Type==restuple)->
io_lib:format("~p", [Type]);
format_usage_ctype({Name, Type}, _Indentation)
when (Type==atom) or (Type==integer) or (Type==string) or (Type==rescode) or (Type==restuple)->
io_lib:format("~p::~p", [Name, Type]);

View File

@ -49,8 +49,42 @@ start_link() ->
init(_) ->
ets:new(listen_sockets, [named_table, public]),
bind_tcp_ports(),
{ok, {{one_for_one, 10, 1}, []}}.
bind_tcp_ports() ->
case ejabberd_config:get_local_option(listen) of
undefined ->
ignore;
Ls ->
lists:foreach(
fun({Port, Module, Opts}) ->
ModuleRaw = strip_frontend(Module),
case ModuleRaw:socket_type() of
independent -> ok;
_ ->
bind_tcp_port(Port, Module, Opts)
end
end, Ls)
end.
bind_tcp_port(PortIP, Module, RawOpts) ->
try check_listener_options(RawOpts) of
ok ->
{Port, IPT, IPS, IPV, Proto, OptsClean} = parse_listener_portip(PortIP, RawOpts),
{_Opts, SockOpts} = prepare_opts(IPT, IPV, OptsClean),
case Proto of
udp -> ok;
_ ->
ListenSocket = listen_tcp(PortIP, Module, SockOpts, Port, IPS),
ets:insert(listen_sockets, {PortIP, ListenSocket})
end
catch
throw:{error, Error} ->
?ERROR_MSG(Error, [])
end.
start_listeners() ->
case ejabberd_config:get_local_option(listen) of
undefined ->
@ -100,15 +134,7 @@ start_dependent(Port, Module, Opts) ->
init(PortIP, Module, RawOpts) ->
{Port, IPT, IPS, IPV, Proto, OptsClean} = parse_listener_portip(PortIP, RawOpts),
%% 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;
({backlog, _}) -> true;
(_) -> false
end, Opts),
{Opts, SockOpts} = prepare_opts(IPT, IPV, OptsClean),
if Proto == udp ->
init_udp(PortIP, Module, Opts, SockOpts, Port, IPS);
true ->
@ -129,28 +155,39 @@ init_udp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
end.
init_tcp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
SockOpts2 = try erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true} | SockOpts];
false -> SockOpts
catch
_:_ -> []
end,
Res = gen_tcp:listen(Port, [binary,
{packet, 0},
{active, false},
{reuseaddr, true},
{nodelay, true},
{send_timeout, ?TCP_SEND_TIMEOUT},
{keepalive, true} |
SockOpts2]),
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} ->
socket_error(Reason, PortIP, Module, SockOpts, Port, IPS)
ListenSocket = listen_tcp(PortIP, Module, SockOpts, Port, IPS),
%% 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).
listen_tcp(PortIP, Module, SockOpts, Port, IPS) ->
case ets:lookup(listen_sockets, PortIP) of
[{PortIP, ListenSocket}] ->
?INFO_MSG("Reusing listening port for ~p", [Port]),
ets:delete(listen_sockets, Port),
ListenSocket;
_ ->
SockOpts2 = try erlang:system_info(otp_release) >= "R13B" of
true -> [{send_timeout_close, true} | SockOpts];
false -> SockOpts
catch
_:_ -> []
end,
Res = gen_tcp:listen(Port, [binary,
{packet, 0},
{active, false},
{reuseaddr, true},
{nodelay, true},
{send_timeout, ?TCP_SEND_TIMEOUT},
{keepalive, true} |
SockOpts2]),
case Res of
{ok, ListenSocket} ->
ListenSocket;
{error, Reason} ->
socket_error(Reason, PortIP, Module, SockOpts, Port, IPS)
end
end.
%% @spec (PortIP, Opts) -> {Port, IPT, IPS, IPV, OptsClean}
@ -195,6 +232,18 @@ parse_listener_portip(PortIP, Opts) ->
end,
{Port, IPT, IPS, IPV, Proto, OptsClean}.
prepare_opts(IPT, IPV, OptsClean) ->
%% 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;
({backlog, _}) -> true;
(_) -> false
end, Opts),
{Opts, SockOpts}.
add_proto(Port, Opts) when is_integer(Port) ->
{Port, get_proto(Opts)};
add_proto({Port, Proto}, _Opts) when is_atom(Proto) ->

View File

@ -151,6 +151,19 @@ write_event(Fd, {Time, {info_msg, _GL, {Pid, Format, Args}}}) ->
F = add_node("ERROR: ~p - ~p~n", Pid),
file:write(Fd, io_lib:format(T ++ F, [Format,Args]))
end;
write_event(Fd, {Time, {warning_report, _GL, {Pid, std_warning, Rep}}}) ->
T = write_time(Time, "WARNING REPORT"),
S = format_report(Rep),
file:write(Fd, io_lib:format(T ++ S ++ add_node("", Pid), []));
write_event(Fd, {Time, {warning_msg, _GL, {Pid, Format, Args}}}) ->
T = write_time(Time, "WARNING REPORT"),
case catch io_lib:format(add_node(Format,Pid), Args) of
S when is_list(S) ->
file:write(Fd, io_lib:format(T ++ S, []));
_ ->
F = add_node("ERROR: ~p - ~p~n", Pid),
file:write(Fd, io_lib:format(T ++ F, [Format,Args]))
end;
write_event(_, _) ->
ok.

View File

@ -31,32 +31,59 @@
-module(ejabberd_loglevel).
-author('mickael.remond@process-one.net').
-export([set/1, get/0]).
-export([set/1,
get/0,
set_custom/2,
clear_custom/0,
clear_custom/1]).
-include("ejabberd.hrl").
-define(LOGMODULE, "error_logger").
%% Error levels:
-define(LOG_LEVELS,[ {0, no_log, "No log"}
,{1, critical, "Critical"}
,{2, error, "Error"}
,{3, warning, "Warning"}
,{4, info, "Info"}
,{5, debug, "Debug"}
]).
-record(loglevel, {ordinal,
name,
description,
function = no_log,
event_type = no_log,
msg_prefix = no_log}).
-define(LOG_LEVELS,
[#loglevel{ordinal = 0, name = no_log, description = "No log"},
#loglevel{ordinal = 1, name = critical, description = "Critical",
function = critical_msg, event_type = error, msg_prefix = "C"},
#loglevel{ordinal = 2, name = error, description = "Error",
function = error_msg, event_type = error, msg_prefix = "E"},
#loglevel{ordinal = 3, name = warning, description = "Warning",
function = warning_msg, event_type = warning_msg, msg_prefix = "W"},
#loglevel{ordinal = 4, name = info, description = "Info",
function = info_msg, event_type = info_msg, msg_prefix = "I"},
#loglevel{ordinal = 5, name = debug, description = "Debug",
function = debug_msg, event_type = info_msg, msg_prefix = "D"}]).
%% @type level() = integer() | atom().
%% @spec () -> {DefaultLevelOrdinal::integer(), [{Module::atom(), LevelOrdinal::integer()}]}
%% @doc Get the default and all custom levels
get() ->
Level = ejabberd_logger:get(),
case lists:keysearch(Level, 1, ?LOG_LEVELS) of
{value, Result} -> Result;
_ -> erlang:error({no_such_loglevel, Level})
{DefaultLevel, _CustomLevels} = ejabberd_logger:get(),
case lists:keysearch(DefaultLevel, #loglevel.ordinal, ?LOG_LEVELS) of
{value, Result = #loglevel{}} ->
{Result#loglevel.ordinal, Result#loglevel.name, Result#loglevel.description};
_ ->
erlang:error({no_such_loglevel, DefaultLevel})
end.
set(LogLevel) when is_atom(LogLevel) ->
set(level_to_integer(LogLevel));
set(Loglevel) when is_integer(Loglevel) ->
%% @spec (DefaultLevel::level() | {DefaultLevel::level(), [{Module::atom(), Level::level()}]}) ->
%% {module, ejabberd_logger}
%% @doc Set the default and all custom levels
set(DefaultLevel) when is_atom(DefaultLevel) orelse is_integer(DefaultLevel) ->
set({DefaultLevel, []});
set({DefaultLevel, CustomLevels}) when is_list(CustomLevels) ->
DefaultInt = level_to_integer(DefaultLevel),
CustomInts = [level_to_integer(C) || C <- CustomLevels],
Loglevel = {DefaultInt, CustomInts},
try
{Mod,Code} = dynamic_compile:from_string(ejabberd_logger_src(Loglevel)),
code:load_binary(Mod, ?LOGMODULE ++ ".erl", Code)
@ -64,11 +91,45 @@ set(Loglevel) when is_integer(Loglevel) ->
Type:Error -> ?CRITICAL_MSG("Error compiling logger (~p): ~p~n", [Type, Error])
end;
set(_) ->
exit("Loglevel must be an integer").
exit("Invalid loglevel format").
%% @spec (Module::atom(), CustomLevel::level()) -> ok
%% @doc Set a custom level
set_custom(Module, Level) ->
{DefaultLevel, CustomLevels} = ejabberd_logger:get(),
case lists:keysearch(Module, 1, CustomLevels) of
{value, {Module, Level}} ->
ok;
{value, _} ->
set({DefaultLevel, lists:keyreplace(Module, 1, CustomLevels, {Module, Level})});
_ ->
set({DefaultLevel, [{Module, Level} | CustomLevels]})
end.
%% @spec () -> ok
%% @doc Clear all custom levels
clear_custom() ->
{DefaultLevel, _CustomLevels} = ejabberd_logger:get(),
set({DefaultLevel, []}).
%% @spec (Module::atom()) -> ok
%% @doc Clear a custom level
clear_custom(Module) ->
{DefaultLevel, CustomLevels} = ejabberd_logger:get(),
case lists:keysearch(Module, 1, CustomLevels) of
{value, _} ->
set({DefaultLevel, lists:keydelete(Module, 1, CustomLevels)});
_ ->
ok
end.
level_to_integer(Level) when is_integer(Level) ->
Level;
level_to_integer({Module, Level}) ->
{Module, level_to_integer(Level)};
level_to_integer(Level) ->
case lists:keysearch(Level, 2, ?LOG_LEVELS) of
{value, {Int, Level, _Desc}} -> Int;
case lists:keysearch(Level, #loglevel.name, ?LOG_LEVELS) of
{value, #loglevel{ordinal = Int}} -> Int;
_ -> erlang:error({no_such_loglevel, Level})
end.
@ -77,7 +138,12 @@ level_to_integer(Level) ->
%% This allows to dynamically change log level while keeping a
%% very efficient code.
ejabberd_logger_src(Loglevel) ->
L = integer_to_list(Loglevel),
lists:flatten([header_src(),
get_src(Loglevel),
[log_src(Loglevel, LevelSpec) || LevelSpec <- ?LOG_LEVELS],
notify_src()]).
header_src() ->
"-module(ejabberd_logger).
-author('mickael.remond@process-one.net').
@ -87,42 +153,42 @@ ejabberd_logger_src(Loglevel) ->
error_msg/4,
critical_msg/4,
get/0]).
".
get() -> "++ L ++".
get_src(Loglevel) ->
io_lib:format("get() -> ~w.
", [Loglevel]).
%% Helper functions
debug_msg(Module, Line, Format, Args) when " ++ L ++ " >= 5 ->
notify(info_msg,
\"D(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line]++Args);
debug_msg(_,_,_,_) -> ok.
log_src(_Loglevel, #loglevel{function = no_log}) ->
[];
log_src({DefaultLevel, [{Module, Level} | Tail]}, Spec = #loglevel{ordinal = MinLevel})
when Level < MinLevel andalso MinLevel =< DefaultLevel ->
[atom_to_list(Spec#loglevel.function), "(", atom_to_list(Module), ", _, _, _) -> ok;
", log_src({DefaultLevel, Tail}, Spec)];
log_src({DefaultLevel, [{Module, Level} | Tail]}, Spec = #loglevel{ordinal = MinLevel})
when DefaultLevel < MinLevel andalso MinLevel =< Level ->
[atom_to_list(Spec#loglevel.function), "(", atom_to_list(Module), " = Module, Line, Format, Args) ->",
log_notify_src(Spec), ";
", log_src({DefaultLevel, Tail}, Spec)];
log_src({DefaultLevel, [_Head | Tail]}, Spec = #loglevel{}) ->
log_src({DefaultLevel, Tail}, Spec);
log_src({DefaultLevel, []}, Spec = #loglevel{ordinal = MinLevel})
when DefaultLevel < MinLevel ->
[atom_to_list(Spec#loglevel.function), "(_, _, _, _) -> ok.
"];
log_src({_DefaultLevel, []}, Spec = #loglevel{}) ->
[atom_to_list(Spec#loglevel.function), "(Module, Line, Format, Args) ->",
log_notify_src(Spec), ".
"].
info_msg(Module, Line, Format, Args) when " ++ L ++ " >= 4 ->
notify(info_msg,
\"I(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line]++Args);
info_msg(_,_,_,_) -> ok.
warning_msg(Module, Line, Format, Args) when " ++ L ++ " >= 3 ->
notify(error,
\"W(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line]++Args);
warning_msg(_,_,_,_) -> ok.
error_msg(Module, Line, Format, Args) when " ++ L ++ " >= 2 ->
notify(error,
\"E(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line]++Args);
error_msg(_,_,_,_) -> ok.
critical_msg(Module, Line, Format, Args) when " ++ L ++ " >= 1 ->
notify(error,
\"C(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line]++Args);
critical_msg(_,_,_,_) -> ok.
log_notify_src(Spec = #loglevel{}) ->
["notify(", atom_to_list(Spec#loglevel.event_type), ",
\"", Spec#loglevel.msg_prefix, "(~p:~p:~p) : \"++Format++\"~n\",
[self(), Module, Line | Args])"].
notify_src() ->
%% Distribute the message to the Erlang error logger
notify(Type, Format, Args) ->
"notify(Type, Format, Args) ->
LoggerMsg = {Type, group_leader(), {self(), Format, Args}},
gen_event:notify(error_logger, LoggerMsg).
".

View File

@ -41,8 +41,15 @@
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
-record(state, {groups = []}).
-ifdef(SSL40).
-define(PG2, pg2).
-else.
-define(PG2, pg2_backport).
-endif.
%%====================================================================
%% API
%%====================================================================
@ -64,20 +71,20 @@ start_link() ->
join(Name) ->
PG = {?MODULE, Name},
pg2:create(PG),
pg2:join(PG, whereis(?MODULE)).
?PG2:create(PG),
?PG2:join(PG, whereis(?MODULE)).
leave(Name) ->
PG = {?MODULE, Name},
pg2:leave(PG, whereis(?MODULE)).
?PG2:leave(PG, whereis(?MODULE)).
get_members(Name) ->
PG = {?MODULE, Name},
[node(P) || P <- pg2:get_members(PG)].
[node(P) || P <- ?PG2:get_members(PG)].
get_closest_node(Name) ->
PG = {?MODULE, Name},
node(pg2:get_closest_pid(PG)).
node(?PG2:get_closest_pid(PG)).
%%====================================================================
%% gen_server callbacks

View File

@ -153,8 +153,8 @@ process_elements(Elements,State) ->
process_element(El=#xmlel{name=user, ns=_XMLNS},
State=#parsing_state{host=Host}) ->
case add_user(El,Host) of
{error, _Other} -> error;
_ -> ok
ok -> ok;
{error, _Other} -> error
end,
State;
@ -196,34 +196,44 @@ process_element(El,State) ->
add_user(El, Domain) ->
User = exmpp_xml:get_attribute(El,name,none),
Password = exmpp_xml:get_attribute(El,password,none),
add_user(El, Domain, ?BTL(User), ?BTL(Password)).
add_user(El, Domain, User, Password).
%% @spec (El::xmlel(), Domain::string(), User::string(), Password::string())
%% -> ok | {atomic, exists} | {error, not_allowed}
%% @spec (El::xmlel(), Domain::string(), User::binary(), Password::binary() | none)
%% -> ok | {error, ErrorText::string()}
%% @doc Add a new user to the database.
%% If user already exists, it will be only updated.
add_user(El, Domain, User, Password) ->
add_user(El, Domain, UserBinary, none) ->
User = ?BTL(UserBinary),
io:format("Account ~s@~s will not be created, updating it...~n",
[User, Domain]),
io:format(""),
populate_user_with_elements(El, Domain, User),
ok;
add_user(El, Domain, UserBinary, PasswordBinary) ->
User = ?BTL(UserBinary),
Password = ?BTL(PasswordBinary),
case create_user(User,Password,Domain) of
ok ->
ok = exmpp_xml:foreach(
fun(_,Child) ->
populate_user(User,Domain,Child)
end,
El),
populate_user_with_elements(El, Domain, User),
ok;
{atomic, exists} ->
io:format("Account ~s@~s already exists, updating it...~n",
[User, Domain]),
io:format(""),
ok = exmpp_xml:foreach(
fun(_,Child) ->
populate_user(User,Domain,Child)
end,
El);
populate_user_with_elements(El, Domain, User),
ok;
{error, Other} ->
?ERROR_MSG("Error adding user ~s@~s: ~p~n", [User, Domain, Other])
?ERROR_MSG("Error adding user ~s@~s: ~p~n", [User, Domain, Other]),
{error, Other}
end.
populate_user_with_elements(El, Domain, User) ->
exmpp_xml:foreach(
fun (_,Child) ->
populate_user(User,Domain,Child)
end,
El).
%% @spec (User::string(), Password::string(), Domain::string())
%% -> ok | {atomic, exists} | {error, not_allowed}
%% @doc Create a new user

View File

@ -37,6 +37,7 @@
get_connections_pids/1,
try_register/1,
remove_connection/3,
find_connection/2,
dirty_get_connections/0,
allow_host/2,
incoming_s2s_number/0,
@ -463,22 +464,21 @@ needed_connections_number(Ls, MaxS2SConnectionsNumber,
is_service(From, To) ->
LFromDomain = From#jid.lserver,
case ejabberd_config:get_local_option({route_subdomains, LFromDomain}) of
s2s -> % bypass RFC 3920 10.3
false;
_ ->
LDstDomain = To#jid.lserver,
P = fun(Domain) -> is_subdomain(LDstDomain, Domain) end,
lists:any(P, ?MYHOSTS)
s2s -> % bypass RFC 3920 10.3
false;
_ ->
Hosts = ?MYHOSTS,
P = fun(ParentDomain) -> lists:member(ParentDomain, Hosts) end,
lists:any(P, parent_domains(To#jid.lserver))
end.
%%--------------------------------------------------------------------
%% Function: is_subdomain(Domain1, Domain2) -> true | false
%% Description: Return true if Domain1 (a string representing an
%% internet domain name) is a subdomain (or the same domain) of
%% Domain2
%% --------------------------------------------------------------------
is_subdomain(Domain1, Domain2) ->
lists:suffix(string:tokens(Domain2, "."), string:tokens(Domain1, ".")).
parent_domains(Domain) ->
lists:foldl(
fun(Label, []) ->
[Label];
(Label, [Head | Tail]) ->
[Label ++ "." ++ Head, Head | Tail]
end, [], lists:reverse(string:tokens(Domain, "."))).
send_element(Pid, El) ->
Pid ! {send_element, El}.
@ -547,10 +547,11 @@ update_tables() ->
%% Check if host is in blacklist or white list
allow_host(MyServer, S2SHost) ->
case lists:filter(
fun(Host) ->
is_subdomain(MyServer, Host)
end, ?MYHOSTS) of
Hosts = ?MYHOSTS,
case lists:dropwhile(
fun(ParentDomain) ->
not lists:member(ParentDomain, Hosts)
end, parent_domains(MyServer)) of
[MyHost|_] ->
allow_host1(MyHost, S2SHost);
[] ->

View File

@ -74,7 +74,10 @@
shaper,
tls = false,
tls_enabled = false,
tls_required = false,
tls_certverify = false,
tls_options = [],
server,
authenticated = false,
auth_domain,
connections = ?DICT:new(),
@ -150,12 +153,16 @@ init([{SockMod, Socket}, Opts]) ->
{value, {_, S}} -> S;
_ -> none
end,
StartTLS = case ejabberd_config:get_local_option(s2s_use_starttls) of
undefined ->
false;
UseStartTLS ->
UseStartTLS
end,
{StartTLS, TLSRequired, TLSCertverify} = case ejabberd_config:get_local_option(s2s_use_starttls) of
UseTls when (UseTls==undefined) or (UseTls==false) ->
{false, false, false};
UseTls when (UseTls==true) or (UseTls==optional) ->
{true, false, false};
required ->
{true, true, false};
required_trusted ->
{true, true, true}
end,
TLSOpts = case ejabberd_config:get_local_option(s2s_certfile) of
undefined ->
[];
@ -170,6 +177,8 @@ init([{SockMod, Socket}, Opts]) ->
shaper = Shaper,
tls = StartTLS,
tls_enabled = false,
tls_required = TLSRequired,
tls_certverify = TLSCertverify,
tls_options = TLSOpts,
timer = Timer}}.
@ -193,16 +202,18 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
StateData#state.tls_enabled ->
case (StateData#state.sockmod):get_peer_certificate(
StateData#state.socket) of
{ok, _Cert} ->
case (StateData#state.sockmod):get_verify_result(
StateData#state.socket) of
{ok, Cert} ->
case (StateData#state.sockmod):get_verify_result(StateData#state.socket) of
0 ->
[{xmlelement, "mechanisms",
[{"xmlns", ?NS_SASL}],
[{xmlelement, "mechanism", [],
[{xmlcdata, "EXTERNAL"}]}]}];
_ ->
[]
CertVerifyRes ->
case StateData#state.tls_certverify of
true -> {error_cert_verif, CertVerifyRes, Cert};
false -> []
end
end;
error ->
[]
@ -213,18 +224,33 @@ wait_for_stream({xmlstreamstart, _Name, Attrs}, StateData) ->
StartTLS = if
StateData#state.tls_enabled ->
[];
true ->
[{xmlelement, "starttls",
[{"xmlns", ?NS_TLS}], []}]
(not StateData#state.tls_enabled) and (not StateData#state.tls_required) ->
[{xmlelement, "starttls", [{"xmlns", ?NS_TLS}], []}];
(not StateData#state.tls_enabled) and StateData#state.tls_required ->
[{xmlelement, "starttls", [{"xmlns", ?NS_TLS}],
[{xmlelement, "required", [], []}]
}]
end,
send_element(StateData,
{xmlelement, "stream:features", [],
SASL ++ StartTLS ++
ejabberd_hooks:run_fold(
s2s_stream_features,
Server,
[], [Server])}),
{next_state, wait_for_feature_request, StateData};
case SASL of
{error_cert_verif, CertVerifyResult, Certificate} ->
CertError = tls:get_cert_verify_string(CertVerifyResult, Certificate),
RemoteServer = xml:get_attr_s("from", Attrs),
?INFO_MSG("Closing s2s connection: ~s <--> ~s (~s)", [StateData#state.server, RemoteServer, CertError]),
send_text(StateData, xml:element_to_string(?SERRT_POLICY_VIOLATION("en", CertError))),
{atomic, Pid} = ejabberd_s2s:find_connection(jlib:make_jid("", Server, ""), jlib:make_jid("", RemoteServer, "")),
ejabberd_s2s_out:stop_connection(Pid),
{stop, normal, StateData};
_ ->
send_element(StateData,
{xmlelement, "stream:features", [],
SASL ++ StartTLS ++
ejabberd_hooks:run_fold(
s2s_stream_features,
Server,
[], [Server])}),
{next_state, wait_for_feature_request, StateData#state{server = Server}}
end;
{"jabber:server", _, Server, true} when
StateData#state.authenticated ->
send_text(StateData, ?STREAM_HEADER(" version='1.0'")),
@ -266,7 +292,17 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
SockMod == gen_tcp ->
?DEBUG("starttls", []),
Socket = StateData#state.socket,
TLSOpts = StateData#state.tls_options,
TLSOpts = case ejabberd_config:get_local_option(
{domain_certfile,
StateData#state.server}) of
undefined ->
StateData#state.tls_options;
CertFile ->
[{certfile, CertFile} |
lists:keydelete(
certfile, 1,
StateData#state.tls_options)]
end,
TLSSocket = (StateData#state.sockmod):starttls(
Socket, TLSOpts,
xml:element_to_binary(
@ -274,7 +310,8 @@ wait_for_feature_request({xmlstreamelement, El}, StateData) ->
{next_state, wait_for_stream,
StateData#state{socket = TLSSocket,
streamid = new_id(),
tls_enabled = true
tls_enabled = true,
tls_options = TLSOpts
}};
{?NS_SASL, "auth"} when TLSEnabled ->
Mech = xml:get_attr_s("mechanism", Attrs),
@ -364,11 +401,11 @@ stream_established({xmlstreamelement, El}, StateData) ->
LFrom = jlib:nameprep(From),
%% Checks if the from domain is allowed and if the to
%% domain is handled by this server:
case {ejabberd_s2s:allow_host(To, From),
case {ejabberd_s2s:allow_host(LTo, LFrom),
lists:member(LTo, ejabberd_router:dirty_get_all_domains())} of
{true, true} ->
ejabberd_s2s_out:terminate_if_waiting_delay(To, From),
ejabberd_s2s_out:start(To, From,
ejabberd_s2s_out:terminate_if_waiting_delay(LTo, LFrom),
ejabberd_s2s_out:start(LTo, LFrom,
{verify, self(),
Key, StateData#state.streamid}),
Conns = ?DICT:store({LFrom, LTo}, wait_for_verification,

View File

@ -67,7 +67,7 @@
tls = false,
tls_required = false,
tls_enabled = false,
tls_options = [],
tls_options = [connect],
authenticated = false,
db_enabled = true,
try_auth = true,
@ -110,6 +110,7 @@
"xmlns:stream='http://etherx.jabber.org/streams' "
"xmlns='jabber:server' "
"xmlns:db='jabber:server:dialback' "
"from='~s' "
"to='~s'~s>"
).
@ -160,16 +161,18 @@ stop_connection(Pid, Timeout) ->
init([From, Server, Type]) ->
process_flag(trap_exit, true),
?DEBUG("started: ~p", [{From, Server, Type}]),
TLS = case ejabberd_config:get_local_option(s2s_use_starttls) of
undefined ->
false;
UseStartTLS ->
UseStartTLS
{TLS, TLSRequired} = case ejabberd_config:get_local_option(s2s_use_starttls) of
UseTls when (UseTls==undefined) or (UseTls==false) ->
{false, false};
UseTls when (UseTls==true) or (UseTls==optional) ->
{true, false};
UseTls when (UseTls==required) or (UseTls==required_trusted) ->
{true, true}
end,
UseV10 = TLS,
TLSOpts = case ejabberd_config:get_local_option(s2s_certfile) of
undefined ->
[];
[connect];
CertFile ->
[{certfile, CertFile}, connect]
end,
@ -183,6 +186,7 @@ init([From, Server, Type]) ->
Timer = erlang:start_timer(?S2STIMEOUT, self(), []),
{ok, open_socket, #state{use_v10 = UseV10,
tls = TLS,
tls_required = TLSRequired,
tls_options = TLSOpts,
queue = queue:new(),
myname = From,
@ -230,7 +234,7 @@ open_socket(init, StateData) ->
tls_enabled = false,
streamid = new_id()},
send_text(NewStateData, io_lib:format(?STREAM_HEADER,
[StateData#state.server,
[StateData#state.myname, StateData#state.server,
Version])),
{next_state, wait_for_stream, NewStateData, ?FSMTIMEOUT};
{error, _Reason} ->
@ -357,8 +361,8 @@ wait_for_validation({xmlstreamelement, El}, StateData) ->
case is_verify_res(El) of
{result, To, From, Id, Type} ->
?DEBUG("recv result: ~p", [{From, To, Id, Type}]),
case Type of
"valid" ->
case {Type, StateData#state.tls_enabled, StateData#state.tls_required} of
{"valid", Enabled, Required} when (Enabled==true) or (Required==false) ->
send_queue(StateData, StateData#state.queue),
?INFO_MSG("Connection established: ~s -> ~s with TLS=~p",
[StateData#state.myname, StateData#state.server, StateData#state.tls_enabled]),
@ -367,6 +371,11 @@ wait_for_validation({xmlstreamelement, El}, StateData) ->
StateData#state.server]),
{next_state, stream_established,
StateData#state{queue = queue:new()}};
{"valid", Enabled, Required} when (Enabled==false) and (Required==true) ->
%% TODO: bounce packets
?INFO_MSG("Closing s2s connection: ~s -> ~s (TLS is required but unavailable)",
[StateData#state.myname, StateData#state.server]),
{stop, normal, StateData};
_ ->
%% TODO: bounce packets
?INFO_MSG("Closing s2s connection: ~s -> ~s (invalid dialback key)",
@ -559,7 +568,7 @@ wait_for_auth_result({xmlstreamelement, El}, StateData) ->
ejabberd_socket:reset_stream(StateData#state.socket),
send_text(StateData,
io_lib:format(?STREAM_HEADER,
[StateData#state.server,
[StateData#state.myname, StateData#state.server,
" version='1.0'"])),
{next_state, wait_for_stream,
StateData#state{streamid = new_id(),
@ -627,7 +636,7 @@ wait_for_starttls_proceed({xmlstreamelement, El}, StateData) ->
Socket = StateData#state.socket,
TLSOpts = case ejabberd_config:get_local_option(
{domain_certfile,
StateData#state.server}) of
StateData#state.myname}) of
undefined ->
StateData#state.tls_options;
CertFile ->
@ -639,11 +648,12 @@ wait_for_starttls_proceed({xmlstreamelement, El}, StateData) ->
TLSSocket = ejabberd_socket:starttls(Socket, TLSOpts),
NewStateData = StateData#state{socket = TLSSocket,
streamid = new_id(),
tls_enabled = true
tls_enabled = true,
tls_options = TLSOpts
},
send_text(NewStateData,
io_lib:format(?STREAM_HEADER,
[StateData#state.server,
[StateData#state.myname, StateData#state.server,
" version='1.0'"])),
{next_state, wait_for_stream, NewStateData, ?FSMTIMEOUT};
_ ->

View File

@ -88,7 +88,13 @@ start(Module, SockMod, Socket, Opts) ->
end,
ReceiverMod:become_controller(Receiver, Pid);
{error, _Reason} ->
SockMod:close(Socket)
SockMod:close(Socket),
case ReceiverMod of
ejabberd_receiver ->
ReceiverMod:close(Receiver);
_ ->
ok
end
end;
independent ->
ok;

View File

@ -114,6 +114,10 @@ HOME=$SPOOLDIR
# create the home dir with the proper user if doesn't exist, because it stores cookie file
[ -d $HOME ] || $EXEC_CMD "mkdir -p $HOME"
# Change to a directory readable by INSTALLUSER to
# prevent "File operation error: eacces." messages
cd $HOME
# export global variables
export EJABBERD_CONFIG_PATH
export EJABBERD_MSGS_PATH

View File

@ -11,6 +11,7 @@ ASN_FLAGS = -bber_bin +optimize +driver
ERLANG_CFLAGS = @ERLANG_CFLAGS@
ERLANG_LIBS = @ERLANG_LIBS@
EFLAGS += @ERLANG_SSLVER@
EFLAGS += -I ..
EFLAGS += -pz ..

View File

@ -37,6 +37,12 @@
-include("ejabberd.hrl").
-ifdef(SSL40).
-define(PG2, pg2).
-else.
-define(PG2, pg2_backport).
-endif.
%%====================================================================
%% API
%%====================================================================
@ -51,14 +57,14 @@ modify_passwd(PoolName, DN, Passwd) ->
start_link(Name, Hosts, Backups, Port, Rootdn, Passwd, Opts) ->
PoolName = make_id(Name),
pg2:create(PoolName),
?PG2:create(PoolName),
lists:foreach(
fun(Host) ->
ID = erlang:ref_to_list(make_ref()),
case catch eldap:start_link(ID, [Host|Backups], Port,
Rootdn, Passwd, Opts) of
{ok, Pid} ->
pg2:join(PoolName, Pid);
?PG2:join(PoolName, Pid);
_ ->
error
end
@ -68,9 +74,11 @@ start_link(Name, Hosts, Backups, Port, Rootdn, Passwd, Opts) ->
%% Internal functions
%%====================================================================
do_request(Name, {F, Args}) ->
case pg2:get_closest_pid(make_id(Name)) of
case ?PG2:get_closest_pid(make_id(Name)) of
Pid when is_pid(Pid) ->
case catch apply(eldap, F, [Pid | Args]) of
{'EXIT', {timeout, _}} ->
?ERROR_MSG("LDAP request failed: timed out", []);
{'EXIT', Reason} ->
?ERROR_MSG("LDAP request failed: eldap:~p(~p)~nReason: ~p",
[F, Args, Reason]),

View File

@ -66,13 +66,13 @@ start_module(Host, Module, Opts) ->
ets:insert(ejabberd_modules,
#ejabberd_module{module_host = {Module, Host},
opts = Opts}),
case catch Module:start(Host, Opts) of
{'EXIT', Reason} ->
try Module:start(Host, Opts)
catch Class:Reason ->
del_module_mnesia(Host, Module),
ets:delete(ejabberd_modules, {Module, Host}),
?ERROR_MSG("~p", [Reason]);
_ ->
ok
?ERROR_MSG("Problem starting the module ~p for host ~p with options:~n ~p~n ~p: ~p",
[Module, Host, Opts, Class, Reason]),
erlang:raise(Class, Reason, erlang:get_stacktrace())
end.
%% @doc Stop the module in a host, and forget its configuration.

View File

@ -364,6 +364,8 @@ get_iq_namespace({xmlelement, Name, _Attrs, Els}) when Name == "iq" ->
get_iq_namespace(_) ->
"".
%% @spec (xmlelement()) -> iq() | reply | invalid | not_iq
iq_query_info(El) ->
iq_info_internal(El, request).
@ -455,6 +457,8 @@ parse_xdata_submit(El) ->
case xml:get_attr_s("type", Attrs) of
"submit" ->
lists:reverse(parse_xdata_fields(Els, []));
"form" -> %% This is a workaround to accept Psi's wrong forms
lists:reverse(parse_xdata_fields(Els, []));
_ ->
invalid
end.
@ -557,7 +561,7 @@ rsm_encode_count(Count, Arr)->
i2l(I) when is_integer(I) -> integer_to_list(I);
i2l(L) when is_list(L) -> L.
%% Timezone = utc | {Hours, Minutes}
%% Timezone = utc | {Sign::string(), {Hours, Minutes}} | {Hours, Minutes}
%% Hours = integer()
%% Minutes = integer()
timestamp_to_iso({{Year, Month, Day}, {Hour, Minute, Second}}, Timezone) ->
@ -568,6 +572,8 @@ timestamp_to_iso({{Year, Month, Day}, {Hour, Minute, Second}}, Timezone) ->
Timezone_string =
case Timezone of
utc -> "Z";
{Sign, {TZh, TZm}} ->
io_lib:format("~s~2..0w:~2..0w", [Sign, TZh, TZm]);
{TZh, TZm} ->
Sign = case TZh >= 0 of
true -> "+";
@ -793,5 +799,8 @@ e(X) -> exit({bad_encode_base64_token, X}).
%% Convert Erlang inet IP to list
ip_to_list({IP, _Port}) ->
ip_to_list(IP);
ip_to_list({_,_,_,_,_,_,_,_} = Ipv6Address) ->
inet_parse:ntoa(Ipv6Address);
%% This function clause could use inet_parse too:
ip_to_list({A,B,C,D}) ->
lists:flatten(io_lib:format("~w.~w.~w.~w",[A,B,C,D])).

View File

@ -53,12 +53,16 @@
]).
%% hook handlers
-export([user_send_packet/4]).
-export([user_send_packet/4,
user_receive_packet/4,
c2s_presence_in/2,
c2s_broadcast_recipients/5]).
-include("ejabberd.hrl").
-include("jlib.hrl").
-define(PROCNAME, ejabberd_mod_caps).
-define(BAD_HASH_LIFETIME, 600). %% in seconds
-record(caps, {node, version, hash, exts}).
-record(caps_features, {node_pair, features = []}).
@ -101,10 +105,10 @@ get_features(#caps{node = Node, version = Version, exts = Exts}) ->
BinaryNode = node_to_binary(Node, SubNode),
case cache_tab:lookup(caps_features, BinaryNode,
caps_read_fun(BinaryNode)) of
error ->
Acc;
{ok, Features} ->
binary_to_features(Features) ++ Acc
{ok, Features} when is_list(Features) ->
binary_to_features(Features) ++ Acc;
_ ->
Acc
end
end, [], SubNodes).
@ -160,6 +164,22 @@ user_send_packet(_DebugFlag,
user_send_packet(_DebugFlag, _From, _To, _Packet) ->
ok.
user_receive_packet(#jid{lserver = Server}, From, _To,
{xmlelement, "presence", Attrs, Els}) ->
Type = xml:get_attr_s("type", Attrs),
if Type == ""; Type == "available" ->
case read_caps(Els) of
nothing ->
ok;
#caps{version = Version, exts = Exts} = Caps ->
feature_request(Server, From, Caps, [Version | Exts])
end;
true ->
ok
end;
user_receive_packet(_JID, _From, _To, _Packet) ->
ok.
caps_stream_features(Acc, MyHost) ->
case make_my_disco_hash(MyHost) of
"" ->
@ -195,6 +215,67 @@ disco_info(_Acc, Host, Module, ?EJABBERD_URI ++ "#" ++ [_|_], Lang) ->
disco_info(Acc, _Host, _Module, _Node, _Lang) ->
Acc.
c2s_presence_in(C2SState, {From, To, {_, _, Attrs, Els}}) ->
Type = xml:get_attr_s("type", Attrs),
Subscription = ejabberd_c2s:get_subscription(From, C2SState),
Insert = ((Type == "") or (Type == "available"))
and ((Subscription == both) or (Subscription == to)),
Delete = (Type == "unavailable") or (Type == "error") or (Type == "invisible"),
if Insert or Delete ->
LFrom = jlib:jid_tolower(From),
Rs = case ejabberd_c2s:get_aux_field(caps_resources, C2SState) of
{ok, Rs1} ->
Rs1;
error ->
gb_trees:empty()
end,
Caps = read_caps(Els),
{CapsUpdated, NewRs} =
case Caps of
nothing when Insert == true ->
{false, Rs};
_ when Insert == true ->
case gb_trees:lookup(LFrom, Rs) of
{value, Caps} ->
{false, Rs};
none ->
{true, gb_trees:insert(LFrom, Caps, Rs)};
_ ->
{true, gb_trees:update(LFrom, Caps, Rs)}
end;
_ ->
{false, gb_trees:delete_any(LFrom, Rs)}
end,
if CapsUpdated ->
ejabberd_hooks:run(caps_update, To#jid.lserver,
[From, To, get_features(Caps)]);
true ->
ok
end,
ejabberd_c2s:set_aux_field(caps_resources, NewRs, C2SState);
true ->
C2SState
end.
c2s_broadcast_recipients(InAcc, C2SState, {pep_message, Feature},
_From, _Packet) ->
case ejabberd_c2s:get_aux_field(caps_resources, C2SState) of
{ok, Rs} ->
gb_trees_fold(
fun(USR, Caps, Acc) ->
case lists:member(Feature, get_features(Caps)) of
true ->
[USR|Acc];
false ->
Acc
end
end, InAcc, Rs);
_ ->
InAcc
end;
c2s_broadcast_recipients(Acc, _, _, _, _) ->
Acc.
%%====================================================================
%% gen_server callbacks
%%====================================================================
@ -215,8 +296,14 @@ init([Host, Opts]) ->
MaxSize = gen_mod:get_opt(cache_size, Opts, 1000),
LifeTime = gen_mod:get_opt(cache_life_time, Opts, timer:hours(24) div 1000),
cache_tab:new(caps_features, [{max_size, MaxSize}, {life_time, LifeTime}]),
ejabberd_hooks:add(c2s_presence_in, Host,
?MODULE, c2s_presence_in, 75),
ejabberd_hooks:add(c2s_broadcast_recipients, Host,
?MODULE, c2s_broadcast_recipients, 75),
ejabberd_hooks:add(user_send_packet, Host,
?MODULE, user_send_packet, 75),
ejabberd_hooks:add(user_receive_packet, Host,
?MODULE, user_receive_packet, 75),
ejabberd_hooks:add(c2s_stream_features, Host,
?MODULE, caps_stream_features, 75),
ejabberd_hooks:add(s2s_stream_features, Host,
@ -242,8 +329,14 @@ handle_info(_Info, State) ->
terminate(_Reason, State) ->
Host = State#state.host,
ejabberd_hooks:delete(c2s_presence_in, Host,
?MODULE, c2s_presence_in, 75),
ejabberd_hooks:delete(c2s_broadcast_recipients, Host,
?MODULE, c2s_broadcast_recipients, 75),
ejabberd_hooks:delete(user_send_packet, Host,
?MODULE, user_send_packet, 75),
ejabberd_hooks:delete(user_receive_packet, Host,
?MODULE, user_receive_packet, 75),
ejabberd_hooks:delete(c2s_stream_features, Host,
?MODULE, caps_stream_features, 75),
ejabberd_hooks:delete(s2s_stream_features, Host,
@ -267,21 +360,31 @@ feature_request(Host, From, Caps, [SubNode | Tail] = SubNodes) ->
BinaryNode = node_to_binary(Node, SubNode),
case cache_tab:lookup(caps_features, BinaryNode,
caps_read_fun(BinaryNode)) of
error ->
IQ = #iq{type = get,
xmlns = ?NS_DISCO_INFO,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_DISCO_INFO},
{"node", Node ++ "#" ++ SubNode}],
[]}]},
F = fun(IQReply) ->
feature_response(
IQReply, Host, From, Caps, SubNodes)
end,
ejabberd_local:route_iq(
jlib:make_jid("", Host, ""), From, IQ, F);
_ ->
feature_request(Host, From, Caps, Tail)
{ok, Fs} when is_list(Fs) ->
feature_request(Host, From, Caps, Tail);
Other ->
NeedRequest = case Other of
{ok, TS} ->
now_ts() >= TS + ?BAD_HASH_LIFETIME;
_ ->
true
end,
if NeedRequest ->
IQ = #iq{type = get,
xmlns = ?NS_DISCO_INFO,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_DISCO_INFO},
{"node", Node ++ "#" ++ SubNode}],
[]}]},
F = fun(IQReply) ->
feature_response(
IQReply, Host, From, Caps, SubNodes)
end,
ejabberd_local:route_iq(
jlib:make_jid("", Host, ""), From, IQ, F);
true ->
feature_request(Host, From, Caps, Tail)
end
end;
feature_request(_Host, _From, _Caps, []) ->
ok.
@ -303,18 +406,19 @@ feature_response(#iq{type = result,
caps_features, BinaryNode, BinaryFeatures,
caps_write_fun(BinaryNode, BinaryFeatures));
false ->
cache_tab:insert(caps_features, BinaryNode, [],
caps_write_fun(BinaryNode, []))
%% We cache current timestamp and will probe the client
%% after BAD_HASH_LIFETIME seconds.
cache_tab:insert(caps_features, BinaryNode, now_ts(),
caps_write_fun(BinaryNode, now_ts()))
end,
feature_request(Host, From, Caps, SubNodes);
feature_response(timeout, _Host, _From, _Caps, _SubNodes) ->
ok;
feature_response(_IQResult, Host, From, Caps, [SubNode | SubNodes]) ->
%% We got type=error or invalid type=result stanza, so
%% we cache empty feature not to probe the client permanently
%% We got type=error or invalid type=result stanza or timeout,
%% so we cache current timestamp and will probe the client
%% after BAD_HASH_LIFETIME seconds.
BinaryNode = node_to_binary(Caps#caps.node, SubNode),
cache_tab:insert(caps_features, BinaryNode, [],
caps_write_fun(BinaryNode, [])),
cache_tab:insert(caps_features, BinaryNode, now_ts(),
caps_write_fun(BinaryNode, now_ts())),
feature_request(Host, From, Caps, SubNodes).
node_to_binary(Node, SubNode) ->
@ -507,3 +611,20 @@ concat_xdata_fields(Fields) ->
Acc
end, ["", []], Fields),
[Form, $<, lists:sort(Res)].
gb_trees_fold(F, Acc, Tree) ->
Iter = gb_trees:iterator(Tree),
gb_trees_fold_iter(F, Acc, Iter).
gb_trees_fold_iter(F, Acc, Iter) ->
case gb_trees:next(Iter) of
{Key, Val, NewIter} ->
NewAcc = F(Key, Val, Acc),
gb_trees_fold_iter(F, NewAcc, NewIter);
_ ->
Acc
end.
now_ts() ->
{MegaSecs, Secs, _} = now(),
MegaSecs*1000000 + Secs.

View File

@ -330,7 +330,7 @@ do_route1(Host, ServerHost, From, To, Packet) ->
[] ->
?DEBUG("open new connection~n", []),
{Username, Encoding, Port, Password} = get_connection_params(
Host, From, Server),
Host, ServerHost, From, Server),
ConnectionUsername =
case Packet of
%% If the user tries to join a
@ -535,6 +535,7 @@ get_form(Host, From, [], Lang) ->
#jid{user = User, server = Server,
luser = LUser, lserver = LServer} = From,
US = {LUser, LServer},
DefaultEncoding = get_default_encoding(Host),
Customs =
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
{'EXIT', _Reason} ->
@ -587,7 +588,7 @@ get_form(Host, From, [], Lang) ->
"'{\"irc server\", \"encoding\", port, \"password\"}'. "
"By default this service use \"~s\" encoding, port ~p, "
"empty password."),
[?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT]))}]}]},
[DefaultEncoding, ?DEFAULT_IRC_PORT]))}]}]},
{xmlelement, "field", [{"type", "fixed"}],
[{xmlelement, "value", [],
[{xmlcdata,
@ -662,15 +663,30 @@ set_form(_Host, _, _, _Lang, _XData) ->
{error, ?ERR_SERVICE_UNAVAILABLE}.
%% Host = "irc.example.com"
%% ServerHost = "example.com"
get_connection_params(Host, From, IRCServer) ->
[_ | HostTail] = string:tokens(Host, "."),
ServerHost = string:join(HostTail, "."),
get_connection_params(Host, ServerHost, From, IRCServer).
get_default_encoding(ServerHost) ->
Result = gen_mod:get_module_opt(
ServerHost, ?MODULE, default_encoding,
?DEFAULT_IRC_ENCODING),
?INFO_MSG("The default_encoding configured for host ~p is: ~p~n", [ServerHost, Result]),
Result.
get_connection_params(Host, ServerHost, From, IRCServer) ->
#jid{user = User, server = _Server,
luser = LUser, lserver = LServer} = From,
US = {LUser, LServer},
DefaultEncoding = get_default_encoding(ServerHost),
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
{'EXIT', _Reason} ->
{User, ?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT, ""};
{User, DefaultEncoding, ?DEFAULT_IRC_PORT, ""};
[] ->
{User, ?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT, ""};
{User, DefaultEncoding, ?DEFAULT_IRC_PORT, ""};
[#irc_custom{data = Data}] ->
Username = xml:get_attr_s(username, Data),
{NewUsername, NewEncoding, NewPort, NewPassword} =
@ -682,7 +698,7 @@ get_connection_params(Host, From, IRCServer) ->
{value, {_, Encoding}} ->
{Username, Encoding, ?DEFAULT_IRC_PORT, ""};
_ ->
{Username, ?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT, ""}
{Username, DefaultEncoding, ?DEFAULT_IRC_PORT, ""}
end,
{NewUsername,
NewEncoding,
@ -881,7 +897,7 @@ generate_connection_params_fields(Lang, [ConnectionParams | ConnectionsParams],
generate_connection_params_field(Lang, Server, Encoding, Port, Password, Number) ->
EncodingUsed = case Encoding of
[] ->
?DEFAULT_IRC_ENCODING;
get_default_encoding(Server);
_ ->
Encoding
end,

View File

@ -125,40 +125,58 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
privacy_check_packet, Server,
allow,
[User, Server, UserListRecord,
{From, To,
{To, From,
{xmlelement, "presence", [], []}},
in]) of
out]) of
allow ->
get_last(IQ, SubEl, User, Server);
get_last_iq(IQ, SubEl, User, Server);
deny ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end;
true ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end
end.
%% TODO: This function could use get_last_info/2
get_last(IQ, SubEl, LUser, LServer) ->
%% @spec (LUser::string(), LServer::string()) ->
%% {ok, TimeStamp::integer(), Status::string()} | not_found | {error, Reason}
get_last(LUser, LServer) ->
case catch mnesia:dirty_read(last_activity, {LUser, LServer}) of
{'EXIT', _Reason} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
{'EXIT', Reason} ->
{error, Reason};
[] ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]};
not_found;
[#last_activity{timestamp = TimeStamp, status = Status}] ->
TimeStamp2 = now_to_seconds(now()),
Sec = TimeStamp2 - TimeStamp,
{ok, TimeStamp, Status}
end.
get_last_iq(IQ, SubEl, LUser, LServer) ->
case ejabberd_sm:get_user_resources(LUser, LServer) of
[] ->
case get_last(LUser, LServer) of
{error, _Reason} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
not_found ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]};
{ok, TimeStamp, Status} ->
TimeStamp2 = now_to_seconds(now()),
Sec = TimeStamp2 - TimeStamp,
IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_LAST},
{"seconds", integer_to_list(Sec)}],
[{xmlcdata, Status}]}]}
end;
_ ->
IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_LAST},
{"seconds", integer_to_list(Sec)}],
[{xmlcdata, Status}]}]}
{"seconds", "0"}],
[]}]}
end.
on_presence_update(User, Server, _Resource, Status) ->
TimeStamp = now_to_seconds(now()),
store_last_info(User, Server, TimeStamp, Status).
@ -177,13 +195,11 @@ store_last_info(User, Server, TimeStamp, Status) ->
%% @spec (LUser::string(), LServer::string()) ->
%% {ok, TimeStamp::integer(), Status::string()} | not_found
get_last_info(LUser, LServer) ->
case catch mnesia:dirty_read(last_activity, {LUser, LServer}) of
{'EXIT', _Reason} ->
case get_last(LUser, LServer) of
{error, _Reason} ->
not_found;
[] ->
not_found;
[#last_activity{timestamp = TimeStamp, status = Status}] ->
{ok, TimeStamp, Status}
Res ->
Res
end.
remove_user(User, Server) ->

View File

@ -117,43 +117,62 @@ process_sm_iq(From, To, #iq{type = Type, sub_el = SubEl} = IQ) ->
privacy_check_packet, Server,
allow,
[User, Server, UserListRecord,
{From, To,
{To, From,
{xmlelement, "presence", [], []}},
in]) of
out]) of
allow ->
get_last(IQ, SubEl, User, Server);
get_last_iq(IQ, SubEl, User, Server);
deny ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end;
true ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end
end.
%% TODO: This function could use get_last_info/2
get_last(IQ, SubEl, LUser, LServer) ->
%% @spec (LUser::string(), LServer::string()) ->
%% {ok, TimeStamp::integer(), Status::string()} | not_found | {error, Reason}
get_last(LUser, LServer) ->
Username = ejabberd_odbc:escape(LUser),
case catch odbc_queries:get_last(LServer, Username) of
{selected, ["seconds","state"], []} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]};
not_found;
{selected, ["seconds","state"], [{STimeStamp, Status}]} ->
case catch list_to_integer(STimeStamp) of
TimeStamp when is_integer(TimeStamp) ->
{ok, TimeStamp, Status};
Reason ->
{error, {invalid_timestamp, Reason}}
end;
Reason ->
{error, {invalid_result, Reason}}
end.
get_last_iq(IQ, SubEl, LUser, LServer) ->
case ejabberd_sm:get_user_resources(LUser, LServer) of
[] ->
case get_last(LUser, LServer) of
{error, _Reason} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]};
not_found ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_SERVICE_UNAVAILABLE]};
{ok, TimeStamp, Status} ->
TimeStamp2 = now_to_seconds(now()),
Sec = TimeStamp2 - TimeStamp,
IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_LAST},
{"seconds", integer_to_list(Sec)}],
[{xmlcdata, Status}]}]};
_ ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]}
[{xmlcdata, Status}]}]}
end;
_ ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]}
IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", ?NS_LAST},
{"seconds", "0"}],
[]}]}
end.
on_presence_update(User, Server, _Resource, Status) ->
@ -169,21 +188,13 @@ store_last_info(User, Server, TimeStamp, Status) ->
odbc_queries:set_last_t(LServer, Username, Seconds, State).
%% @spec (LUser::string(), LServer::string()) ->
%% {ok, Timestamp::integer(), Status::string()} | not_found
%% {ok, TimeStamp::integer(), Status::string()} | not_found
get_last_info(LUser, LServer) ->
Username = ejabberd_odbc:escape(LUser),
case catch odbc_queries:get_last(LServer, Username) of
{selected, ["seconds","state"], []} ->
case get_last(LUser, LServer) of
{error, _Reason} ->
not_found;
{selected, ["seconds","state"], [{STimeStamp, Status}]} ->
case catch list_to_integer(STimeStamp) of
TimeStamp when is_integer(TimeStamp) ->
{ok, TimeStamp, Status};
_ ->
not_found
end;
_ ->
not_found
Res ->
Res
end.
remove_user(User, Server) ->

View File

@ -750,7 +750,7 @@ iq_get_register_info(Host, From, Lang) ->
[{xmlelement, "instructions", [],
[{xmlcdata,
translate:translate(
Lang, "You need an x:data capable client to register nickname")}]},
Lang, "You need a client that supports x:data to register the nickname")}]},
{xmlelement, "x",
[{"xmlns", ?NS_XDATA}],
[{xmlelement, "title", [],

View File

@ -900,10 +900,17 @@ process_presence(From, Nick, {xmlelement, "presence", Attrs, _Els} = Packet,
"unavailable" ->
case is_user_online(From, StateData) of
true ->
NewPacket = case {(StateData#state.config)#config.allow_visitor_status,
is_visitor(From, StateData)} of
{false, true} ->
strip_status(Packet);
_ ->
Packet
end,
NewState =
add_user_presence_un(From, Packet, StateData),
add_user_presence_un(From, NewPacket, StateData),
send_new_presence(From, NewState),
Reason = case xml:get_subtag(Packet, "status") of
Reason = case xml:get_subtag(NewPacket, "status") of
false -> "";
Status_el -> xml:get_tag_cdata(Status_el)
end,
@ -2287,7 +2294,7 @@ process_admin_items_set(UJID, Items, Lang, StateData) ->
case (SD#state.config)#config.members_only of
true ->
catch send_kickban_presence(
JID, Reason, "321", SD),
JID, Reason, "321", none, SD),
SD1 = set_affiliation(JID, none, SD),
set_role(JID, none, SD1);
_ ->
@ -2297,7 +2304,7 @@ process_admin_items_set(UJID, Items, Lang, StateData) ->
end;
{JID, affiliation, outcast, Reason} ->
catch send_kickban_presence(
JID, Reason, "301", SD),
JID, Reason, "301", outcast, SD),
set_affiliation_and_reason(
JID, outcast, Reason,
set_role(JID, none, SD));
@ -2659,6 +2666,10 @@ can_change_ra(_FAffiliation, _FRole,
send_kickban_presence(JID, Reason, Code, StateData) ->
NewAffiliation = get_affiliation(JID, StateData),
send_kickban_presence(JID, Reason, Code, NewAffiliation, StateData).
send_kickban_presence(JID, Reason, Code, NewAffiliation, StateData) ->
LJID = jlib:jid_tolower(JID),
LJIDs = case LJID of
{U, S, ""} ->
@ -2684,14 +2695,13 @@ send_kickban_presence(JID, Reason, Code, StateData) ->
?DICT:find(J, StateData#state.users),
add_to_log(kickban, {Nick, Reason, Code}, StateData),
tab_remove_online_user(J, StateData),
send_kickban_presence1(J, Reason, Code, StateData)
send_kickban_presence1(J, Reason, Code, NewAffiliation, StateData)
end, LJIDs).
send_kickban_presence1(UJID, Reason, Code, StateData) ->
send_kickban_presence1(UJID, Reason, Code, Affiliation, StateData) ->
{ok, #user{jid = _RealJID,
nick = Nick}} =
?DICT:find(jlib:jid_tolower(UJID), StateData#state.users),
Affiliation = get_affiliation(UJID, StateData),
SAffiliation = affiliation_to_list(Affiliation),
lists:foreach(
fun({_LJID, Info}) ->

View File

@ -42,13 +42,17 @@
-define(PROCNAME, ejabberd_mod_proxy65).
start(Host, Opts) ->
mod_proxy65_service:add_listener(Host, Opts),
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
ChildSpec = {
Proc, {?MODULE, start_link, [Host, Opts]},
transient, infinity, supervisor, [?MODULE]
},
supervisor:start_child(ejabberd_sup, ChildSpec).
case mod_proxy65_service:add_listener(Host, Opts) of
{error, _} = Err ->
erlang:error(Err);
_ ->
Proc = gen_mod:get_module_proc(Host, ?PROCNAME),
ChildSpec = {
Proc, {?MODULE, start_link, [Host, Opts]},
transient, infinity, supervisor, [?MODULE]
},
supervisor:start_child(ejabberd_sup, ChildSpec)
end.
stop(Host) ->
mod_proxy65_service:delete_listener(Host),

View File

@ -60,11 +60,11 @@
%% exports for hooks
-export([presence_probe/3,
caps_update/3,
in_subscription/6,
out_subscription/4,
on_user_offline/3,
remove_user/2,
feature_check_packet/6,
disco_local_identity/5,
disco_local_features/5,
disco_local_items/5,
@ -208,7 +208,7 @@ init([ServerHost, Opts]) ->
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:add(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
ejabberd_hooks:add(caps_update, ServerHost, ?MODULE, caps_update, 80),
ejabberd_hooks:add(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
ejabberd_hooks:add(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
@ -260,12 +260,17 @@ init_plugins(Host, ServerHost, Opts) ->
Plugins = gen_mod:get_opt(plugins, Opts, [?STDNODE]),
PepMapping = gen_mod:get_opt(pep_mapping, Opts, []),
?DEBUG("** PEP Mapping : ~p~n",[PepMapping]),
lists:foreach(fun(Name) ->
?DEBUG("** init ~s plugin",[Name]),
PluginsOK = lists:foldl(fun(Name, Acc) ->
Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name),
Plugin:init(Host, ServerHost, Opts)
end, Plugins),
{Plugins, TreePlugin, PepMapping}.
case catch apply(Plugin, init, [Host, ServerHost, Opts]) of
{'EXIT', _Error} ->
Acc;
_ ->
?DEBUG("** init ~s plugin",[Name]),
[Name | Acc]
end
end, [], Plugins),
{lists:reverse(PluginsOK), TreePlugin, PepMapping}.
terminate_plugins(Host, ServerHost, Plugins, TreePlugin) ->
lists:foreach(fun(Name) ->
@ -724,6 +729,10 @@ disco_items(Host, Node, From) ->
%% presence hooks handling functions
%%
caps_update(#jid{luser = U, lserver = S, lresource = R} = From, To, _Features) ->
Pid = ejabberd_sm:get_session_pid(U, S, R),
presence_probe(From, To, Pid).
presence_probe(#jid{luser = User, lserver = Server, lresource = Resource} = JID, JID, Pid) ->
%%?DEBUG("presence probe self ~s@~s/~s ~s@~s/~s",[User,Server,Resource,element(2,JID),element(3,JID),element(4,JID)]),
presence(Server, {presence, JID, Pid}),
@ -894,7 +903,7 @@ terminate(_Reason, #state{host = Host,
ejabberd_router:unregister_route(Host),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:delete(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
ejabberd_hooks:delete(caps_update, ServerHost, ?MODULE, caps_update, 80),
ejabberd_hooks:delete(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
ejabberd_hooks:delete(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
@ -1919,9 +1928,11 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
SubAttrs = case Subscription of
{subscribed, SubId} ->
[{"subscription", subscription_to_string(subscribed)},
{"subid", SubId}];
{"subid", SubId},
{"node",Node}];
Other ->
[{"subscription", subscription_to_string(Other)}]
[{"subscription", subscription_to_string(Other)},
{"node", Node}]
end,
Fields =
[{"jid", jlib:jid_to_string(Subscriber)} | SubAttrs],
@ -3183,26 +3194,11 @@ broadcast_stanza({LUser, LServer, LResource}, Publisher, Node, NodeId, Type, Nod
%% set the from address on the notification to the bare JID of the account owner
%% Also, add "replyto" if entity has presence subscription to the account owner
%% See XEP-0163 1.1 section 4.3.1
Sender = jlib:make_jid(LUser, LServer, ""),
ReplyTo = jlib:jid_to_string(Publisher),
StanzaToSend = add_extended_headers(Stanza, extended_headers([ReplyTo])),
case catch ejabberd_c2s:get_subscribed(C2SPid) of
Contacts when is_list(Contacts) ->
lists:foreach(fun({U, S, _}) ->
spawn(fun() ->
case lists:member(S, ?MYHOSTS) of
true ->
lists:foreach(fun(To) ->
ejabberd_router:route(Sender, jlib:make_jid(To), StanzaToSend)
end, [{U, S, R} || R <- user_resources(U, S)]);
false ->
ejabberd_router:route(Sender, jlib:make_jid(U, S, ""), StanzaToSend)
end
end)
end, Contacts);
_ ->
ok
end;
ejabberd_c2s:broadcast(C2SPid,
{pep_message, binary_to_list(Node)++"+notify"},
_Sender = jlib:make_jid(LUser, LServer, ""),
_StanzaToSend = add_extended_headers(Stanza,
_ReplyTo = extended_headers([jlib:jid_to_string(Publisher)])));
_ ->
?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza])
end;
@ -3728,7 +3724,7 @@ tree_action(Host, Function, Args) ->
node_call(Type, Function, Args) ->
?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]),
Module = list_to_atom(?PLUGIN_PREFIX++Type),
case catch apply(Module, Function, Args) of
case apply(Module, Function, Args) of
{result, Result} -> {result, Result};
{error, Error} -> {error, Error};
{'EXIT', {undef, Undefined}} ->
@ -3865,59 +3861,6 @@ subid_shim(SubIDs) ->
extended_headers(Jids) ->
[{xmlelement, "address", [{"type", "replyto"}, {"jid", Jid}], []} || Jid <- Jids].
feature_check_packet(allow, _User, Server, Pres,
{#jid{lserver = LServer}, _To,
{xmlelement, "message", MsgAttrs, _} = El}, in) ->
Host = host(Server),
case LServer of
%% If the sender Server equals Host, the message comes from the Pubsub server
Host ->
allow;
%% Else, the message comes from PEP
_ ->
case xml:get_subtag(El, "event") of
{xmlelement, _, Attrs, _} = EventEl ->
case xml:get_attr_s("xmlns", Attrs) of
?NS_PUBSUB_EVENT ->
case xml:get_attr_s("type", MsgAttrs) of
"error" ->
%% Filter error-repsonse of PEP message
%% to avoid routing it to client
deny;
_ when Pres /= undefined ->
%% Yes, sometimes Pres = undefined,
%% very rare though.
%% Seems like this is a bug: should
%% be fixed in ejabberd_s2s.erl
Feature = xml:get_path_s(
EventEl, [{elem, "items"},
{attr, "node"}]),
case is_feature_supported(Pres, Feature) of
true ->
allow;
false ->
deny
end;
_ ->
allow
end;
_ ->
allow
end;
_ ->
allow
end
end;
feature_check_packet(Acc, _User, _Server, _Pres, _Packet, _Direction) ->
Acc.
is_feature_supported({xmlelement, "presence", _, Els}, Feature) ->
case mod_caps:read_caps(Els) of
nothing -> false;
Caps -> lists:member(Feature ++ "+notify", mod_caps:get_features(Caps))
end.
on_user_offline(_, JID, _) ->
{User, Server, Resource} = jlib:jid_tolower(JID),
case ejabberd_sm:get_user_resources(User, Server) of

View File

@ -60,11 +60,11 @@
%% exports for hooks
-export([presence_probe/3,
caps_update/3,
in_subscription/6,
out_subscription/4,
on_user_offline/3,
remove_user/2,
feature_check_packet/6,
disco_local_identity/5,
disco_local_features/5,
disco_local_items/5,
@ -207,7 +207,7 @@ init([ServerHost, Opts]) ->
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:add(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
ejabberd_hooks:add(caps_update, ServerHost, ?MODULE, caps_update, 80),
ejabberd_hooks:add(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
ejabberd_hooks:add(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
@ -257,12 +257,17 @@ init_plugins(Host, ServerHost, Opts) ->
Plugins = gen_mod:get_opt(plugins, Opts, [?STDNODE]),
PepMapping = gen_mod:get_opt(pep_mapping, Opts, []),
?DEBUG("** PEP Mapping : ~p~n",[PepMapping]),
lists:foreach(fun(Name) ->
?DEBUG("** init ~s plugin",[Name]),
PluginsOK = lists:foldl(fun(Name, Acc) ->
Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name),
Plugin:init(Host, ServerHost, Opts)
end, Plugins),
{Plugins, TreePlugin, PepMapping}.
case catch apply(Plugin, init, [Host, ServerHost, Opts]) of
{'EXIT', _Error} ->
Acc;
_ ->
?DEBUG("** init ~s plugin",[Name]),
[Name | Acc]
end
end, [], Plugins),
{lists:reverse(PluginsOK), TreePlugin, PepMapping}.
terminate_plugins(Host, ServerHost, Plugins, TreePlugin) ->
lists:foreach(fun(Name) ->
@ -530,6 +535,10 @@ disco_items(Host, Node, From) ->
%% presence hooks handling functions
%%
caps_update(#jid{luser = U, lserver = S, lresource = R} = From, To, _Features) ->
Pid = ejabberd_sm:get_session_pid(U, S, R),
presence_probe(From, To, Pid).
presence_probe(#jid{luser = User, lserver = Server, lresource = Resource} = JID, JID, Pid) ->
%%?DEBUG("presence probe self ~s@~s/~s ~s@~s/~s",[User,Server,Resource,element(2,JID),element(3,JID),element(4,JID)]),
presence(Server, {presence, JID, Pid}),
@ -573,13 +582,15 @@ out_subscription(User, Server, JID, subscribed) ->
[] -> user_resources(PUser, PServer);
_ -> [PResource]
end,
presence(Server, {presence, PUser, PServer, PResources, Owner});
presence(Server, {presence, PUser, PServer, PResources, Owner}),
true;
out_subscription(_,_,_,_) ->
ok.
true.
in_subscription(_, User, Server, Owner, unsubscribed, _) ->
unsubscribe_user(jlib:make_jid(User, Server, ""), Owner);
unsubscribe_user(jlib:make_jid(User, Server, ""), Owner),
true;
in_subscription(_, _, _, _, _, _) ->
ok.
true.
unsubscribe_user(Entity, Owner) ->
BJID = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
@ -698,7 +709,7 @@ terminate(_Reason, #state{host = Host,
ejabberd_router:unregister_route(Host),
case lists:member(?PEPNODE, Plugins) of
true ->
ejabberd_hooks:delete(feature_check_packet, ServerHost, ?MODULE, feature_check_packet, 75),
ejabberd_hooks:delete(caps_update, ServerHost, ?MODULE, caps_update, 80),
ejabberd_hooks:delete(disco_sm_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 75),
ejabberd_hooks:delete(disco_sm_items, ServerHost, ?MODULE, disco_sm_items, 75),
@ -1732,9 +1743,11 @@ subscribe_node(Host, Node, From, JID, Configuration) ->
SubAttrs = case Subscription of
{subscribed, SubId} ->
[{"subscription", subscription_to_string(subscribed)},
{"subid", SubId}];
{"subid", SubId},
{"node",Node}];
Other ->
[{"subscription", subscription_to_string(Other)}]
[{"subscription", subscription_to_string(Other)},
{"node", Node}]
end,
Fields =
[{"jid", jlib:jid_to_string(Subscriber)} | SubAttrs],
@ -2998,26 +3011,11 @@ broadcast_stanza({LUser, LServer, LResource}, Publisher, Node, NodeId, Type, Nod
%% set the from address on the notification to the bare JID of the account owner
%% Also, add "replyto" if entity has presence subscription to the account owner
%% See XEP-0163 1.1 section 4.3.1
Sender = jlib:make_jid(LUser, LServer, ""),
ReplyTo = jlib:jid_to_string(Publisher),
StanzaToSend = add_extended_headers(Stanza, extended_headers([ReplyTo])),
case catch ejabberd_c2s:get_subscribed(C2SPid) of
Contacts when is_list(Contacts) ->
lists:foreach(fun({U, S, _}) ->
spawn(fun() ->
case lists:member(S, ?MYHOSTS) of
true ->
lists:foreach(fun(To) ->
ejabberd_router:route(Sender, jlib:make_jid(To), StanzaToSend)
end, [{U, S, R} || R <- user_resources(U, S)]);
false ->
ejabberd_router:route(Sender, jlib:make_jid(U, S, ""), StanzaToSend)
end
end)
end, Contacts);
_ ->
ok
end;
ejabberd_c2s:broadcast(C2SPid,
{pep_message, binary_to_list(Node)++"+notify"},
_Sender = jlib:make_jid(LUser, LServer, ""),
_StanzaToSend = add_extended_headers(Stanza,
_ReplyTo = extended_headers([jlib:jid_to_string(Publisher)])));
_ ->
?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza])
end;
@ -3573,7 +3571,7 @@ tree_action(Host, Function, Args) ->
node_call(Type, Function, Args) ->
?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]),
Module = list_to_atom(?PLUGIN_PREFIX++Type),
case catch apply(Module, Function, Args) of
case apply(Module, Function, Args) of
{result, Result} -> {result, Result};
{error, Error} -> {error, Error};
{'EXIT', {undef, Undefined}} ->
@ -3736,59 +3734,6 @@ subid_shim(SubIDs) ->
extended_headers(Jids) ->
[{xmlelement, "address", [{"type", "replyto"}, {"jid", Jid}], []} || Jid <- Jids].
feature_check_packet(allow, _User, Server, Pres,
{#jid{lserver = LServer}, _To,
{xmlelement, "message", MsgAttrs, _} = El}, in) ->
Host = host(Server),
case LServer of
%% If the sender Server equals Host, the message comes from the Pubsub server
Host ->
allow;
%% Else, the message comes from PEP
_ ->
case xml:get_subtag(El, "event") of
{xmlelement, _, Attrs, _} = EventEl ->
case xml:get_attr_s("xmlns", Attrs) of
?NS_PUBSUB_EVENT ->
case xml:get_attr_s("type", MsgAttrs) of
"error" ->
%% Filter error-repsonse of PEP message
%% to avoid routing it to client
deny;
_ when Pres /= undefined ->
%% Yes, sometimes Pres = undefined,
%% very rare though.
%% Seems like this is a bug: should
%% be fixed in ejabberd_s2s.erl
Feature = xml:get_path_s(
EventEl, [{elem, "items"},
{attr, "node"}]),
case is_feature_supported(Pres, Feature) of
true ->
allow;
false ->
deny
end;
_ ->
allow
end;
_ ->
allow
end;
_ ->
allow
end
end;
feature_check_packet(Acc, _User, _Server, _Pres, _Packet, _Direction) ->
Acc.
is_feature_supported({xmlelement, "presence", _, Els}, Feature) ->
case mod_caps:read_caps(Els) of
nothing -> false;
Caps -> lists:member(Feature ++ "+notify", mod_caps:get_features(Caps))
end.
on_user_offline(_, JID, _) ->
{User, Server, Resource} = jlib:jid_tolower(JID),
case ejabberd_sm:get_user_resources(User, Server) of

View File

@ -84,16 +84,16 @@
%% API definition
%% ================
%% @spec (Host, ServerHost, Opts) -> any()
%% Host = mod_pubsub:host()
%% ServerHost = mod_pubsub:host()
%% Opts = list()
%% @spec (Host, ServerHost, Options) -> ok
%% Host = string()
%% ServerHost = string()
%% Options = [{atom(), term()}]
%% @doc <p>Called during pubsub modules initialisation. Any pubsub plugin must
%% implement this function. It can return anything.</p>
%% <p>This function is mainly used to trigger the setup task necessary for the
%% plugin. It can be used for example by the developer to create the specific
%% module database schema if it does not exists yet.</p>
init(_Host, _ServerHost, _Opts) ->
init(_Host, _ServerHost, _Options) ->
pubsub_subscription:init(),
mnesia:create_table(pubsub_state,
[{disc_copies, [node()]},
@ -109,16 +109,16 @@ init(_Host, _ServerHost, _Opts) ->
end,
ok.
%% @spec (Host, ServerHost) -> any()
%% Host = mod_pubsub:host()
%% ServerHost = host()
%% @spec (Host, ServerHost) -> ok
%% Host = string()
%% ServerHost = string()
%% @doc <p>Called during pubsub modules termination. Any pubsub plugin must
%% implement this function. It can return anything.</p>
terminate(_Host, _ServerHost) ->
ok.
%% @spec () -> [Option]
%% Option = mod_pubsub:nodeOption()
%% @spec () -> Options
%% Options = [mod_pubsub:nodeOption()]
%% @doc Returns the default pubsub node options.
%% <p>Example of function return value:</p>
%% ```
@ -152,7 +152,8 @@ options() ->
{deliver_notifications, true},
{presence_based_delivery, false}].
%% @spec () -> []
%% @spec () -> Features
%% Features = [string()]
%% @doc Returns the node features
features() ->
["create-nodes",
@ -178,13 +179,14 @@ features() ->
"subscription-options"
].
%% @spec (Host, ServerHost, Node, ParentNode, Owner, Access) -> bool()
%% Host = mod_pubsub:host()
%% ServerHost = mod_pubsub:host()
%% Node = mod_pubsub:pubsubNode()
%% ParentNode = mod_pubsub:pubsubNode()
%% Owner = mod_pubsub:jid()
%% Access = all | atom()
%% @spec (Host, ServerHost, NodeId, ParentNodeId, Owner, Access) -> {result, Allowed}
%% Host = mod_pubsub:hostPubsub()
%% ServerHost = string()
%% NodeId = mod_pubsub:nodeId()
%% ParentNodeId = mod_pubsub:nodeId()
%% Owner = mod_pubsub:jid()
%% Access = all | atom()
%% Allowed = boolean()
%% @doc Checks if the current user has the permission to create the requested node
%% <p>In {@link node_default}, the permission is decided by the place in the
%% hierarchy where the user is creating the node. The access parameter is also
@ -195,9 +197,9 @@ features() ->
%% <p>PubSub plugins can redefine the PubSub node creation rights as they
%% which. They can simply delegate this check to the {@link node_default}
%% module by implementing this function like this:
%% ```check_create_user_permission(Host, ServerHost, Node, ParentNode, Owner, Access) ->
%% node_default:check_create_user_permission(Host, ServerHost, Node, ParentNode, Owner, Access).'''</p>
create_node_permission(Host, ServerHost, Node, _ParentNode, Owner, Access) ->
%% ```check_create_user_permission(Host, ServerHost, NodeId, ParentNodeId, Owner, Access) ->
%% node_default:check_create_user_permission(Host, ServerHost, NodeId, ParentNodeId, Owner, Access).'''</p>
create_node_permission(Host, ServerHost, NodeId, _ParentNodeId, Owner, Access) ->
LOwner = jlib:jid_tolower(Owner),
{User, Server, _Resource} = LOwner,
Allowed = case LOwner of
@ -206,7 +208,7 @@ create_node_permission(Host, ServerHost, Node, _ParentNode, Owner, Access) ->
_ ->
case acl:match_rule(ServerHost, Access, LOwner) of
allow ->
case node_to_path(Node) of
case node_to_path(NodeId) of
["home", Server, User | _] -> true;
_ -> false
end;
@ -216,20 +218,21 @@ create_node_permission(Host, ServerHost, Node, _ParentNode, Owner, Access) ->
end,
{result, Allowed}.
%% @spec (NodeId, Owner) ->
%% {result, Result} | exit
%% NodeId = mod_pubsub:pubsubNodeId()
%% Owner = mod_pubsub:jid()
%% @spec (NodeIdx, Owner) -> {result, {default, broadcast}}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Owner = mod_pubsub:jid()
%% @doc <p></p>
create_node(NodeId, Owner) ->
create_node(NodeIdx, Owner) ->
OwnerKey = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
set_state(#pubsub_state{stateid = {OwnerKey, NodeId}, affiliation = owner}),
set_state(#pubsub_state{stateid = {OwnerKey, NodeIdx}, affiliation = owner}),
{result, {default, broadcast}}.
%% @spec (Removed) -> ok
%% Removed = [mod_pubsub:pubsubNode()]
%% @spec (Nodes) -> {result, {default, broadcast, Reply}}
%% Nodes = [mod_pubsub:pubsubNode()]
%% Reply = [{mod_pubsub:pubsubNode(),
%% [{mod_pubsub:ljid(), [{mod_pubsub:subscription(), mod_pubsub:subId()}]}]}]
%% @doc <p>purge items of deleted nodes after effective deletion.</p>
delete_node(Removed) ->
delete_node(Nodes) ->
Tr = fun(#pubsub_state{stateid = {J, _}, subscriptions = Ss}) ->
lists:map(fun(S) ->
{J, S}
@ -244,11 +247,23 @@ delete_node(Removed) ->
del_state(NodeId, LJID)
end, States),
{PubsubNode, lists:flatmap(Tr, States)}
end, Removed),
end, Nodes),
{result, {default, broadcast, Reply}}.
%% @spec (NodeId, Sender, Subscriber, AccessModel, SendLast, PresenceSubscription, RosterGroup, Options) ->
%% {error, Reason} | {result, Result}
%% @spec (NodeIdx, Sender, Subscriber, AccessModel, SendLast, PresenceSubscription, RosterGroup, Options) -> {error, Reason} | {result, Result}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Sender = mod_pubsub:jid()
%% Subscriber = mod_pubsub:jid()
%% AccessModel = mod_pubsub:accessModel()
%% SendLast = atom()
%% PresenceSubscription = boolean()
%% RosterGroup = boolean()
%% Options = [mod_pubsub:nodeOption()]
%% Reason = mod_pubsub:stanzaError()
%% Result = {result, {default, subscribed, mod_pubsub:subId()}}
%% | {result, {default, subscribed, mod_pubsub:subId(), send_last}}
%% | {result, {default, pending, mod_pubsub:subId()}}
%%
%% @doc <p>Accepts or rejects subcription requests on a PubSub node.</p>
%% <p>The mechanism works as follow:
%% <ul>
@ -280,15 +295,15 @@ delete_node(Removed) ->
%% to completly disable persistance.</li></ul>
%% </p>
%% <p>In the default plugin module, the record is unchanged.</p>
subscribe_node(NodeId, Sender, Subscriber, AccessModel,
subscribe_node(NodeIdx, Sender, Subscriber, AccessModel,
SendLast, PresenceSubscription, RosterGroup, Options) ->
SubKey = jlib:jid_tolower(Subscriber),
GenKey = jlib:jid_remove_resource(SubKey),
Authorized = (jlib:jid_tolower(jlib:jid_remove_resource(Sender)) == GenKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
SubState = case SubKey of
GenKey -> GenState;
_ -> get_state(NodeId, SubKey)
_ -> get_state(NodeIdx, SubKey)
end,
Affiliation = GenState#pubsub_state.affiliation,
Subscriptions = SubState#pubsub_state.subscriptions,
@ -322,7 +337,7 @@ subscribe_node(NodeId, Sender, Subscriber, AccessModel,
%% % Requesting entity is anonymous
%% {error, ?ERR_FORBIDDEN};
true ->
case pubsub_subscription:add_subscription(Subscriber, NodeId, Options) of
case pubsub_subscription:add_subscription(Subscriber, NodeIdx, Options) of
SubId when is_list(SubId) ->
NewSub = case AccessModel of
authorize -> pending;
@ -342,22 +357,21 @@ subscribe_node(NodeId, Sender, Subscriber, AccessModel,
end
end.
%% @spec (NodeId, Sender, Subscriber, SubId) ->
%% {error, Reason} | {result, []}
%% NodeId = mod_pubsub:pubsubNodeId()
%% Sender = mod_pubsub:jid()
%% @spec (NodeIdx, Sender, Subscriber, SubId) -> {error, Reason} | {result, default}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Sender = mod_pubsub:jid()
%% Subscriber = mod_pubsub:jid()
%% SubId = mod_pubsub:subid()
%% Reason = mod_pubsub:stanzaError()
%% SubId = mod_pubsub:subId()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Unsubscribe the <tt>Subscriber</tt> from the <tt>Node</tt>.</p>
unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
unsubscribe_node(NodeIdx, Sender, Subscriber, SubId) ->
SubKey = jlib:jid_tolower(Subscriber),
GenKey = jlib:jid_remove_resource(SubKey),
Authorized = (jlib:jid_tolower(jlib:jid_remove_resource(Sender)) == GenKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
SubState = case SubKey of
GenKey -> GenState;
_ -> get_state(NodeId, SubKey)
_ -> get_state(NodeIdx, SubKey)
end,
Subscriptions = lists:filter(fun({_Sub, _SubId}) -> true;
(_SubId) -> false
@ -390,46 +404,48 @@ unsubscribe_node(NodeId, Sender, Subscriber, SubId) ->
end, SubState#pubsub_state.subscriptions),
case Sub of
{value, S} ->
delete_subscriptions(SubKey, NodeId, [S], SubState),
delete_subscriptions(SubKey, NodeIdx, [S], SubState),
{result, default};
false ->
{error, ?ERR_EXTENDED(?ERR_UNEXPECTED_REQUEST_CANCEL, "not-subscribed")}
end;
%% Asking to remove all subscriptions to the given node
SubId == all ->
delete_subscriptions(SubKey, NodeId, Subscriptions, SubState),
delete_subscriptions(SubKey, NodeIdx, Subscriptions, SubState),
{result, default};
%% No subid supplied, but there's only one matching subscription
length(Subscriptions) == 1 ->
delete_subscriptions(SubKey, NodeId, Subscriptions, SubState),
delete_subscriptions(SubKey, NodeIdx, Subscriptions, SubState),
{result, default};
%% No subid and more than one possible subscription match.
true ->
{error, ?ERR_EXTENDED(?ERR_BAD_REQUEST, "subid-required")}
end.
delete_subscriptions(SubKey, NodeId, Subscriptions, SubState) ->
delete_subscriptions(SubKey, NodeIdx, Subscriptions, SubState) ->
NewSubs = lists:foldl(fun({Subscription, SubId}, Acc) ->
pubsub_subscription:delete_subscription(SubKey, NodeId, SubId),
pubsub_subscription:delete_subscription(SubKey, NodeIdx, SubId),
Acc -- [{Subscription, SubId}]
end, SubState#pubsub_state.subscriptions, Subscriptions),
case {SubState#pubsub_state.affiliation, NewSubs} of
{none, []} ->
% Just a regular subscriber, and this is final item, so
% delete the state.
del_state(NodeId, SubKey);
del_state(NodeIdx, SubKey);
_ ->
set_state(SubState#pubsub_state{subscriptions = NewSubs})
end.
%% @spec (NodeId, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
%% {true, PubsubItem} | {result, Reply}
%% NodeId = mod_pubsub:pubsubNodeId()
%% Publisher = mod_pubsub:jid()
%% @spec (NodeIdx, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
%% {result, {default, broadcast, ItemIds}} | {error, Reason}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Publisher = mod_pubsub:jid()
%% PublishModel = atom()
%% MaxItems = integer()
%% ItemId = string()
%% Payload = term()
%% MaxItems = integer()
%% ItemId = mod_pubsub:itemId()
%% Payload = mod_pubsub:payload()
%% ItemIds = [mod_pubsub:itemId()] | []
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Publishes the item passed as parameter.</p>
%% <p>The mechanism works as follow:
%% <ul>
@ -460,13 +476,13 @@ delete_subscriptions(SubKey, NodeId, Subscriptions, SubState) ->
%% to completly disable persistance.</li></ul>
%% </p>
%% <p>In the default plugin module, the record is unchanged.</p>
publish_item(NodeId, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
publish_item(NodeIdx, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
SubKey = jlib:jid_tolower(Publisher),
GenKey = jlib:jid_remove_resource(SubKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
SubState = case SubKey of
GenKey -> GenState;
_ -> get_state(NodeId, SubKey)
_ -> get_state(NodeIdx, SubKey)
end,
Affiliation = GenState#pubsub_state.affiliation,
Subscribed = case PublishModel of
@ -485,18 +501,18 @@ publish_item(NodeId, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
if MaxItems > 0 ->
Now = now(),
PubId = {Now, SubKey},
Item = case get_item(NodeId, ItemId) of
Item = case get_item(NodeIdx, ItemId) of
{result, OldItem} ->
OldItem#pubsub_item{modification = PubId,
payload = Payload};
_ ->
#pubsub_item{itemid = {ItemId, NodeId},
#pubsub_item{itemid = {ItemId, NodeIdx},
creation = {Now, GenKey},
modification = PubId,
payload = Payload}
end,
Items = [ItemId | GenState#pubsub_state.items--[ItemId]],
{result, {NI, OI}} = remove_extra_items(NodeId, MaxItems, Items),
{result, {NI, OI}} = remove_extra_items(NodeIdx, MaxItems, Items),
set_item(Item),
set_state(GenState#pubsub_state{items = NI}),
{result, {default, broadcast, OI}};
@ -505,11 +521,12 @@ publish_item(NodeId, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
end
end.
%% @spec (NodeId, MaxItems, ItemIds) -> {NewItemIds,OldItemIds}
%% NodeId = mod_pubsub:pubsubNodeId()
%% MaxItems = integer() | unlimited
%% ItemIds = [ItemId::string()]
%% NewItemIds = [ItemId::string()]
%% @spec (NodeIdx, MaxItems, ItemIds) -> {result, {NewItemIds,OldItemIds}}
%% NodeIdx = mod_pubsub:nodeIdx()
%% MaxItems = integer() | unlimited
%% ItemIds = [mod_pubsub:itemId()]
%% NewItemIds = [mod_pubsub:itemId()]
%% OldItemIds = [mod_pubsub:itemId()] | []
%% @doc <p>This function is used to remove extra items, most notably when the
%% maximum number of items has been reached.</p>
%% <p>This function is used internally by the core PubSub module, as no
@ -518,36 +535,36 @@ publish_item(NodeId, Publisher, PublishModel, MaxItems, ItemId, Payload) ->
%% rules can be used.</p>
%% <p>If another PubSub plugin wants to delegate the item removal (and if the
%% plugin is using the default pubsub storage), it can implements this function like this:
%% ```remove_extra_items(NodeId, MaxItems, ItemIds) ->
%% node_default:remove_extra_items(NodeId, MaxItems, ItemIds).'''</p>
remove_extra_items(_NodeId, unlimited, ItemIds) ->
%% ```remove_extra_items(NodeIdx, MaxItems, ItemIds) ->
%% node_default:remove_extra_items(NodeIdx, MaxItems, ItemIds).'''</p>
remove_extra_items(_NodeIdx, unlimited, ItemIds) ->
{result, {ItemIds, []}};
remove_extra_items(NodeId, MaxItems, ItemIds) ->
remove_extra_items(NodeIdx, MaxItems, ItemIds) ->
NewItems = lists:sublist(ItemIds, MaxItems),
OldItems = lists:nthtail(length(NewItems), ItemIds),
%% Remove extra items:
del_items(NodeId, OldItems),
del_items(NodeIdx, OldItems),
%% Return the new items list:
{result, {NewItems, OldItems}}.
%% @spec (NodeId, Publisher, PublishModel, ItemId) ->
%% {error, Reason::stanzaError()} |
%% {result, []}
%% NodeId = mod_pubsub:pubsubNodeId()
%% Publisher = mod_pubsub:jid()
%% @spec (NodeIdx, Publisher, PublishModel, ItemId) ->
%% {result, {default, broadcast}} | {error, Reason}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Publisher = mod_pubsub:jid()
%% PublishModel = atom()
%% ItemId = string()
%% ItemId = mod_pubsub:itemId()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Triggers item deletion.</p>
%% <p>Default plugin: The user performing the deletion must be the node owner
%% or a publisher, or PublishModel being open.</p>
delete_item(NodeId, Publisher, PublishModel, ItemId) ->
delete_item(NodeIdx, Publisher, PublishModel, ItemId) ->
SubKey = jlib:jid_tolower(Publisher),
GenKey = jlib:jid_remove_resource(SubKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
#pubsub_state{affiliation = Affiliation, items = Items} = GenState,
Allowed = (Affiliation == publisher) orelse (Affiliation == owner)
orelse (PublishModel == open)
orelse case get_item(NodeId, ItemId) of
orelse case get_item(NodeIdx, ItemId) of
{result, #pubsub_item{creation = {_, GenKey}}} -> true;
_ -> false
end,
@ -558,19 +575,19 @@ delete_item(NodeId, Publisher, PublishModel, ItemId) ->
true ->
case lists:member(ItemId, Items) of
true ->
del_item(NodeId, ItemId),
del_item(NodeIdx, ItemId),
set_state(GenState#pubsub_state{items = lists:delete(ItemId, Items)}),
{result, {default, broadcast}};
false ->
case Affiliation of
owner ->
%% Owner can delete other publishers items as well
{result, States} = get_states(NodeId),
{result, States} = get_states(NodeIdx),
lists:foldl(
fun(#pubsub_state{items = PI, affiliation = publisher} = S, Res) ->
case lists:member(ItemId, PI) of
true ->
del_item(NodeId, ItemId),
del_item(NodeIdx, ItemId),
set_state(S#pubsub_state{items = lists:delete(ItemId, PI)}),
{result, {default, broadcast}};
false ->
@ -586,23 +603,22 @@ delete_item(NodeId, Publisher, PublishModel, ItemId) ->
end
end.
%% @spec (NodeId, Owner) ->
%% {error, Reason::stanzaError()} |
%% {result, {default, broadcast}}
%% NodeId = mod_pubsub:pubsubNodeId()
%% Owner = mod_pubsub:jid()
purge_node(NodeId, Owner) ->
%% @spec (NodeIdx, Owner) -> {error, Reason} | {result, {default, broadcast}}
%% NodeIdx = mod_pubsub:nodeIdx()
%% Owner = mod_pubsub:jid()
%% Reason = mod_pubsub:stanzaError()
purge_node(NodeIdx, Owner) ->
SubKey = jlib:jid_tolower(Owner),
GenKey = jlib:jid_remove_resource(SubKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
case GenState of
#pubsub_state{affiliation = owner} ->
{result, States} = get_states(NodeId),
{result, States} = get_states(NodeIdx),
lists:foreach(
fun(#pubsub_state{items = []}) ->
ok;
(#pubsub_state{items = Items} = S) ->
del_items(NodeId, Items),
del_items(NodeIdx, Items),
set_state(S#pubsub_state{items = []})
end, States),
{result, {default, broadcast}};
@ -611,9 +627,10 @@ purge_node(NodeId, Owner) ->
{error, ?ERR_FORBIDDEN}
end.
%% @spec (Host, JID) -> [{Node,Affiliation}]
%% Host = host()
%% JID = mod_pubsub:jid()
%% @spec (Host, Owner) -> {result, Reply}
%% Host = mod_pubsub:hostPubsub()
%% Owner = mod_pubsub:jid()
%% Reply = [] | [{mod_pubsub:pubsubNode(), mod_pubsub:affiliation()}]
%% @doc <p>Return the current affiliations for the given user</p>
%% <p>The default module reads affiliations in the main Mnesia
%% <tt>pubsub_state</tt> table. If a plugin stores its data in the same
@ -661,9 +678,16 @@ set_affiliation(NodeId, Owner, Affiliation) ->
set_state(GenState#pubsub_state{affiliation = Affiliation})
end.
%% @spec (Host, Owner) -> [{Node,Subscription}]
%% Host = host()
%% Owner = mod_pubsub:jid()
%% @spec (Host, Owner) ->
%% {'result', []
%% | [{Node, Subscription, SubId, Entity}]
%% | [{Node, Subscription, Entity}]}
%% Host = mod_pubsub:hostPubsub()
%% Owner = mod_pubsub:jid()
%% Node = mod_pubsub:pubsubNode()
%% Subscription = mod_pubsub:subscription()
%% SubId = mod_pubsub:subId()
%% Entity = mod_pubsub:ljid()
%% @doc <p>Return the current subscriptions for the given user</p>
%% <p>The default module reads subscriptions in the main Mnesia
%% <tt>pubsub_state</tt> table. If a plugin stores its data in the same
@ -774,10 +798,11 @@ unsub_with_subid(NodeId, SubId, SubState) ->
set_state(SubState#pubsub_state{subscriptions = NewSubs})
end.
%% @spec (Host, Owner) -> {result, [Node]} | {error, Reason}
%% Host = host()
%% Owner = jid()
%% Node = pubsubNode()
%% TODO : doc
%% @spec (Host, Owner) -> {result, Reply} | {error, Reason}
%% Host = mod_pubsub:hostPubsub()
%% Owner = mod_pubsub:jid()
%% Reply = [] | [mod_pubsub:nodeId()]
%% @doc <p>Returns a list of Owner's nodes on Host with pending
%% subscriptions.</p>
get_pending_nodes(Host, Owner) ->
@ -821,8 +846,9 @@ get_nodes_helper(NodeTree,
false
end.
%% @spec (NodeId) -> [States] | []
%% NodeId = mod_pubsub:pubsubNodeId()
%% @spec (NodeIdx) -> {result, States}
%% NodeIdx = mod_pubsub:nodeIdx()
%% States = [] | [mod_pubsub:pubsubState()]
%% @doc Returns the list of stored states for a given node.
%% <p>For the default PubSub module, states are stored in Mnesia database.</p>
%% <p>We can consider that the pubsub_state table have been created by the main
@ -831,46 +857,49 @@ get_nodes_helper(NodeTree,
%% relational database).</p>
%% <p>If a PubSub plugin wants to delegate the states storage to the default node,
%% they can implement this function like this:
%% ```get_states(NodeId) ->
%% node_default:get_states(NodeId).'''</p>
get_states(NodeId) ->
%% ```get_states(NodeIdx) ->
%% node_default:get_states(NodeIdx).'''</p>
get_states(NodeIdx) ->
States = case catch mnesia:match_object(
#pubsub_state{stateid = {'_', NodeId}, _ = '_'}) of
#pubsub_state{stateid = {'_', NodeIdx}, _ = '_'}) of
List when is_list(List) -> List;
_ -> []
end,
{result, States}.
%% @spec (NodeId, JID) -> [State] | []
%% NodeId = mod_pubsub:pubsubNodeId()
%% JID = mod_pubsub:jid()
%% State = mod_pubsub:pubsubItems()
%% @spec (NodeIdx, JID) -> State
%% NodeIdx = mod_pubsub:nodeIdx()
%% JID = mod_pubsub:jid()
%% State = mod_pubsub:pubsubState()
%% @doc <p>Returns a state (one state list), given its reference.</p>
get_state(NodeId, JID) ->
StateId = {JID, NodeId},
get_state(NodeIdx, JID) ->
StateId = {JID, NodeIdx},
case catch mnesia:read({pubsub_state, StateId}) of
[State] when is_record(State, pubsub_state) -> State;
_ -> #pubsub_state{stateid=StateId}
end.
%% @spec (State) -> ok | {error, Reason::stanzaError()}
%% State = mod_pubsub:pubsubStates()
%% @spec (State) -> ok | {error, Reason}
%% State = mod_pubsub:pubsubState()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Write a state into database.</p>
set_state(State) when is_record(State, pubsub_state) ->
mnesia:write(State);
set_state(_) ->
{error, ?ERR_INTERNAL_SERVER_ERROR}.
%% @spec (NodeId, JID) -> ok | {error, Reason::stanzaError()}
%% NodeId = mod_pubsub:pubsubNodeId()
%% JID = mod_pubsub:jid()
%% @spec (NodeIdx, JID) -> ok | {error, Reason}
%% NodeIdx = mod_pubsub:nodeIdx()
%% JID = mod_pubsub:jid()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Delete a state from database.</p>
del_state(NodeId, JID) ->
mnesia:delete({pubsub_state, {JID, NodeId}}).
del_state(NodeIdx, JID) ->
mnesia:delete({pubsub_state, {JID, NodeIdx}}).
%% @spec (NodeId, From) -> [Items] | []
%% NodeId = mod_pubsub:pubsubNodeId()
%% Items = mod_pubsub:pubsubItems()
%% @spec (NodeIdx, From) -> {result, Items}
%% NodeIdx = mod_pubsub:nodeIdx()
%% From = mod_pubsub:jid()
%% Items = [] | [mod_pubsub:pubsubItem()]
%% @doc Returns the list of stored items for a given node.
%% <p>For the default PubSub module, items are stored in Mnesia database.</p>
%% <p>We can consider that the pubsub_item table have been created by the main
@ -879,16 +908,17 @@ del_state(NodeId, JID) ->
%% relational database), or they can even decide not to persist any items.</p>
%% <p>If a PubSub plugin wants to delegate the item storage to the default node,
%% they can implement this function like this:
%% ```get_items(NodeId, From) ->
%% node_default:get_items(NodeId, From).'''</p>
get_items(NodeId, _From) ->
Items = mnesia:match_object(#pubsub_item{itemid = {'_', NodeId}, _ = '_'}),
%% ```get_items(NodeIdx, From) ->
%% node_default:get_items(NodeIdx, From).'''</p>
get_items(NodeIdx, _From) ->
Items = mnesia:match_object(#pubsub_item{itemid = {'_', NodeIdx}, _ = '_'}),
{result, lists:reverse(lists:keysort(#pubsub_item.modification, Items))}.
get_items(NodeId, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId) ->
get_items(NodeIdx, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId) ->
SubKey = jlib:jid_tolower(JID),
GenKey = jlib:jid_remove_resource(SubKey),
GenState = get_state(NodeId, GenKey),
SubState = get_state(NodeId, SubKey),
GenState = get_state(NodeIdx, GenKey),
SubState = get_state(NodeIdx, SubKey),
Affiliation = GenState#pubsub_state.affiliation,
Subscriptions = SubState#pubsub_state.subscriptions,
Whitelisted = can_fetch_item(Affiliation, Subscriptions),
@ -918,25 +948,37 @@ get_items(NodeId, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId) -
%% % Payment is required for a subscription
%% {error, ?ERR_PAYMENT_REQUIRED};
true ->
get_items(NodeId, JID)
get_items(NodeIdx, JID)
end.
%% @spec (NodeId, ItemId) -> [Item] | []
%% NodeId = mod_pubsub:pubsubNodeId()
%% ItemId = string()
%% Item = mod_pubsub:pubsubItems()
%% @spec (NodeIdx, ItemId) -> {result, Item} | {error, 'item-not-found'}
%% NodeIdx = mod_pubsub:nodeIdx()
%% ItemId = mod_pubsub:itemId()
%% Item = mod_pubsub:pubsubItem()
%% @doc <p>Returns an item (one item list), given its reference.</p>
get_item(NodeId, ItemId) ->
case mnesia:read({pubsub_item, {ItemId, NodeId}}) of
get_item(NodeIdx, ItemId) ->
case mnesia:read({pubsub_item, {ItemId, NodeIdx}}) of
[Item] when is_record(Item, pubsub_item) ->
{result, Item};
_ ->
{error, ?ERR_ITEM_NOT_FOUND}
end.
get_item(NodeId, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId) ->
%% @spec (NodeIdx, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, SubId) -> {result, Item} | {error, Reason}
%% NodeIdx = mod_pubsub:nodeIdx()
%% ItemId = mod_pubsub:itemId()
%% JID = mod_pubsub:jid()
%% AccessModel = mod_pubsub:accessModel()
%% PresenceSubscription = boolean()
%% RosterGroup = boolean()
%% SubId = mod_pubsub:subId()
%% Item = mod_pubsub:pubsubItem()
%% Reason = mod_pubsub:stanzaError() | 'item-not-found'
get_item(NodeIdx, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, _SubId) ->
SubKey = jlib:jid_tolower(JID),
GenKey = jlib:jid_remove_resource(SubKey),
GenState = get_state(NodeId, GenKey),
GenState = get_state(NodeIdx, GenKey),
Affiliation = GenState#pubsub_state.affiliation,
Subscriptions = GenState#pubsub_state.subscriptions,
Whitelisted = can_fetch_item(Affiliation, Subscriptions),
@ -966,26 +1008,29 @@ get_item(NodeId, ItemId, JID, AccessModel, PresenceSubscription, RosterGroup, _S
%% % Payment is required for a subscription
%% {error, ?ERR_PAYMENT_REQUIRED};
true ->
get_item(NodeId, ItemId)
get_item(NodeIdx, ItemId)
end.
%% @spec (Item) -> ok | {error, Reason::stanzaError()}
%% Item = mod_pubsub:pubsubItems()
%% @spec (Item) -> ok | {error, Reason}
%% Item = mod_pubsub:pubsubItem()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Write an item into database.</p>
set_item(Item) when is_record(Item, pubsub_item) ->
mnesia:write(Item);
set_item(_) ->
{error, ?ERR_INTERNAL_SERVER_ERROR}.
%% @spec (NodeId, ItemId) -> ok | {error, Reason::stanzaError()}
%% NodeId = mod_pubsub:pubsubNodeId()
%% ItemId = string()
%% @spec (NodeIdx, ItemId) -> ok | {error, Reason}
%% NodeIdx = mod_pubsub:nodeIdx()
%% ItemId = mod_pubsub:itemId()
%% Reason = mod_pubsub:stanzaError()
%% @doc <p>Delete an item from database.</p>
del_item(NodeId, ItemId) ->
mnesia:delete({pubsub_item, {ItemId, NodeId}}).
del_items(NodeId, ItemIds) ->
del_item(NodeIdx, ItemId) ->
mnesia:delete({pubsub_item, {ItemId, NodeIdx}}).
del_items(NodeIdx, ItemIds) ->
lists:foreach(fun(ItemId) ->
del_item(NodeId, ItemId)
del_item(NodeIdx, ItemId)
end, ItemIds).
%% @doc <p>Return the name of the node if known: Default is to return

View File

@ -65,16 +65,16 @@
%% API definition
%% ================
%% @spec (Host, ServerHost, Opts) -> any()
%% Host = mod_pubsub:host()
%% ServerHost = host()
%% Opts = list()
%% @spec (Host, ServerHost, Options) -> ok
%% Host = string()
%% ServerHost = string()
%% Options = [{atom(), term()}]
%% @doc <p>Called during pubsub modules initialisation. Any pubsub plugin must
%% implement this function. It can return anything.</p>
%% <p>This function is mainly used to trigger the setup task necessary for the
%% plugin. It can be used for example by the developer to create the specific
%% module database schema if it does not exists yet.</p>
init(_Host, _ServerHost, _Opts) ->
init(_Host, _ServerHost, _Options) ->
mnesia:create_table(pubsub_node,
[{disc_copies, [node()]},
{attributes, record_info(fields, pubsub_node)}]),
@ -87,34 +87,41 @@ init(_Host, _ServerHost, _Opts) ->
%% mnesia:transform_table(pubsub_state, ignore, StatesFields)
end,
ok.
%% @spec (Host, ServerHost) -> ok
%% Host = string()
%% ServerHost = string()
terminate(_Host, _ServerHost) ->
ok.
%% @spec () -> [Option]
%% Option = mod_pubsub:nodetreeOption()
%% @spec () -> Options
%% Options = [mod_pubsub:nodeOption()]
%% @doc Returns the default pubsub node tree options.
options() ->
[{virtual_tree, false}].
%% @spec (NodeRecord) -> ok | {error, Reason}
%% Record = mod_pubsub:pubsub_node()
set_node(Record) when is_record(Record, pubsub_node) ->
mnesia:write(Record);
%% @spec (Node) -> ok | {error, Reason}
%% Node = mod_pubsub:pubsubNode()
%% Reason = mod_pubsub:stanzaError()
set_node(Node) when is_record(Node, pubsub_node) ->
mnesia:write(Node);
set_node(_) ->
{error, ?ERR_INTERNAL_SERVER_ERROR}.
get_node(Host, Node, _From) ->
get_node(Host, Node).
%% @spec (Host, Node) -> pubsubNode() | {error, Reason}
%% Host = mod_pubsub:host()
%% Node = mod_pubsub:pubsubNode()
get_node(Host, Node) ->
case catch mnesia:read({pubsub_node, {Host, Node}}) of
%% @spec (Host, NodeId) -> Node | {error, Reason}
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% Node = mod_pubsub:pubsubNode()
%% Reason = mod_pubsub:stanzaError()
get_node(Host, NodeId) ->
case catch mnesia:read({pubsub_node, {Host, NodeId}}) of
[Record] when is_record(Record, pubsub_node) -> Record;
[] -> {error, ?ERR_ITEM_NOT_FOUND};
Error -> Error
end.
get_node(NodeId) ->
case catch mnesia:index_read(pubsub_node, NodeId, #pubsub_node.id) of
[Record] when is_record(Record, pubsub_node) -> Record;
@ -125,41 +132,43 @@ get_node(NodeId) ->
get_nodes(Host, _From) ->
get_nodes(Host).
%% @spec (Host) -> [pubsubNode()] | {error, Reason}
%% Host = mod_pubsub:host() | mod_pubsub:jid()
%% @spec (Host) -> Nodes | {error, Reason}
%% Host = mod_pubsub:host()
%% Nodes = [mod_pubsub:pubsubNode()]
%% Reason = {aborted, atom()}
get_nodes(Host) ->
mnesia:match_object(#pubsub_node{nodeid = {Host, '_'}, _ = '_'}).
%% @spec (Host, Node, From) -> [{Depth, Record}] | {error, Reason}
%% Host = mod_pubsub:host() | mod_pubsub:jid()
%% Node = mod_pubsub:pubsubNode()
%% @spec (Host, Node, From) -> []
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% From = mod_pubsub:jid()
%% Depth = integer()
%% Record = pubsubNode()
%% @doc <p>Default node tree does not handle parents, return empty list.</p>
get_parentnodes(_Host, _Node, _From) ->
get_parentnodes(_Host, _NodeId, _From) ->
[].
%% @spec (Host, Node, From) -> [{Depth, Record}] | {error, Reason}
%% Host = mod_pubsub:host() | mod_pubsub:jid()
%% Node = mod_pubsub:pubsubNode()
%% @spec (Host, NodeId, From) -> [{Depth, Node}] | []
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% From = mod_pubsub:jid()
%% Depth = integer()
%% Record = pubsubNode()
%% Node = mod_pubsub:pubsubNode()
%% @doc <p>Default node tree does not handle parents, return a list
%% containing just this node.</p>
get_parentnodes_tree(Host, Node, From) ->
case get_node(Host, Node, From) of
N when is_record(N, pubsub_node) -> [{0, [N]}];
get_parentnodes_tree(Host, NodeId, From) ->
case get_node(Host, NodeId, From) of
Node when is_record(Node, pubsub_node) -> [{0, [Node]}];
_Error -> []
end.
%% @spec (Host, Node, From) -> [pubsubNode()] | {error, Reason}
%% Host = mod_pubsub:host()
%% Node = mod_pubsub:pubsubNode()
%% From = mod_pubsub:jid()
get_subnodes(Host, Node, _From) ->
get_subnodes(Host, Node).
%% @spec (Host, NodeId, From) -> Nodes
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% From = mod_pubsub:jid()
%% Nodes = [mod_pubsub:pubsubNode()]
get_subnodes(Host, NodeId, _From) ->
get_subnodes(Host, NodeId).
get_subnodes(Host, <<>>) ->
Q = qlc:q([N || #pubsub_node{nodeid = {NHost, _},
parents = Parents} = N <- mnesia:table(pubsub_node),
@ -176,17 +185,17 @@ get_subnodes(Host, Node) ->
get_subnodes_tree(Host, Node, _From) ->
get_subnodes_tree(Host, Node).
%% @spec (Host, Index) -> [pubsubNodeIdx()] | {error, Reason}
%% Host = mod_pubsub:host()
%% Node = mod_pubsub:pubsubNode()
%% From = mod_pubsub:jid()
get_subnodes_tree(Host, Node) ->
case get_node(Host, Node) of
%% @spec (Host, NodeId) -> Nodes
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% Nodes = [] | [mod_pubsub:pubsubNode()]
get_subnodes_tree(Host, NodeId) ->
case get_node(Host, NodeId) of
{error, _} ->
[];
Rec ->
BasePlugin = list_to_atom("node_"++Rec#pubsub_node.type),
BasePath = BasePlugin:node_to_path(Node),
BasePath = BasePlugin:node_to_path(NodeId),
mnesia:foldl(fun(#pubsub_node{nodeid = {H, N}} = R, Acc) ->
Plugin = list_to_atom("node_"++R#pubsub_node.type),
Path = Plugin:node_to_path(N),
@ -197,15 +206,19 @@ get_subnodes_tree(Host, Node) ->
end, [], pubsub_node)
end.
%% @spec (Host, Node, Type, Owner, Options, Parents) -> ok | {error, Reason}
%% Host = mod_pubsub:host() | mod_pubsub:jid()
%% Node = mod_pubsub:pubsubNode()
%% NodeType = mod_pubsub:nodeType()
%% Owner = mod_pubsub:jid()
%% Options = list()
create_node(Host, Node, Type, Owner, Options, Parents) ->
%% @spec (Host, NodeId, Type, Owner, Options, Parents) ->
%% {ok, NodeIdx} | {error, Reason}
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% Type = mod_pubsub:nodeType()
%% Owner = mod_pubsub:jid()
%% Options = [mod_pubsub:nodeOption()]
%% Parents = [] | [mod_pubsub:nodeId()]
%% NodeIdx = mod_pubsub:nodeIdx()
%% Reason = mod_pubsub:stanzaError()
create_node(Host, NodeId, Type, Owner, Options, Parents) ->
BJID = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
case catch mnesia:read({pubsub_node, {Host, Node}}) of
case catch mnesia:read({pubsub_node, {Host, NodeId}}) of
[] ->
ParentExists =
case Host of
@ -228,14 +241,14 @@ create_node(Host, Node, Type, Owner, Options, Parents) ->
end,
case ParentExists of
true ->
NodeId = pubsub_index:new(node),
mnesia:write(#pubsub_node{nodeid = {Host, Node},
id = NodeId,
NodeIdx = pubsub_index:new(node),
mnesia:write(#pubsub_node{nodeid = {Host, NodeId},
id = NodeIdx,
parents = Parents,
type = Type,
owners = [BJID],
options = Options}),
{ok, NodeId};
{ok, NodeIdx};
false ->
%% Requesting entity is prohibited from creating nodes
{error, ?ERR_FORBIDDEN}
@ -245,13 +258,14 @@ create_node(Host, Node, Type, Owner, Options, Parents) ->
{error, ?ERR_CONFLICT}
end.
%% @spec (Host, Node) -> [mod_pubsub:node()]
%% Host = mod_pubsub:host() | mod_pubsub:jid()
%% Node = mod_pubsub:pubsubNode()
delete_node(Host, Node) ->
Removed = get_subnodes_tree(Host, Node),
lists:foreach(fun(#pubsub_node{nodeid = {_, N}, id = I}) ->
pubsub_index:free(node, I),
mnesia:delete({pubsub_node, {Host, N}})
%% @spec (Host, NodeId) -> Removed
%% Host = mod_pubsub:host()
%% NodeId = mod_pubsub:nodeId()
%% Removed = [mod_pubsub:pubsubNode()]
delete_node(Host, NodeId) ->
Removed = get_subnodes_tree(Host, NodeId),
lists:foreach(fun(#pubsub_node{nodeid = {_, SubNodeId}, id = SubNodeIdx}) ->
pubsub_index:free(node, SubNodeIdx),
mnesia:delete({pubsub_node, {Host, SubNodeId}})
end, Removed),
Removed.

View File

@ -35,112 +35,159 @@
%% -------------------------------
%% Pubsub types
%%% @type host() = string().
%%% <p><tt>host</tt> is the name of the PubSub service. For example, it can be
%%% <tt>"pubsub.localhost"</tt>.</p>
%% @type hostPubsub() = string().
%% <p><tt>hostPubsub</tt> is the name of the PubSub service. For example, it can be
%% <tt>"pubsub.localhost"</tt>.</p>
%%% @type pubsubNode() = [string()].
%%% <p>A node is defined by a list of its ancestors. The last element is the name
%%% of the current node. For example:
%%% ```["home", "localhost", "cromain", "node1"]'''</p>
%% @type hostPEP() = {User, Server, Resource}
%% User = string()
%% Server = string()
%% Resource = [].
%% <p>For example, it can be :
%% ```{"bob", "example.org", []}'''.</p>
%%% @type stanzaError() = #xmlelement{}.
%%% Example:
%%% ```{xmlelement, "error",
%%% [{"code", Code}, {"type", Type}],
%%% [{xmlelement, Condition, [{"xmlns", ?NS_STANZAS}], []}]}'''
%% @type host() = hostPubsub() | hostPEP().
%%% @type pubsubIQResponse() = #xmlelement{}.
%%% Example:
%%% ```{xmlelement, "pubsub",
%%% [{"xmlns", ?NS_PUBSUB_EVENT}],
%%% [{xmlelement, "affiliations", [],
%%% []}]}'''
%% @type nodeId() = binary().
%% <p>A node is defined by a list of its ancestors. The last element is the name
%% of the current node. For example:
%% ```<<"/home/localhost/user">>'''</p>
%%% @type nodeOption() = {Option::atom(), Value::term()}.
%%% Example:
%%% ```{deliver_payloads, true}'''
%% @type nodeIdx() = integer().
%%% @type nodeType() = string().
%%% <p>The <tt>nodeType</tt> is a string containing the name of the PubSub
%%% plugin to use to manage a given node. For example, it can be
%%% <tt>"flat"</tt>, <tt>"hometree"</tt> or <tt>"blog"</tt>.</p>
%% @type itemId() = string().
%%% @type jid() = #jid{
%%% user = string(),
%%% server = string(),
%%% resource = string(),
%%% luser = string(),
%%% lserver = string(),
%%% lresource = string()}.
%% @type subId() = string().
%%% @type ljid() = {User::string(), Server::string(), Resource::string()}.
%% @type payload() = [#xmlelement{} | #xmlcdata{}].
%%% @type affiliation() = none | owner | publisher | outcast.
%%% @type subscription() = none | pending | unconfigured | subscribed.
%% @type stanzaError() = #xmlelement{}.
%% Example:
%% ```{xmlelement, "error",
%% [{"code", Code}, {"type", Type}],
%% [{xmlelement, Condition, [{"xmlns", ?NS_STANZAS}], []}]}'''
%% @type pubsubIQResponse() = #xmlelement{}.
%% Example:
%% ```{xmlelement, "pubsub",
%% [{"xmlns", ?NS_PUBSUB_EVENT}],
%% [{xmlelement, "affiliations", [],
%% []}]}'''
%%% internal pubsub index table
-record(pubsub_index, {index, last, free}).
%% @type nodeOption() = {Option, Value}
%% Option = atom()
%% Value = term().
%% Example:
%% ```{deliver_payloads, true}'''
%%% @type pubsubNode() = #pubsub_node{
%%% nodeid = {Host::host(), Node::pubsubNode()},
%%% parentid = Node::pubsubNode(),
%%% nodeidx = int(),
%%% type = nodeType(),
%%% options = [nodeOption()]}.
%%% <p>This is the format of the <tt>nodes</tt> table. The type of the table
%%% is: <tt>set</tt>,<tt>ram/disc</tt>.</p>
%%% <p>The <tt>parentid</tt> and <tt>type</tt> fields are indexed.</p>
%%% nodeidx can be anything you want.
-record(pubsub_node, {nodeid,
id,
parents = [],
type = "flat",
owners = [],
options = []
}).
%% @type nodeType() = string().
%% <p>The <tt>nodeType</tt> is a string containing the name of the PubSub
%% plugin to use to manage a given node. For example, it can be
%% <tt>"flat"</tt>, <tt>"hometree"</tt> or <tt>"blog"</tt>.</p>
%%% @type pubsubState() = #pubsub_state{
%%% stateid = {ljid(), nodeidx()},
%%% items = [ItemId::string()],
%%% affiliation = affiliation(),
%%% subscriptions = [subscription()]}.
%%% <p>This is the format of the <tt>affiliations</tt> table. The type of the
%%% table is: <tt>set</tt>,<tt>ram/disc</tt>.</p>
-record(pubsub_state, {stateid,
items = [],
affiliation = none,
subscriptions = []
%% @type jid() = {jid, User, Server, Resource, LUser, LServer, LResource}
%% User = string()
%% Server = string()
%% Resource = string()
%% LUser = string()
%% LServer = string()
%% LResource = string().
%% @type ljid() = {User, Server, Resource}
%% User = string()
%% Server = string()
%% Resource = string().
%% @type affiliation() = 'none' | 'owner' | 'publisher' | 'publish-only' | 'member' | 'outcast'.
%% @type subscription() = 'none' | 'pending' | 'unconfigured' | 'subscribed'.
%% @type accessModel() = 'open' | 'presence' | 'roster' | 'authorize' | 'whitelist'.
%% @type pubsubIndex() = {pubsub_index, Index, Last, Free}
%% Index = atom()
%% Last = integer()
%% Free = [integer()].
%% internal pubsub index table
-record(pubsub_index,
{
index,
last,
free
}).
%%% @type pubsubItem() = #pubsub_item{
%%% itemid = {ItemId::string(), nodeidx()},
%%% creation = {now(), ljid()},
%%% modification = {now(), ljid()},
%%% payload = XMLContent::string()}.
%%% <p>This is the format of the <tt>published items</tt> table. The type of the
%%% table is: <tt>set</tt>,<tt>disc</tt>,<tt>fragmented</tt>.</p>
-record(pubsub_item, {itemid,
creation = {unknown,unknown},
modification = {unknown,unknown},
payload = []
}).
%% @type pubsubNode() = {pubsub_node, NodeId, Id, Parents, Type, Owners, Options}
%% NodeId = {host() | ljid(), nodeId()}
%% Id = nodeIdx()
%% Parents = [nodeId()]
%% Type = nodeType()
%% Owners = [ljid()]
%% Options = [nodeOption()].
%% <p>This is the format of the <tt>nodes</tt> table. The type of the table
%% is: <tt>set</tt>,<tt>ram/disc</tt>.</p>
%% <p>The <tt>Parents</tt> and <tt>type</tt> fields are indexed.</p>
%% <tt>id</tt> can be anything you want.
-record(pubsub_node,
{
nodeid,
id,
parents = [],
type = "flat",
owners = [],
options = []
}).
%% @type pubsubState() = {pubsub_state, StateId, Items, Affiliation, Subscriptions}
%% StateId = {ljid(), nodeIdx()}
%% Items = [itemId()]
%% Affiliation = affiliation()
%% Subscriptions = [{subscription(), subId()}].
%% <p>This is the format of the <tt>affiliations</tt> table. The type of the
%% table is: <tt>set</tt>,<tt>ram/disc</tt>.</p>
-record(pubsub_state,
{
stateid,
items = [],
affiliation = 'none',
subscriptions = []
}).
%% @type pubsubSubscription() = #pubsub_subscription{
%% subid = string(),
%% state_key = {ljid(), pubsubNodeId()},
%% options = [{atom(), term()}]
%% }.
%% @type pubsubItem() = {pubsub_item, ItemId, Creation, Modification, Payload}
%% ItemId = {itemId(), nodeIdx()}
%% Creation = {now(), ljid()}
%% Modification = {now(), ljid()}
%% Payload = payload().
%% <p>This is the format of the <tt>published items</tt> table. The type of the
%% table is: <tt>set</tt>,<tt>disc</tt>,<tt>fragmented</tt>.</p>
-record(pubsub_item,
{
itemid,
creation = {'unknown','unknown'},
modification = {'unknown','unknown'},
payload = []
}).
%% @type pubsubSubscription() = {pubsub_subscription, SubId, Options}
%% SubId = subId()
%% Options = [nodeOption()].
%% <p>This is the format of the <tt>subscriptions</tt> table. The type of the
%% table is: <tt>set</tt>,<tt>ram/disc</tt>.</p>
-record(pubsub_subscription, {subid, options}).
-record(pubsub_subscription,
{
subid,
options
}).
%% @type pubsubLastItem() = #pubsub_last_item{
%% nodeid = nodeidx(),
%% itemid = string(),
%% payload = XMLContent::string()}.
%% @type pubsubLastItem() = {pubsub_last_item, NodeId, ItemId, Creation, Payload}
%% NodeId = nodeIdx()
%% ItemId = itemId()
%% Creation = {now(),ljid()}
%% Payload = payload().
%% <p>This is the format of the <tt>last items</tt> table. it stores last item payload
%% for every node</p>
-record(pubsub_last_item, {nodeid, itemid, creation, payload}).
-record(pubsub_last_item,
{
nodeid,
itemid,
creation,
payload
}).

View File

@ -1,5 +1,5 @@
--- mod_pubsub.erl 2010-08-02 16:07:28.000000000 +0200
+++ mod_pubsub_odbc.erl 2010-08-02 17:04:37.000000000 +0200
--- mod_pubsub.erl 2010-12-07 13:54:26.000000000 +0100
+++ mod_pubsub_odbc.erl 2010-12-07 13:59:56.000000000 +0100
@@ -42,7 +42,7 @@
%%% 6.2.3.1, 6.2.3.5, and 6.3. For information on subscription leases see
%%% XEP-0060 section 12.18.
@ -49,7 +49,7 @@
init_nodes(Host, ServerHost, NodeTree, Plugins),
State = #state{host = Host,
server_host = ServerHost,
@@ -277,207 +275,14 @@
@@ -282,207 +280,14 @@
init_nodes(Host, ServerHost, _NodeTree, Plugins) ->
%% TODO, this call should be done plugin side
@ -260,7 +260,7 @@
send_loop(State) ->
receive
{presence, JID, Pid} ->
@@ -488,17 +293,15 @@
@@ -493,17 +298,15 @@
%% for each node From is subscribed to
%% and if the node is so configured, send the last published item to From
lists:foreach(fun(PType) ->
@ -284,7 +284,7 @@
true ->
% resource not concerned about that subscription
ok
@@ -617,7 +420,8 @@
@@ -622,7 +425,8 @@
disco_identity(_Host, <<>>, _From) ->
[{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []}];
disco_identity(Host, Node, From) ->
@ -294,7 +294,7 @@
case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
{result, _} ->
{result, [{xmlelement, "identity", [{"category", "pubsub"}, {"type", "pep"}], []},
@@ -652,7 +456,8 @@
@@ -657,7 +461,8 @@
[?NS_PUBSUB
| [?NS_PUBSUB++"#"++Feature || Feature <- features("pep")]];
disco_features(Host, Node, From) ->
@ -304,7 +304,7 @@
case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
{result, _} ->
{result, [?NS_PUBSUB
@@ -677,7 +482,8 @@
@@ -682,7 +487,8 @@
Acc.
disco_items(Host, <<>>, From) ->
@ -314,7 +314,7 @@
case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
{result, _} ->
[{xmlelement, "item",
@@ -695,13 +501,14 @@
@@ -700,13 +506,14 @@
_ -> Acc
end
end,
@ -331,7 +331,7 @@
case get_allowed_items_call(Host, Idx, From, Type, Options, Owners) of
{result, Items} ->
{result, [{xmlelement, "item",
@@ -781,10 +588,10 @@
@@ -792,10 +599,10 @@
lists:foreach(fun(PType) ->
{result, Subscriptions} = node_action(Host, PType, get_entity_subscriptions, [Host, Entity]),
lists:foreach(fun
@ -344,7 +344,7 @@
true ->
node_action(Host, PType, unsubscribe_node, [NodeId, Entity, JID, all]);
false ->
@@ -952,7 +759,8 @@
@@ -963,7 +770,8 @@
sub_el = SubEl} = IQ ->
{xmlelement, _, QAttrs, _} = SubEl,
Node = xml:get_attr_s("node", QAttrs),
@ -354,7 +354,7 @@
{result, IQRes} ->
jlib:iq_to_xml(
IQ#iq{type = result,
@@ -1065,7 +873,7 @@
@@ -1076,7 +884,7 @@
[] ->
["leaf"]; %% No sub-nodes: it's a leaf node
_ ->
@ -363,7 +363,7 @@
{result, []} -> ["collection"];
{result, _} -> ["leaf", "collection"];
_ -> []
@@ -1081,8 +889,9 @@
@@ -1092,8 +900,9 @@
[];
true ->
[{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []} |
@ -375,7 +375,7 @@
end, features(Type))]
end,
%% TODO: add meta-data info (spec section 5.4)
@@ -1111,8 +920,9 @@
@@ -1122,8 +931,9 @@
{xmlelement, "feature", [{"var", ?NS_PUBSUB}], []},
{xmlelement, "feature", [{"var", ?NS_COMMANDS}], []},
{xmlelement, "feature", [{"var", ?NS_VCARD}], []}] ++
@ -387,7 +387,7 @@
end, features(Host, Node))};
<<?NS_COMMANDS>> ->
command_disco_info(Host, Node, From);
@@ -1122,7 +932,7 @@
@@ -1133,7 +943,7 @@
node_disco_info(Host, Node, From)
end.
@ -396,7 +396,7 @@
case tree_action(Host, get_subnodes, [Host, <<>>, From]) of
Nodes when is_list(Nodes) ->
{result, lists:map(
@@ -1139,23 +949,24 @@
@@ -1150,23 +960,24 @@
Other ->
Other
end;
@ -427,7 +427,7 @@
end,
Nodes = lists:map(
fun(#pubsub_node{nodeid = {_, SubNode}, options = SubOptions}) ->
@@ -1173,7 +984,7 @@
@@ -1184,7 +995,7 @@
{result, Name} = node_call(Type, get_item_name, [Host, Node, RN]),
{xmlelement, "item", [{"jid", Host}, {"name", Name}], []}
end, NodeItems),
@ -436,7 +436,7 @@
end,
case transaction(Host, Node, Action, sync_dirty) of
{result, {_, Result}} -> {result, Result};
@@ -1284,7 +1095,8 @@
@@ -1295,7 +1106,8 @@
(_, Acc) ->
Acc
end, [], xml:remove_cdata(Els)),
@ -446,7 +446,7 @@
{get, "subscriptions"} ->
get_subscriptions(Host, Node, From, Plugins);
{get, "affiliations"} ->
@@ -1307,7 +1119,9 @@
@@ -1318,7 +1130,9 @@
iq_pubsub_owner(Host, ServerHost, From, IQType, SubEl, Lang) ->
{xmlelement, _, _, SubEls} = SubEl,
@ -457,7 +457,7 @@
case Action of
[{xmlelement, Name, Attrs, Els}] ->
Node = string_to_node(xml:get_attr_s("node", Attrs)),
@@ -1437,7 +1251,8 @@
@@ -1448,7 +1262,8 @@
_ -> []
end
end,
@ -467,7 +467,7 @@
sync_dirty) of
{result, Res} -> Res;
Err -> Err
@@ -1476,7 +1291,7 @@
@@ -1487,7 +1302,7 @@
%%% authorization handling
@ -476,7 +476,7 @@
Lang = "en", %% TODO fix
Stanza = {xmlelement, "message",
[],
@@ -1505,7 +1320,7 @@
@@ -1516,7 +1331,7 @@
[{xmlelement, "value", [], [{xmlcdata, "false"}]}]}]}]},
lists:foreach(fun(Owner) ->
ejabberd_router:route(service_jid(Host), jlib:make_jid(Owner), Stanza)
@ -485,7 +485,7 @@
find_authorization_response(Packet) ->
{xmlelement, _Name, _Attrs, Els} = Packet,
@@ -1569,8 +1384,8 @@
@@ -1580,8 +1395,8 @@
"true" -> true;
_ -> false
end,
@ -496,7 +496,7 @@
{result, Subscriptions} = node_call(Type, get_subscriptions, [NodeId, Subscriber]),
if
not IsApprover ->
@@ -1769,7 +1584,7 @@
@@ -1780,7 +1595,7 @@
Reply = [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB}],
[{xmlelement, "create", nodeAttr(Node),
[]}]}],
@ -505,7 +505,7 @@
{result, {NodeId, SubsByDepth, {Result, broadcast}}} ->
broadcast_created_node(Host, Node, NodeId, Type, NodeOptions, SubsByDepth),
case Result of
@@ -1872,7 +1687,7 @@
@@ -1883,7 +1698,7 @@
%%<li>The node does not exist.</li>
%%</ul>
subscribe_node(Host, Node, From, JID, Configuration) ->
@ -514,7 +514,7 @@
{result, GoodSubOpts} -> GoodSubOpts;
_ -> invalid
end,
@@ -1880,7 +1695,7 @@
@@ -1891,7 +1706,7 @@
error -> {"", "", ""};
J -> jlib:jid_tolower(J)
end,
@ -523,7 +523,7 @@
Features = features(Type),
SubscribeFeature = lists:member("subscribe", Features),
OptionsFeature = lists:member("subscription-options", Features),
@@ -1889,6 +1704,7 @@
@@ -1900,6 +1715,7 @@
AccessModel = get_option(Options, access_model),
SendLast = get_option(Options, send_last_published_item),
AllowedGroups = get_option(Options, roster_groups_allowed, []),
@ -531,7 +531,7 @@
{PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, Subscriber, Owners, AccessModel, AllowedGroups),
if
not SubscribeFeature ->
@@ -2218,7 +2034,7 @@
@@ -2231,7 +2047,7 @@
%% <p>The permission are not checked in this function.</p>
%% @todo We probably need to check that the user doing the query has the right
%% to read the items.
@ -540,7 +540,7 @@
MaxItems =
if
SMaxItems == "" -> get_max_items_node(Host);
@@ -2232,12 +2048,13 @@
@@ -2245,12 +2061,13 @@
{error, Error} ->
{error, Error};
_ ->
@ -555,7 +555,7 @@
{PresenceSubscription, RosterGroup} = get_presence_and_roster_permissions(Host, From, Owners, AccessModel, AllowedGroups),
if
not RetreiveFeature ->
@@ -2250,11 +2067,11 @@
@@ -2263,11 +2080,11 @@
node_call(Type, get_items,
[NodeId, From,
AccessModel, PresenceSubscription, RosterGroup,
@ -569,7 +569,7 @@
SendItems = case ItemIDs of
[] ->
Items;
@@ -2267,7 +2084,8 @@
@@ -2280,7 +2097,8 @@
%% number of items sent to MaxItems:
{result, [{xmlelement, "pubsub", [{"xmlns", ?NS_PUBSUB}],
[{xmlelement, "items", nodeAttr(Node),
@ -579,7 +579,7 @@
Error ->
Error
end
@@ -2289,10 +2107,15 @@
@@ -2302,10 +2120,15 @@
Error -> Error
end.
get_allowed_items_call(Host, NodeIdx, From, Type, Options, Owners) ->
@ -596,7 +596,7 @@
%% @spec (Host, Node, NodeId, Type, LJID, Number) -> any()
@@ -2305,16 +2128,27 @@
@@ -2318,16 +2141,27 @@
%% @doc <p>Resend the items of a node to the user.</p>
%% @todo use cache-last-item feature
send_items(Host, Node, NodeId, Type, LJID, last) ->
@ -630,7 +630,7 @@
send_items(Host, Node, NodeId, Type, LJID, Number) ->
ToSend = case node_action(Host, Type, get_items, [NodeId, LJID]) of
{result, []} ->
@@ -2440,7 +2274,8 @@
@@ -2453,7 +2287,8 @@
error ->
{error, ?ERR_BAD_REQUEST};
_ ->
@ -640,7 +640,7 @@
case lists:member(Owner, Owners) of
true ->
OwnerJID = jlib:make_jid(Owner),
@@ -2450,24 +2285,7 @@
@@ -2463,24 +2298,7 @@
end,
lists:foreach(
fun({JID, Affiliation}) ->
@ -666,7 +666,7 @@
end, FilteredEntities),
{result, []};
_ ->
@@ -2520,11 +2338,11 @@
@@ -2533,11 +2351,11 @@
end.
read_sub(Subscriber, Node, NodeID, SubID, Lang) ->
@ -680,7 +680,7 @@
OptionsEl = {xmlelement, "options", [{"jid", jlib:jid_to_string(Subscriber)},
{"subid", SubID}|nodeAttr(Node)],
[XdataEl]},
@@ -2550,7 +2368,7 @@
@@ -2563,7 +2381,7 @@
end.
set_options_helper(Configuration, JID, NodeID, SubID, Type) ->
@ -689,7 +689,7 @@
{result, GoodSubOpts} -> GoodSubOpts;
_ -> invalid
end,
@@ -2579,7 +2397,7 @@
@@ -2592,7 +2410,7 @@
write_sub(_Subscriber, _NodeID, _SubID, invalid) ->
{error, extended_error(?ERR_BAD_REQUEST, "invalid-options")};
write_sub(Subscriber, NodeID, SubID, Options) ->
@ -698,7 +698,7 @@
{error, notfound} ->
{error, extended_error(?ERR_NOT_ACCEPTABLE, "invalid-subid")};
{result, _} ->
@@ -2747,8 +2565,8 @@
@@ -2760,8 +2578,8 @@
{"subscription", subscription_to_string(Sub)} | nodeAttr(Node)], []}]}]},
ejabberd_router:route(service_jid(Host), jlib:make_jid(JID), Stanza)
end,
@ -709,7 +709,7 @@
true ->
Result = lists:foldl(fun({JID, Subscription, SubId}, Acc) ->
@@ -3103,7 +2921,7 @@
@@ -3116,7 +2934,7 @@
{Depth, [{N, get_node_subs(N)} || N <- Nodes]}
end, tree_call(Host, get_parentnodes_tree, [Host, Node, service_jid(Host)]))}
end,
@ -718,7 +718,7 @@
{result, CollSubs} -> CollSubs;
_ -> []
end.
@@ -3117,9 +2935,9 @@
@@ -3130,9 +2948,9 @@
get_options_for_subs(NodeID, Subs) ->
lists:foldl(fun({JID, subscribed, SubID}, Acc) ->
@ -730,7 +730,7 @@
_ -> Acc
end;
(_, Acc) ->
@@ -3323,6 +3141,30 @@
@@ -3321,6 +3139,30 @@
Result
end.
@ -761,7 +761,7 @@
%% @spec (Host, Options) -> MaxItems
%% Host = host()
%% Options = [Option]
@@ -3719,7 +3561,13 @@
@@ -3717,7 +3559,13 @@
tree_action(Host, Function, Args) ->
?DEBUG("tree_action ~p ~p ~p",[Host,Function,Args]),
Fun = fun() -> tree_call(Host, Function, Args) end,
@ -776,7 +776,7 @@
%% @doc <p>node plugin call.</p>
node_call(Type, Function, Args) ->
@@ -3739,13 +3587,13 @@
@@ -3737,13 +3585,13 @@
node_action(Host, Type, Function, Args) ->
?DEBUG("node_action ~p ~p ~p ~p",[Host,Type,Function,Args]),
@ -792,7 +792,7 @@
case tree_call(Host, get_node, [Host, Node]) of
N when is_record(N, pubsub_node) ->
case Action(N) of
@@ -3757,13 +3605,19 @@
@@ -3755,13 +3603,19 @@
Error
end
end, Trans).
@ -816,7 +816,7 @@
{result, Result} -> {result, Result};
{error, Error} -> {error, Error};
{atomic, {result, Result}} -> {result, Result};
@@ -3771,6 +3625,15 @@
@@ -3769,6 +3623,15 @@
{aborted, Reason} ->
?ERROR_MSG("transaction return internal error: ~p~n", [{aborted, Reason}]),
{error, ?ERR_INTERNAL_SERVER_ERROR};
@ -832,7 +832,7 @@
{'EXIT', Reason} ->
?ERROR_MSG("transaction return internal error: ~p~n", [{'EXIT', Reason}]),
{error, ?ERR_INTERNAL_SERVER_ERROR};
@@ -3779,6 +3642,17 @@
@@ -3777,6 +3640,17 @@
{error, ?ERR_INTERNAL_SERVER_ERROR}
end.

View File

@ -88,11 +88,18 @@ unauthenticated_iq_register(Acc, _Server, _IQ, _IP) ->
Acc.
process_iq(From, To, IQ) ->
process_iq(From, To, IQ, jlib:jid_tolower(jlib:jid_remove_resource(From))).
process_iq(From, To, IQ, jlib:jid_tolower(From)).
process_iq(From, To,
#iq{type = Type, lang = Lang, sub_el = SubEl, id = ID} = IQ,
Source) ->
IsCaptchaEnabled = case gen_mod:get_module_opt(
To#jid.lserver, ?MODULE, captcha_protected, false) of
true ->
true;
_ ->
false
end,
case Type of
set ->
UTag = xml:get_subtag(SubEl, "username"),
@ -162,103 +169,190 @@ process_iq(From, To,
(UTag /= false) and (PTag /= false) ->
User = xml:get_tag_cdata(UTag),
Password = xml:get_tag_cdata(PTag),
case From of
#jid{user = User, lserver = Server} ->
try_set_password(User, Server, Password, IQ, SubEl);
_ ->
case check_from(From, Server) of
allow ->
case try_register(User, Server, Password,
Source, Lang) of
ok ->
IQ#iq{type = result,
sub_el = [SubEl]};
{error, Error} ->
IQ#iq{type = error,
sub_el = [SubEl, Error]}
end;
deny ->
try_register_or_set_password(
User, Server, Password, From,
IQ, SubEl, Source, Lang, not IsCaptchaEnabled);
IsCaptchaEnabled ->
case ejabberd_captcha:process_reply(SubEl) of
ok ->
case process_xdata_submit(SubEl) of
{ok, User, Password} ->
try_register_or_set_password(
User, Server, Password, From,
IQ, SubEl, Source, Lang, true);
_ ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end
sub_el = [SubEl, ?ERR_BAD_REQUEST]}
end;
{error, malformed} ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_BAD_REQUEST]};
_ ->
ErrText = "The CAPTCHA verification has failed",
IQ#iq{type = error,
sub_el = [SubEl,
?ERRT_NOT_ALLOWED(Lang, ErrText)]}
end;
true ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_BAD_REQUEST]}
end;
get ->
{UsernameSubels, QuerySubels} =
{IsRegistered, UsernameSubels, QuerySubels} =
case From of
#jid{user = User, lserver = Server} ->
case ejabberd_auth:is_user_exists(User,Server) of
true ->
{[{xmlcdata, User}], [{xmlelement, "registered", [], []}]};
{true, [{xmlcdata, User}],
[{xmlelement, "registered", [], []}]};
false ->
{[{xmlcdata, User}], []}
{false, [{xmlcdata, User}], []}
end;
_ ->
{[], []}
{false, [], []}
end,
IQ#iq{type = result,
sub_el = [{xmlelement,
"query",
[{"xmlns", "jabber:iq:register"}],
[{xmlelement, "instructions", [],
if IsCaptchaEnabled and not IsRegistered ->
TopInstrEl = {xmlelement, "instructions", [],
[{xmlcdata,
translate:translate(
Lang, "You need a client that supports x:data "
"and CAPTCHA to register")}]},
InstrEl = {xmlelement, "instructions", [],
[{xmlcdata,
translate:translate(
Lang,
"Choose a username and password "
"to register with this server")}]},
{xmlelement, "username", [], UsernameSubels},
{xmlelement, "password", [], []}
| QuerySubels]}]}
UField = {xmlelement, "field",
[{"type", "text-single"},
{"label", translate:translate(Lang, "User")},
{"var", "username"}],
[{xmlelement, "required", [], []}]},
PField = {xmlelement, "field",
[{"type", "text-private"},
{"label", translate:translate(Lang, "Password")},
{"var", "password"}],
[{xmlelement, "required", [], []}]},
case ejabberd_captcha:create_captcha_x(
ID, To, Lang, [InstrEl, UField, PField]) of
{ok, CaptchaEls} ->
IQ#iq{type = result,
sub_el = [{xmlelement, "query",
[{"xmlns", "jabber:iq:register"}],
[TopInstrEl | CaptchaEls]}]};
error ->
ErrText = "Unable to generate a CAPTCHA",
IQ#iq{type = error,
sub_el = [SubEl, ?ERRT_INTERNAL_SERVER_ERROR(
Lang, ErrText)]}
end;
true ->
IQ#iq{type = result,
sub_el = [{xmlelement,
"query",
[{"xmlns", "jabber:iq:register"}],
[{xmlelement, "instructions", [],
[{xmlcdata,
translate:translate(
Lang,
"Choose a username and password "
"to register with this server")}]},
{xmlelement, "username", [], UsernameSubels},
{xmlelement, "password", [], []}
| QuerySubels]}]}
end
end.
try_register_or_set_password(User, Server, Password, From, IQ,
SubEl, Source, Lang, CaptchaSucceed) ->
case From of
#jid{user = User, lserver = Server} ->
try_set_password(User, Server, Password, IQ, SubEl, Lang);
_ when CaptchaSucceed ->
case check_from(From, Server) of
allow ->
case try_register(User, Server, Password,
Source, Lang) of
ok ->
IQ#iq{type = result,
sub_el = [SubEl]};
{error, Error} ->
IQ#iq{type = error,
sub_el = [SubEl, Error]}
end;
deny ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_FORBIDDEN]}
end;
_ ->
IQ#iq{type = error,
sub_el = [SubEl, ?ERR_NOT_ALLOWED]}
end.
%% @doc Try to change password and return IQ response
try_set_password(User, Server, Password, IQ, SubEl) ->
case ejabberd_auth:set_password(User, Server, Password) of
ok ->
IQ#iq{type = result, sub_el = [SubEl]};
{error, empty_password} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]};
{error, not_allowed} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
{error, invalid_jid} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_ITEM_NOT_FOUND]};
_ ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]}
try_set_password(User, Server, Password, IQ, SubEl, Lang) ->
case is_strong_password(Server, Password) of
true ->
case ejabberd_auth:set_password(User, Server, Password) of
ok ->
IQ#iq{type = result, sub_el = [SubEl]};
{error, empty_password} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]};
{error, not_allowed} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
{error, invalid_jid} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_ITEM_NOT_FOUND]};
_ ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]}
end;
false ->
ErrText = "The password is too weak",
IQ#iq{type = error,
sub_el = [SubEl, ?ERRT_NOT_ACCEPTABLE(Lang, ErrText)]}
end.
try_register(User, Server, Password, Source, Lang) ->
try_register(User, Server, Password, SourceRaw, Lang) ->
case jlib:is_nodename(User) of
false ->
{error, ?ERR_BAD_REQUEST};
_ ->
JID = jlib:make_jid(User, Server, ""),
Access = gen_mod:get_module_opt(Server, ?MODULE, access, all),
case acl:match_rule(Server, Access, JID) of
deny ->
IPAccess = get_ip_access(Server),
case {acl:match_rule(Server, Access, JID),
check_ip_access(SourceRaw, IPAccess)} of
{deny, _} ->
{error, ?ERR_FORBIDDEN};
allow ->
{_, deny} ->
{error, ?ERR_FORBIDDEN};
{allow, allow} ->
Source = may_remove_resource(SourceRaw),
case check_timeout(Source) of
true ->
case ejabberd_auth:try_register(User, Server, Password) of
{atomic, ok} ->
send_welcome_message(JID),
send_registration_notifications(JID, Source),
ok;
Error ->
remove_timeout(Source),
case Error of
{atomic, exists} ->
{error, ?ERR_CONFLICT};
{error, invalid_jid} ->
{error, ?ERR_JID_MALFORMED};
{error, not_allowed} ->
{error, ?ERR_NOT_ALLOWED};
{error, _Reason} ->
{error, ?ERR_INTERNAL_SERVER_ERROR}
end
case is_strong_password(Server, Password) of
true ->
case ejabberd_auth:try_register(
User, Server, Password) of
{atomic, ok} ->
send_welcome_message(JID),
send_registration_notifications(JID, Source),
ok;
Error ->
remove_timeout(Source),
case Error of
{atomic, exists} ->
{error, ?ERR_CONFLICT};
{error, invalid_jid} ->
{error, ?ERR_JID_MALFORMED};
{error, not_allowed} ->
{error, ?ERR_NOT_ALLOWED};
{error, _Reason} ->
{error, ?ERR_INTERNAL_SERVER_ERROR}
end
end;
false ->
ErrText = "The password is too weak",
{error, ?ERRT_NOT_ACCEPTABLE(Lang, ErrText)}
end;
false ->
ErrText = "Users are not allowed to register "
@ -417,3 +511,125 @@ get_time_string() -> write_time(erlang:localtime()).
write_time({{Y,Mo,D},{H,Mi,S}}) ->
io_lib:format("~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w",
[Y, Mo, D, H, Mi, S]).
process_xdata_submit(El) ->
case xml:get_subtag(El, "x") of
false ->
error;
Xdata ->
Fields = jlib:parse_xdata_submit(Xdata),
case catch {proplists:get_value("username", Fields),
proplists:get_value("password", Fields)} of
{[User|_], [Pass|_]} ->
{ok, User, Pass};
_ ->
error
end
end.
is_strong_password(Server, Password) ->
LServer = jlib:nameprep(Server),
case gen_mod:get_module_opt(LServer, ?MODULE, password_strength, 0) of
Entropy when is_number(Entropy), Entropy >= 0 ->
if Entropy == 0 ->
true;
true ->
ejabberd_auth:entropy(Password) >= Entropy
end;
Wrong ->
?WARNING_MSG("Wrong value for password_strength option: ~p",
[Wrong]),
true
end.
%%%
%%% ip_access management
%%%
may_remove_resource({_, _, _} = From) ->
jlib:jid_remove_resource(From);
may_remove_resource(From) ->
From.
get_ip_access(Host) ->
IPAccess = gen_mod:get_module_opt(Host, ?MODULE, ip_access, []),
lists:flatmap(
fun({Access, S}) ->
case parse_ip_netmask(S) of
{ok, IP, Mask} ->
[{Access, IP, Mask}];
error ->
?ERROR_MSG("mod_register: invalid "
"network specification: ~p",
[S]),
[]
end
end, IPAccess).
parse_ip_netmask(S) ->
case string:tokens(S, "/") of
[IPStr] ->
case inet_parse:address(IPStr) of
{ok, {_, _, _, _} = IP} ->
{ok, IP, 32};
{ok, {_, _, _, _, _, _, _, _} = IP} ->
{ok, IP, 128};
_ ->
error
end;
[IPStr, MaskStr] ->
case catch list_to_integer(MaskStr) of
Mask when is_integer(Mask),
Mask >= 0 ->
case inet_parse:address(IPStr) of
{ok, {_, _, _, _} = IP} when Mask =< 32 ->
{ok, IP, Mask};
{ok, {_, _, _, _, _, _, _, _} = IP} when Mask =< 128 ->
{ok, IP, Mask};
_ ->
error
end;
_ ->
error
end;
_ ->
error
end.
check_ip_access(_Source, []) ->
allow;
check_ip_access({User, Server, Resource}, IPAccess) ->
case ejabberd_sm:get_user_ip(User, Server, Resource) of
{IPAddress, _PortNumber} -> check_ip_access(IPAddress, IPAccess);
_ -> true
end;
check_ip_access({_, _, _, _} = IP,
[{Access, {_, _, _, _} = Net, Mask} | IPAccess]) ->
IPInt = ip_to_integer(IP),
NetInt = ip_to_integer(Net),
M = bnot ((1 bsl (32 - Mask)) - 1),
if
IPInt band M =:= NetInt band M ->
Access;
true ->
check_ip_access(IP, IPAccess)
end;
check_ip_access({_, _, _, _, _, _, _, _} = IP,
[{Access, {_, _, _, _, _, _, _, _} = Net, Mask} | IPAccess]) ->
IPInt = ip_to_integer(IP),
NetInt = ip_to_integer(Net),
M = bnot ((1 bsl (128 - Mask)) - 1),
if
IPInt band M =:= NetInt band M ->
Access;
true ->
check_ip_access(IP, IPAccess)
end;
check_ip_access(IP, [_ | IPAccess]) ->
check_ip_access(IP, IPAccess).
ip_to_integer({IP1, IP2, IP3, IP4}) ->
(((((IP1 bsl 8) bor IP2) bsl 8) bor IP3) bsl 8) bor IP4;
ip_to_integer({IP1, IP2, IP3, IP4, IP5, IP6, IP7, IP8}) ->
(((((((((((((IP1 bsl 16) bor IP2) bsl 16) bor IP3) bsl 16) bor IP4)
bsl 16) bor IP5) bsl 16) bor IP6) bsl 16) bor IP7) bsl 16) bor IP8.

View File

@ -0,0 +1,674 @@
%%%-------------------------------------------------------------------
%%% File : mod_shared_roster_ldap.erl
%%% Author : Realloc <realloc@realloc.spb.ru>
%%% Marcin Owsiany <marcin@owsiany.pl>
%%% Evgeniy Khramtsov <ekhramtsov@process-one.net>
%%% Description : LDAP shared roster management
%%% Created : 5 Mar 2005 by Alexey Shchepin <alexey@process-one.net>
%%%
%%%
%%% ejabberd, Copyright (C) 2002-2010 ProcessOne
%%%
%%% This program is free software; you can redistribute it and/or
%%% modify it under the terms of the GNU General Public License as
%%% published by the Free Software Foundation; either version 2 of the
%%% License, or (at your option) any later version.
%%%
%%% This program is distributed in the hope that it will be useful,
%%% but WITHOUT ANY WARRANTY; without even the implied warranty of
%%% MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
%%% General Public License for more details.
%%%
%%% You should have received a copy of the GNU General Public License
%%% along with this program; if not, write to the Free Software
%%% Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA
%%% 02111-1307 USA
%%%
%%%-------------------------------------------------------------------
-module(mod_shared_roster_ldap).
-behaviour(gen_server).
-behaviour(gen_mod).
%% API
-export([start_link/2, start/2, stop/1]).
%% gen_server callbacks
-export([init/1, handle_call/3, handle_cast/2, handle_info/2,
terminate/2, code_change/3]).
-export([get_user_roster/2,
get_subscription_lists/3,
get_jid_info/4,
process_item/2,
in_subscription/6,
out_subscription/4]).
-include("ejabberd.hrl").
-include("mod_roster.hrl").
-include("eldap/eldap.hrl").
-define(CACHE_SIZE, 1000).
-define(USER_CACHE_VALIDITY, 300). %% in seconds
-define(GROUP_CACHE_VALIDITY, 300). %% in seconds
-define(LDAP_SEARCH_TIMEOUT, 5). %% Timeout for LDAP search queries in seconds
-record(state, {host,
eldap_id,
servers,
backups,
port,
tls_options,
dn,
base,
password,
uid,
group_attr,
group_desc,
user_desc,
user_uid,
uid_format,
uid_format_re,
filter,
ufilter,
rfilter,
gfilter,
auth_check,
user_cache_size,
group_cache_size,
user_cache_validity,
group_cache_validity}).
-record(group_info, {desc, members}).
%%====================================================================
%% API
%%====================================================================
start_link(Host, Opts) ->
Proc = gen_mod:get_module_proc(Host, ?MODULE),
gen_server:start_link({local, Proc}, ?MODULE, [Host, Opts], []).
start(Host, Opts) ->
Proc = gen_mod:get_module_proc(Host, ?MODULE),
ChildSpec = {
Proc, {?MODULE, start_link, [Host, Opts]},
permanent, 1000, worker, [?MODULE]
},
supervisor:start_child(ejabberd_sup, ChildSpec).
stop(Host) ->
Proc = gen_mod:get_module_proc(Host, ?MODULE),
supervisor:terminate_child(ejabberd_sup, Proc),
supervisor:delete_child(ejabberd_sup, Proc).
%%--------------------------------------------------------------------
%% Hooks
%%--------------------------------------------------------------------
get_user_roster(Items, {U, S} = US) ->
SRUsers = get_user_to_groups_map(US, true),
%% If partially subscribed users are also in shared roster,
%% show them as totally subscribed:
{NewItems1, SRUsersRest} =
lists:mapfoldl(
fun(Item, SRUsers1) ->
{_, _, {U1, S1, _}} = Item#roster.usj,
US1 = {U1, S1},
case dict:find(US1, SRUsers1) of
{ok, _GroupNames} ->
{Item#roster{subscription = both, ask = none},
dict:erase(US1, SRUsers1)};
error ->
{Item, SRUsers1}
end
end, SRUsers, Items),
%% Export items in roster format:
SRItems = [#roster{usj = {U, S, {U1, S1, ""}},
us = US,
jid = {U1, S1, ""},
name = get_user_name(U1,S1),
subscription = both,
ask = none,
groups = GroupNames} ||
{{U1, S1}, GroupNames} <- dict:to_list(SRUsersRest)],
SRItems ++ NewItems1.
%% This function in use to rewrite the roster entries when moving or renaming
%% them in the user contact list.
process_item(RosterItem, _Host) ->
USFrom = RosterItem#roster.us,
{User,Server,_Resource} = RosterItem#roster.jid,
USTo = {User,Server},
Map = get_user_to_groups_map(USFrom, false),
case dict:find(USTo, Map) of
error ->
RosterItem;
{ok, []} ->
RosterItem;
{ok, GroupNames} when RosterItem#roster.subscription == remove ->
%% Roster item cannot be removed:
%% We simply reset the original groups:
RosterItem#roster{subscription = both, ask = none,
groups=GroupNames};
_ ->
RosterItem#roster{subscription = both, ask = none}
end.
get_subscription_lists({F, T}, User, Server) ->
LUser = jlib:nodeprep(User),
LServer = jlib:nameprep(Server),
US = {LUser, LServer},
DisplayedGroups = get_user_displayed_groups(US),
SRUsers =
lists:usort(
lists:flatmap(
fun(Group) ->
get_group_users(LServer, Group)
end, DisplayedGroups)),
SRJIDs = [{U1, S1, ""} || {U1, S1} <- SRUsers],
{lists:usort(SRJIDs ++ F), lists:usort(SRJIDs ++ T)}.
get_jid_info({Subscription, Groups}, User, Server, JID) ->
LUser = jlib:nodeprep(User),
LServer = jlib:nameprep(Server),
US = {LUser, LServer},
{U1, S1, _} = jlib:jid_tolower(JID),
US1 = {U1, S1},
SRUsers = get_user_to_groups_map(US, false),
case dict:find(US1, SRUsers) of
{ok, GroupNames} ->
NewGroups = if
Groups == [] -> GroupNames;
true -> Groups
end,
{both, NewGroups};
error ->
{Subscription, Groups}
end.
in_subscription(Acc, User, Server, JID, Type, _Reason) ->
process_subscription(in, User, Server, JID, Type, Acc).
out_subscription(User, Server, JID, Type) ->
process_subscription(out, User, Server, JID, Type, false).
process_subscription(Direction, User, Server, JID, _Type, Acc) ->
LUser = jlib:nodeprep(User),
LServer = jlib:nameprep(Server),
US = {LUser, LServer},
{U1, S1, _} = jlib:jid_tolower(jlib:jid_remove_resource(JID)),
US1 = {U1, S1},
DisplayedGroups = get_user_displayed_groups(US),
SRUsers =
lists:usort(
lists:flatmap(
fun(Group) ->
get_group_users(LServer, Group)
end, DisplayedGroups)),
case lists:member(US1, SRUsers) of
true ->
case Direction of
in ->
{stop, false};
out ->
stop
end;
false ->
Acc
end.
%%====================================================================
%% gen_server callbacks
%%====================================================================
init([Host, Opts]) ->
State = parse_options(Host, Opts),
cache_tab:new(shared_roster_ldap_user,
[{max_size, State#state.user_cache_size},
{lru, false}, % We don't need LRU algorithm
{life_time, State#state.user_cache_validity}]),
cache_tab:new(shared_roster_ldap_group,
[{max_size, State#state.group_cache_size},
{lru, false}, % We don't need LRU algorithm
{life_time, State#state.group_cache_validity}]),
ejabberd_hooks:add(roster_get, Host,
?MODULE, get_user_roster, 70),
ejabberd_hooks:add(roster_in_subscription, Host,
?MODULE, in_subscription, 30),
ejabberd_hooks:add(roster_out_subscription, Host,
?MODULE, out_subscription, 30),
ejabberd_hooks:add(roster_get_subscription_lists, Host,
?MODULE, get_subscription_lists, 70),
ejabberd_hooks:add(roster_get_jid_info, Host,
?MODULE, get_jid_info, 70),
ejabberd_hooks:add(roster_process_item, Host,
?MODULE, process_item, 50),
eldap_pool:start_link(State#state.eldap_id,
State#state.servers,
State#state.backups,
State#state.port,
State#state.dn,
State#state.password,
State#state.tls_options),
{ok, State}.
handle_call(get_state, _From, State) ->
{reply, {ok, State}, State};
handle_call(_Request, _From, State) ->
{reply, {error, badarg}, State}.
handle_cast(_Msg, State) ->
{noreply, State}.
handle_info(_Info, State) ->
{noreply, State}.
terminate(_Reason, State) ->
Host = State#state.host,
ejabberd_hooks:delete(roster_get, Host,
?MODULE, get_user_roster, 70),
ejabberd_hooks:delete(roster_in_subscription, Host,
?MODULE, in_subscription, 30),
ejabberd_hooks:delete(roster_out_subscription, Host,
?MODULE, out_subscription, 30),
ejabberd_hooks:delete(roster_get_subscription_lists, Host,
?MODULE, get_subscription_lists, 70),
ejabberd_hooks:delete(roster_get_jid_info, Host,
?MODULE, get_jid_info, 70),
ejabberd_hooks:delete(roster_process_item, Host,
?MODULE, process_item, 50).
code_change(_OldVsn, State, _Extra) ->
{ok, State}.
%%--------------------------------------------------------------------
%%% Internal functions
%%--------------------------------------------------------------------
%% For a given user, map all his shared roster contacts to groups they are
%% members of. Skip the user himself iff SkipUS is true.
get_user_to_groups_map({_, Server} = US, SkipUS) ->
DisplayedGroups = get_user_displayed_groups(US),
lists:foldl(
fun(Group, Dict1) ->
GroupName = get_group_name(Server, Group),
lists:foldl(
fun(Contact, Dict) ->
if SkipUS, Contact == US ->
Dict;
true ->
dict:append(Contact, GroupName, Dict)
end
end, Dict1, get_group_users(Server, Group))
end, dict:new(), DisplayedGroups).
%% Pass given FilterParseArgs to eldap_filter:parse, and if successful, run and
%% return the resulting filter, retrieving given AttributesList. Return the
%% result entries. On any error silently return an empty list of results.
%%
%% Eldap server ID and base DN for the query are both retrieved from the State
%% record.
eldap_search(State, FilterParseArgs, AttributesList) ->
case apply(eldap_filter, parse, FilterParseArgs) of
{ok, EldapFilter} ->
%% Filter parsing succeeded
case eldap_pool:search(State#state.eldap_id,
[{base, State#state.base},
{filter, EldapFilter},
{timeout, ?LDAP_SEARCH_TIMEOUT},
{attributes, AttributesList}]) of
#eldap_search_result{entries = Es} ->
%% A result with entries. Return their list.
Es;
_ ->
%% Something else. Pretend we got no results.
[]
end;
_ ->
%% Filter parsing failed. Pretend we got no results.
[]
end.
get_user_displayed_groups({_User, Host}) ->
{ok, State} = eldap_utils:get_state(Host, ?MODULE),
GroupAttr = State#state.group_attr,
Entries = eldap_search(State, [State#state.rfilter], [GroupAttr]),
Reply = lists:flatmap(
fun(#eldap_entry{attributes = Attrs}) ->
case Attrs of
[{GroupAttr, ValuesList}] ->
ValuesList;
_ ->
[]
end
end, Entries),
lists:usort(Reply).
get_group_users(Host, Group) ->
{ok, State} = eldap_utils:get_state(Host, ?MODULE),
case cache_tab:dirty_lookup(
shared_roster_ldap_group,
{Group, Host},
fun() -> search_group_info(State, Group) end) of
{ok, #group_info{members = Members}} when Members /= undefined ->
Members;
_ ->
[]
end.
get_group_name(Host, Group) ->
{ok, State} = eldap_utils:get_state(Host, ?MODULE),
case cache_tab:dirty_lookup(
shared_roster_ldap_group,
{Group, Host},
fun() -> search_group_info(State, Group) end) of
{ok, #group_info{desc = GroupName}} when GroupName /= undefined ->
GroupName;
_ ->
Group
end.
get_user_name(User, Host) ->
{ok, State} = eldap_utils:get_state(Host, ?MODULE),
case cache_tab:dirty_lookup(
shared_roster_ldap_user,
{User, Host},
fun() -> search_user_name(State, User) end) of
{ok, UserName} ->
UserName;
error ->
User
end.
search_group_info(State, Group) ->
Extractor =
case State#state.uid_format_re of
"" ->
fun(UID) ->
catch eldap_utils:get_user_part(UID, State#state.uid_format)
end;
_ ->
fun(UID) ->
catch get_user_part_re(UID, State#state.uid_format_re)
end
end,
AuthChecker = case State#state.auth_check of
true -> fun ejabberd_auth:is_user_exists/2;
_ -> fun(_U, _S) -> true end
end,
Host = State#state.host,
case eldap_search(
State,
[eldap_filter:do_sub(State#state.gfilter, [{"%g", Group}])],
[State#state.group_attr, State#state.group_desc, State#state.uid]) of
[] ->
error;
LDAPEntries ->
{GroupDesc, MembersLists} =
lists:foldl(
fun(#eldap_entry{attributes=Attrs}, {DescAcc, JIDsAcc}) ->
case {eldap_utils:get_ldap_attr(State#state.group_attr, Attrs),
eldap_utils:get_ldap_attr(State#state.group_desc, Attrs),
lists:keysearch(State#state.uid, 1, Attrs)} of
{ID, Desc, {value, {GroupMemberAttr, Members}}}
when ID /= "", GroupMemberAttr == State#state.uid ->
JIDs = lists:foldl(
fun({ok, UID}, L) ->
PUID = jlib:nodeprep(UID),
case PUID of
error -> L;
_ ->
case AuthChecker(PUID, Host) of
true -> [{PUID, Host} | L];
_ -> L
end
end;
(_, L) ->
L
end, [], lists:map(Extractor, Members)),
{Desc, [JIDs|JIDsAcc]};
_ ->
{DescAcc, JIDsAcc}
end
end, {Group, []}, LDAPEntries),
{ok, #group_info{desc = GroupDesc,
members = lists:usort(lists:flatten(MembersLists))}}
end.
search_user_name(State, User) ->
case eldap_search(
State,
[eldap_filter:do_sub(State#state.ufilter, [{"%u", User}])],
[State#state.user_desc, State#state.user_uid]) of
[#eldap_entry{attributes=Attrs}|_] ->
case {eldap_utils:get_ldap_attr(State#state.user_uid, Attrs),
eldap_utils:get_ldap_attr(State#state.user_desc, Attrs)} of
{UID, Desc} when UID /= "" ->
%% By returning "" get_ldap_attr means "not found"
{ok, Desc};
_ ->
error
end;
[] ->
error
end.
%% Getting User ID part by regex pattern
get_user_part_re(String, Pattern) ->
case catch re:run(String, Pattern) of
{match, Captured} ->
{First, Len} = lists:nth(2,Captured),
Result = string:sub_string(String, First+1, First+Len),
{ok,Result};
_ -> {error, badmatch}
end.
parse_options(Host, Opts) ->
Eldap_ID = atom_to_list(gen_mod:get_module_proc(Host, ?MODULE)),
LDAPServers = case gen_mod:get_opt(ldap_servers, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_servers, Host});
S -> S
end,
LDAPBackups = case gen_mod:get_opt(ldap_backups, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_servers, Host});
Backups -> Backups
end,
LDAPEncrypt = case gen_mod:get_opt(ldap_encrypt, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_encrypt, Host});
E -> E
end,
LDAPTLSVerify = case gen_mod:get_opt(ldap_tls_verify, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_tls_verify, Host});
Verify -> Verify
end,
LDAPPort = case gen_mod:get_opt(ldap_port, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_port, Host}) of
undefined -> case LDAPEncrypt of
tls -> ?LDAPS_PORT;
starttls -> ?LDAP_PORT;
_ -> ?LDAP_PORT
end;
P -> P
end;
P -> P
end,
LDAPBase = case gen_mod:get_opt(ldap_base, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_base, Host});
B -> B
end,
GroupAttr = case gen_mod:get_opt(ldap_groupattr, Opts, undefined) of
undefined -> "cn";
GA -> GA
end,
GroupDesc = case gen_mod:get_opt(ldap_groupdesc, Opts, undefined) of
undefined -> GroupAttr;
GD -> GD
end,
UserDesc = case gen_mod:get_opt(ldap_userdesc, Opts, undefined) of
undefined -> "cn";
UD -> UD
end,
UserUID = case gen_mod:get_opt(ldap_useruid, Opts, undefined) of
undefined -> "cn";
UU -> UU
end,
UIDAttr = case gen_mod:get_opt(ldap_memberattr, Opts, undefined) of
undefined -> "memberUid";
UA -> UA
end,
UIDAttrFormat = case gen_mod:get_opt(ldap_memberattr_format, Opts, undefined) of
undefined -> "%u";
UAF -> UAF
end,
UIDAttrFormatRe =
case gen_mod:get_opt(ldap_memberattr_format_re, Opts, undefined) of
undefined -> "";
UAFre -> case catch re:compile(UAFre) of
{ok, MP} ->
MP;
_ ->
?ERROR_MSG("Invalid ldap_memberattr_format_re '~s' "
"or no RE support in this erlang version. "
"ldap_memberattr_format '~s' will be used "
"instead.", [UAFre, UIDAttrFormat]),
""
end
end,
AuthCheck = case gen_mod:get_opt(ldap_auth_check, Opts, undefined) of
undefined -> true;
on -> true;
AC -> AC
end,
RootDN = case gen_mod:get_opt(ldap_rootdn, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_rootdn, Host}) of
undefined -> "";
RDN -> RDN
end;
RDN -> RDN
end,
Password = case gen_mod:get_opt(ldap_password, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_password, Host}) of
undefined -> "";
Pass -> Pass
end;
Pass -> Pass
end,
UserCacheValidity =
case gen_mod:get_opt(ldap_user_cache_validity, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_user_cache_validity, Host}) of
undefined -> ?USER_CACHE_VALIDITY;
UVSeconds -> UVSeconds
end;
UVSeconds -> UVSeconds
end,
GroupCacheValidity =
case gen_mod:get_opt(ldap_group_cache_validity, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_group_cache_validity, Host}) of
undefined -> ?GROUP_CACHE_VALIDITY;
GVSeconds -> GVSeconds
end;
GVSeconds -> GVSeconds
end,
UserCacheSize =
case gen_mod:get_opt(ldap_user_cache_size, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_user_cache_size, Host}) of
undefined -> ?CACHE_SIZE;
USSeconds -> USSeconds
end;
USSeconds -> USSeconds
end,
GroupCacheSize =
case gen_mod:get_opt(ldap_group_cache_size, Opts, undefined) of
undefined ->
case ejabberd_config:get_local_option({ldap_group_cache_size, Host}) of
undefined -> ?CACHE_SIZE;
GSSeconds -> GSSeconds
end;
GSSeconds -> GSSeconds
end,
ConfigFilter = case gen_mod:get_opt(ldap_filter, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_filter, Host});
F ->
F
end,
ConfigUserFilter = case gen_mod:get_opt(ldap_ufilter, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_ufilter, Host});
UF -> UF
end,
ConfigGroupFilter = case gen_mod:get_opt(ldap_gfilter, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_gfilter, Host});
GF -> GF
end,
RosterFilter = case gen_mod:get_opt(ldap_rfilter, Opts, undefined) of
undefined ->
ejabberd_config:get_local_option({ldap_rfilter, Host});
RF ->
RF
end,
SubFilter = "(&("++UIDAttr++"="++UIDAttrFormat++")("++GroupAttr++"=%g))",
UserSubFilter = case ConfigUserFilter of
undefined -> eldap_filter:do_sub(SubFilter, [{"%g", "*"}]);
"" -> eldap_filter:do_sub(SubFilter, [{"%g", "*"}]);
UString -> UString
end,
GroupSubFilter = case ConfigGroupFilter of
undefined -> eldap_filter:do_sub(SubFilter, [{"%u", "*"}]);
"" -> eldap_filter:do_sub(SubFilter, [{"%u", "*"}]);
GString -> GString
end,
Filter = case ConfigFilter of
undefined -> SubFilter;
"" -> SubFilter;
_ -> "(&" ++ SubFilter ++ ConfigFilter ++ ")"
end,
UserFilter = case ConfigFilter of
undefined -> UserSubFilter;
"" -> UserSubFilter;
_ -> "(&" ++ UserSubFilter ++ ConfigFilter ++ ")"
end,
GroupFilter = case ConfigFilter of
undefined -> GroupSubFilter;
"" -> GroupSubFilter;
_ -> "(&" ++ GroupSubFilter ++ ConfigFilter ++ ")"
end,
#state{host = Host,
eldap_id = Eldap_ID,
servers = LDAPServers,
backups = LDAPBackups,
port = LDAPPort,
tls_options = [{encrypt, LDAPEncrypt},
{tls_verify, LDAPTLSVerify}],
dn = RootDN,
base = LDAPBase,
password = Password,
uid = UIDAttr,
group_attr = GroupAttr,
group_desc = GroupDesc,
user_desc = UserDesc,
user_uid = UserUID,
uid_format = UIDAttrFormat,
uid_format_re = UIDAttrFormatRe,
filter = Filter,
ufilter = UserFilter,
rfilter = RosterFilter,
gfilter = GroupFilter,
auth_check = AuthCheck,
user_cache_size = UserCacheSize,
user_cache_validity = UserCacheValidity,
group_cache_size = GroupCacheSize,
group_cache_validity = GroupCacheValidity}.

View File

@ -76,14 +76,8 @@ process_local_iq(_From, _To, #iq{type = Type, sub_el = SubEl} = IQ) ->
{UTC, UTC_diff} = jlib:timestamp_to_iso(Now_universal, utc),
Seconds_diff = calendar:datetime_to_gregorian_seconds(Now_local)
- calendar:datetime_to_gregorian_seconds(Now_universal),
{Hd, Md, _} = case Seconds_diff >= 0 of
true ->
calendar:seconds_to_time(Seconds_diff);
false ->
{Hd0, Md0, Sd0} = calendar:seconds_to_time(-Seconds_diff),
{-Hd0, Md0, Sd0}
end,
{_, TZO_diff} = jlib:timestamp_to_iso({{0, 0, 0}, {0, 0, 0}}, {Hd, Md}),
{Hd, Md, _} = calendar:seconds_to_time(abs(Seconds_diff)),
{_, TZO_diff} = jlib:timestamp_to_iso({{0, 0, 0}, {0, 0, 0}}, {sign(Seconds_diff), {Hd, Md}}),
IQ#iq{type = result,
sub_el = [{xmlelement, "time",
[{"xmlns", ?NS_TIME}],
@ -93,4 +87,5 @@ process_local_iq(_From, _To, #iq{type = Type, sub_el = SubEl} = IQ) ->
[{xmlcdata, UTC ++ UTC_diff}]}]}]}
end.
sign(N) when N < 0 -> "-";
sign(_) -> "+".

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","Deus d'omplir el camp \"Nickname\" al formulari"}.
{"You need an x:data capable client to configure mod_irc settings","Necessites un client amb suport x:data per a configurar les opcions de mod_irc"}.
{"You need an x:data capable client to configure room","Necessites un client amb suport x:data per a configurar la sala"}.
{"You need an x:data capable client to register nickname","Necessites un client amb suport x:data per a poder registrar el Nickname"}.
{"You need an x:data capable client to search","Necesites un client amb suport x:data per a poder buscar"}.
{"Your contact offline message queue is full. The message has been discarded.","La cua de missatges offline és plena. El missatge ha sigut descartat"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Els teus missatges per ~s s'estan bloquejant. Per desbloquejar-los, visita ~s"}.

View File

@ -8,28 +8,40 @@ msgstr ""
"X-Language: Catalan (català)\n"
"X-Additional-Translator: Vicent Alberola Canet\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "És obligatori utilitzar STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Recurs no disponible"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Reemplaçat per una nova connexió"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Introdueix el textque veus"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Els teus missatges per ~s s'estan bloquejant. Per desbloquejar-los, visita ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "El captcha es vàlid."
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "ID Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Password"
@ -434,17 +446,17 @@ msgstr "Transport a IRC"
msgid "ejabberd IRC module"
msgstr "mòdul ejabberd IRC"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Necessites un client amb suport x:data per a configurar les opcions de "
"mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registre en mod_irc per a"
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -452,11 +464,11 @@ msgstr ""
"Introdueix el nom d'usuari, les codificacions de caràcters, els ports i "
"contrassenyes per a utilitzar al connectar als servidors de IRC "
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nom d'usuari al IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -468,7 +480,7 @@ msgstr ""
"\"codificació\", port, \"contrassenya\"}'. Aquest servei utilitza per "
"defecte la codificació \"~s\", port ~p, no contrassenya."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -476,35 +488,35 @@ msgstr ""
"Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Paràmetres de connexió"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Entra a canal d'IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Canal d'IRC (no posis la primera #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Servidor d'IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Entra al canal d'IRC aquí."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra al canal d'IRC en aquesta Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Configuració d'IRC."
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -514,23 +526,23 @@ msgstr ""
"als servidors de IRC. Apreta \"Seguent\" per veure més caps per omplir. "
"Apreta \"Completar\" per guardar la configuració. "
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nom d'usuari al IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Password ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Codificació pel servidor ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Servidor ~b"
@ -553,7 +565,8 @@ msgid "Chatrooms"
msgstr "Sales de xat"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Necessites un client amb suport x:data per a poder registrar el Nickname"
@ -571,8 +584,8 @@ msgstr "Introdueix el nickname que vols registrar"
msgid "Nickname"
msgstr "Nickname"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "El nickname ja està registrat per una altra persona"
@ -621,7 +634,7 @@ msgid "is now known as"
msgstr "ara es conegut com"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " ha posat l'assumpte: "
@ -725,10 +738,6 @@ msgstr "Configuració de la sala"
msgid "Room Occupants"
msgstr "Nombre d'ocupants"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Títol de la sala"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "El llímit de tràfic ha sigut sobrepassat"
@ -764,8 +773,8 @@ msgstr "No està permés enviar missatges del tipus \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "El receptor no està en la sala de conferència"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sols els ocupants poden enviar missatges a la sala"
@ -781,210 +790,214 @@ msgstr "Sols els ocupants poden enviar solicituts a la sala"
msgid "Queries to the conference members are not allowed in this room"
msgstr " En aquesta sala no es permeten solicituts als membres de la sala"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Només els moderadors i participants poden canviar l'assumpte d'aquesta sala"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Només els moderadors poden canviar l'assumpte d'aquesta sala"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Els visitants no poden enviar missatges a tots els ocupants"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Aquest participant ha sigut expulsat de la sala perque ha enviat un error de "
"presencia"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Els visitants no tenen permés canviar el seus Nicknames en esta sala"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "El Nickname està siguent utilitzat per una altra persona"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Has sigut bloquejat en aquesta sala"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Necessites ser membre d'aquesta sala per a poder entrar"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Aquesta sala no és anònima"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Es necessita password per a entrar en aquesta sala"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "No s'ha pogut generar un captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Password incorrecte"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Es necessita tenir privilegis d'administrador"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Es necessita tenir privilegis de moderador"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no és vàlid"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "El Nickname ~s no existeix a la sala"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Afiliació invàlida: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Rol invàlid: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Es requerixen privilegis de propietari de la sala"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Configuració de la sala ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Títol de la sala"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Descripció de la sala:"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Crear una sala persistent"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Crear una sala pública"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Crear una llista de participants pública"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Crear una sala amb password"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Número màxim d'ocupants"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Sense Llímit"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Presentar Jabber ID's reals a"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "només moderadors"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "qualsevol"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Crear una sala de \"només membres\""
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Crear una sala moderada"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Els usuaris són participants per defecte"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Permetre que els usuaris canviin el tema"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Permetre que els usuaris envien missatges privats"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Permetre que els usuaris fagen peticions a altres usuaris"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Permetre que els usuaris envien invitacions"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permetre als visitants enviar text d'estat en les actualitzacions de "
"presència"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Permetre als visitants canviar el Nickname"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Crear una sala protegida per captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Habilitar el registre de la conversa"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Necessites un client amb suport x:data per a configurar la sala"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Número d'ocupants"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privat"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s et convida a la sala ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "el password és"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "La cua de missatges offline és plena. El missatge ha sigut descartat"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's cua de missatges offline"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1006,20 +1019,20 @@ msgstr "De"
msgid "To"
msgstr "Per a"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paquet"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar els seleccionats"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Missatges fora de línia:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Eliminar tots els missatges offline"
@ -1027,111 +1040,136 @@ msgstr "Eliminar tots els missatges offline"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "mòdul ejabberd SOCKS5 Bytestreams"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publicar-subscriure't"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Mòdul ejannerd Publicar-Subscriure"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Petició de subscriptor PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Tria si aprova aquesta entitat de subscripció"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID del Node"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adreça del Subscriptor"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads junt a les notificacions d'events"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Entrega de notificacions d'events"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptors quan canvia la configuració del node"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptors quan el node és eliminat"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptors quan els elements són eliminats del node"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Persistir elements al guardar"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Un nom per al node"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Màxim # d'elements que persistixen"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Permetre subscripcions"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Especificar el model d'accés"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Llista de grups que tenen permés subscriures"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Especificar el model del publicant"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Eliminar tots els elements quan el publicant relevant es desconnecti"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Especifica el tipus de missatge d'event"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Màxim tamany del payload en bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Quan s'ha enviat l'última publicació"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Sols enviar notificacions als usuaris disponibles"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Les col.leccions amb les que un node està afiliat"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Necessites un client amb suport x:data per a poder registrar el Nickname"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Tria nom d'usuari i password per a registrar-te en aquest servidor"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuari"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "No s'ha pogut generar un captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "el password és"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Els usuaris no tenen permís per a crear comptes tan depresa"
@ -1165,13 +1203,13 @@ msgstr "Borrar"
msgid "Roster of "
msgstr "Llista de contactes de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Format erroni"
@ -1183,37 +1221,37 @@ msgstr "Afegir Jabber ID"
msgid "Roster"
msgstr "Llista de contactes"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Grups de contactes compartits"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Afegir nou"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nom:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Descripció:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Membre:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Mostrar grups:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grup "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1285,11 +1323,6 @@ msgstr "Unitat de la organizació"
msgid "Search users in "
msgstr "Cerca usuaris en "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuari"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesites un client amb suport x:data per a poder buscar"
@ -1412,7 +1445,9 @@ msgstr "Connexions d'eixida s2s"
msgid "Outgoing s2s Servers:"
msgstr "Servidors d'eixida de s2s"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Canviar password"
@ -1424,7 +1459,8 @@ msgstr "Usuari "
msgid "Connected Resources:"
msgstr "Recursos connectats:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Password:"
@ -1634,3 +1670,123 @@ msgstr "Eliminar"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Nom d'usuari al IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Servidor ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Verificació del Password"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Llista de contactes"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Password:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Password:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "El captcha es vàlid."

View File

@ -33,8 +33,10 @@
{"Backup","Zálohovat"}.
{"Bad format","Nesprávný formát"}.
{"Birthday","Datum narození"}.
{"CAPTCHA web page","Webová stránka CAPTCHA"}.
{"Change Password","Změnit heslo"}.
{"Change User Password","Změnit heslo uživatele"}.
{"Characters not allowed:","Nepřípustné znaky:"}.
{"Chatroom configuration modified","Nastavení diskuzní místnosti bylo změněno"}.
{"Chatroom is created","Konference vytvořena"}.
{"Chatroom is destroyed","Konference zrušena"}.
@ -69,6 +71,7 @@
{"Description:","Popis:"}.
{"Disc only copy","Jen kopie disku"}.
{"Displayed Groups:","Zobrazené skupiny:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Nikdy nikomu nesdělujte své heslo, ani administrátorovi serveru Jabberu."}.
{"Dump Backup to Text File at ","Uložit zálohu do textového souboru na "}.
{"Dump to Text File","Uložit do textového souboru"}.
{"Edit Properties","Upravit vlastnosti"}.
@ -120,6 +123,7 @@
{"has been kicked","byl(a) vyhozen(a) z místnosti"}.
{" has set the subject to: "," změnil(a) téma na: "}.
{"Host","Hostitel"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Pokud zde nevidíte obrázek CAPTCHE, přejděte na webovou stránku."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Pokud chcete zadat jiné kódování pro IRC servery, vyplňte seznam s hodnotami ve formátu '{\"irc server\",\"encoding\", port, \"password\"}'. Výchozí kódování pro tuto službu je \"~s\", port ~p, empty password."}.
{"Import Directory","Import adresáře"}.
{"Import File","Import souboru"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages","Je zakázáno posílat soukromé zprávy"}.
{"It is not allowed to send private messages of type \"groupchat\"","Není dovoleno odeslání soukromé zprávy typu \"skupinová zpráva\" "}.
{"It is not allowed to send private messages to the conference","Není povoleno odesílat soukromé zprávy do konference"}.
{"Jabber Account Registration","Registrace účtu Jabberu"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s je neplatné"}.
{"January",". ledna"}.
@ -177,6 +182,7 @@
{"May",". května"}.
{"Members:","Členové:"}.
{"Membership is required to enter this room","Pro vstup do místnosti musíte být členem"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Svoje heslo si zapamatujte, nebo si jej poznamenejte na papírek a ten uschovejte v bezpečí. Jabber nemá žádný automatizovaný způsob obnovy hesla."}.
{"Memory","Paměť"}.
{"Message body","Tělo zprávy"}.
{"Middle Name","Druhé jméno"}.
@ -190,6 +196,7 @@
{"Name:","Jméno:"}.
{"Name","Jméno"}.
{"Never","Nikdy"}.
{"New Password:","Nové heslo:"}.
{"Nickname","Přezdívka"}.
{"Nickname Registration at ","Registrace přezdívky na "}.
{"Nickname ~s does not exist in the room","Přezdívka ~s v místnosti neexistuje"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Offline zprávy:"}.
{"Offline Messages","Offline zprávy"}.
{"OK","OK"}.
{"Old Password:","Současné heslo:"}.
{"Online","Online"}.
{"Online Users:","Online uživatelé:"}.
{"Online Users","Online uživatelé"}.
@ -234,6 +242,7 @@
{"Password ~b","Heslo ~b"}.
{"Password:","Heslo:"}.
{"Password","Heslo"}.
{"Password Verification:","Ověření hesla:"}.
{"Password Verification","Ověření hesla"}.
{"Path to Dir","Cesta k adresáři"}.
{"Path to File","Cesta k souboru"}.
@ -257,8 +266,10 @@
{"Raw","Zdroj"}.
{"Really delete message of the day?","Skutečně smazat zprávu dne?"}.
{"Recipient is not in the conference room","Příjemce se nenachází v konferenční místnosti"}.
{"Register a Jabber account","Zaregistrujte si účet Jabberu"}.
{"Registered Users","Registrovaní uživatelé"}.
{"Registered Users:","Registrovaní živatelé:"}.
{"Register","Zaregistrovat se"}.
{"Registration in mod_irc for ","Registrace do mod_irc na "}.
{"Remote copy","Vzdálená kopie"}.
{"Remove All Offline Messages","Odstranit všechny offline zprávy"}.
@ -295,6 +306,7 @@
{"Send announcement to all users on all hosts","Odeslat oznámení všem uživatelům na všech hostitelích"}.
{"September",". září"}.
{"Server ~b","Server ~b"}.
{"Server:","Server:"}.
{"Set message of the day and send to online users","Nastavit zprávu dne a odeslat ji online uživatelům"}.
{"Set message of the day on all hosts and send to online users","Nastavit zprávu dne a odeslat ji online uživatelům"}.
{"Shared Roster Groups","Skupiny pro sdílený seznam kontaktů"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Zobrazit běžnou tabulku"}.
{"Shut Down Service","Vypnout službu"}.
{"~s invites you to the room ~s","~s vás zve do místnosti ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Někteří klienti umí uložit vaše heslo na disk počítače. Tuto funkci používejte, pouze pokud věříte zabezpečení svého počítače."}.
{"Specify the access model","Uveďte přístupový model"}.
{"Specify the event message type","Zvolte typ zpráv pro události"}.
{"Specify the publisher model","Specifikovat model pro publikování"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Přezdívka je již používána jiným členem"}.
{"That nickname is registered by another person","Přezdívka je zaregistrována jinou osobou"}.
{"The captcha is valid.","CAPTCHA souhlasí."}.
{"The CAPTCHA verification has failed","Ověření CAPTCHA se nezdařilo"}.
{"The collections with which a node is affiliated","Kolekce, se kterými je uzel spřízněn"}.
{"the password is","heslo je"}.
{"The password is too weak","Heslo je příliš slabé"}.
{"The password of your Jabber account was successfully changed.","Heslo vašeho účtu Jabberu bylo úspěšně změněno."}.
{"There was an error changing the password: ","Při změně hesla došlo k chybě: "}.
{"There was an error creating the account: ","Při vytváření účtu došlo k chybě."}.
{"There was an error deleting the account: ","Při mazání účtu došlo k chybě: "}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Zde nezáleží na velikosti písmen: macbeth je stejný jako MacBeth a Macbeth."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Na této stránce si můžete vytvořit účet na tomto serveru Jabberu. Vaše JID (Jabber IDentifikátor) bude mít tvar: uživatelskéjméno@server. Přečtěte si prosím pozorně instrukce pro vyplnění údajů."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Zde můžete zrušit registraci účtu na tomto serveru Jabberu."}.
{"This participant is kicked from the room because he sent an error message","Tento účastník byl vyhozen, protože odeslal chybovou zprávu"}.
{"This participant is kicked from the room because he sent an error message to another participant","Tento účastník byl vyhozen, protože odeslal chybovou zprávu jinému účastníkovi"}.
{"This participant is kicked from the room because he sent an error presence","Tento účastník byl vyhozen, protože odeslal chybový status"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Transakce restartována"}.
{"Tuesday","Úterý"}.
{"Unable to generate a captcha","Nebylo možné vygenerovat CAPTCHA"}.
{"Unable to generate a CAPTCHA","Nebylo možné vygenerovat CAPTCHA"}.
{"Unauthorized","Nemáte oprávnění"}.
{"Unregister a Jabber account","Zrušte registraci účtu Jabberu"}.
{"Unregister","Zrušit registraci"}.
{"Update ","Aktualizovat "}.
{"Update","Aktualizovat"}.
{"Update message of the day (don't send)","Aktualizovat zprávu dne (neodesílat)"}.
@ -355,6 +380,7 @@
{"Uptime:","Čas běhu:"}.
{"Use of STARTTLS required","Je vyžadováno STARTTLS."}.
{"User Management","Správa uživatelů"}.
{"Username:","Uživatelské jméno:"}.
{"Users are not allowed to register accounts so quickly","Je zakázáno registrovat účty v tak rychlém sledu"}.
{"Users Last Activity","Poslední aktivita uživatele"}.
{"Users","Uživatelé"}.
@ -367,11 +393,16 @@
{"Wednesday","Středa"}.
{"When to send the last published item","Kdy odeslat poslední publikovanou položku"}.
{"Whether to allow subscriptions","Povolit odebírání"}.
{"You can later change your password using a Jabber client.","Později můžete své heslo změnit pomocí klienta Jabberu."}.
{"You have been banned from this room","Byl jste vyloučen z této místnosti"}.
{"You must fill in field \"Nickname\" in the form","Musíte vyplnit políčko \"Přezdívka\" ve formuláři"}.
{"You need a client that supports x:data and CAPTCHA to register","Pro registraci potřebujete klienta s podporou x:data a CAPTCHA"}.
{"You need a client that supports x:data to register the nickname","Pro registraci přezdívky potřebujete klienta s podporou x:data"}.
{"You need an x:data capable client to configure mod_irc settings","Pro konfiguraci mod_irc potřebujete klienta s podporou x:data"}.
{"You need an x:data capable client to configure room","Ke konfiguraci místnosti potřebujete klienta podporujícího x:data"}.
{"You need an x:data capable client to register nickname","K registraci přezdívky potřebujete klienta s podporou x:data"}.
{"You need an x:data capable client to search","K vyhledávání potřebujete klienta podporujícího x:data"}.
{"Your active privacy list has denied the routing of this stanza.","Vaše nastavení soukromí znemožnilo směrování této stance."}.
{"Your contact offline message queue is full. The message has been discarded.","Fronta offline zpráv pro váš kontakt je plná. Zpráva byla zahozena."}.
{"Your Jabber account was successfully created.","Váš účet Jabberu byl úspěšně vytvořen."}.
{"Your Jabber account was successfully deleted.","Váš účet Jabberu byl úspěšně smazán."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Nesmíte posílat zprávy na ~s. Pro povolení navštivte ~s"}.

View File

@ -8,27 +8,39 @@ msgstr ""
"X-Language: Czech (čeština)\n"
"X-Additional-Translator: Milos Svasek [DuxforD] from openheads.net\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Je vyžadováno STARTTLS."
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Nebyl poskytnut žádný zdroj"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Nahrazeno novým spojením"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "Vaše nastavení soukromí znemožnilo směrování této stance."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Zadejte text, který vidíte"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Nesmíte posílat zprávy na ~s. Pro povolení navštivte ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Pokud zde nevidíte obrázek CAPTCHE, přejděte na webovou stránku."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Webová stránka CAPTCHA"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "CAPTCHA souhlasí."
@ -360,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Heslo"
@ -431,15 +443,15 @@ msgstr "IRC transport"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Pro konfiguraci mod_irc potřebujete klienta s podporou x:data"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registrace do mod_irc na "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -447,11 +459,11 @@ msgstr ""
"Zadejte přezdívku, kódování, porty a hesla, které chcete používat pro "
"připojení k serverům IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC přezdívka"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -462,7 +474,7 @@ msgstr ""
"ve formátu '{\"irc server\",\"encoding\", port, \"password\"}'. Výchozí "
"kódování pro tuto službu je \"~s\", port ~p, empty password."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -470,35 +482,35 @@ msgstr ""
"Příklad: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].2\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parametry spojení"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Vstoupit do IRC kanálu"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanál (bez počátečního #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC přezdívka"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Vstoupit do tohoto IRC kanálu."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Vstupte do IRC kanálu s tímto Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Nastavení IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -508,23 +520,23 @@ msgstr ""
"IRC. Stiskněte 'Další' pro více políček k vyplnění. Stiskněte 'Dokončit' pro "
"uložení nastavení."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC přezdívka"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Heslo ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Kódování pro server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -545,8 +557,8 @@ msgid "Chatrooms"
msgstr "Konference"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "K registraci přezdívky potřebujete klienta s podporou x:data"
msgid "You need a client that supports x:data to register the nickname"
msgstr "Pro registraci přezdívky potřebujete klienta s podporou x:data"
#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
@ -562,8 +574,8 @@ msgstr "Zadejte přezdívku, kterou chcete zaregistrovat"
msgid "Nickname"
msgstr "Přezdívka"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Přezdívka je zaregistrována jinou osobou"
@ -612,7 +624,7 @@ msgid "is now known as"
msgstr "se přejmenoval(a) na"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " změnil(a) téma na: "
@ -716,10 +728,6 @@ msgstr "Nastavení místnosti"
msgid "Room Occupants"
msgstr "Počet účastníků"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Název místnosti"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Byl překročen limit"
@ -753,8 +761,8 @@ msgstr "Není dovoleno odeslání soukromé zprávy typu \"skupinová zpráva\"
msgid "Recipient is not in the conference room"
msgstr "Příjemce se nenachází v konferenční místnosti"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Jen členové mají povolené zasílat zprávy do konference"
@ -771,205 +779,209 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Požadavky (queries) na členy konference nejsou v této místnosti povolené"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Jen moderátoři a účastníci mají povoleno měnit téma této místnosti"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Jen moderátoři mají povoleno měnit téma místnosti"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Návštevníci nemají povoleno zasílat zprávy všem účastníkům konference"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "Tento účastník byl vyhozen, protože odeslal chybový status"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Návštěvníkům této místnosti je zakázáno měnit přezdívku"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Přezdívka je již používána jiným členem"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Byl jste vyloučen z této místnosti"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Pro vstup do místnosti musíte být členem"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Tato místnost není anonymní"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Pro vstup do místnosti musíte zadat heslo"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Nebylo možné vygenerovat CAPTCHA"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Nesprávné heslo"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Potřebujete práva administrátora"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Potřebujete práva moderátora"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Přezdívka ~s v místnosti neexistuje"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Neplatné přiřazení: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Neplatná role: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Jsou vyžadována práva vlastníka"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfigurace místnosti ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Název místnosti"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Popis místnosti"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Nastavit místnost jako stálou"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Nastavit místnost jako veřejnou"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Nastavit seznam účastníků jako veřejný"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Chránit místnost heslem"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Počet účastníků"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Odhalovat skutečná Jabber ID"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "moderátorům"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "každému"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Zpřístupnit místnost jen členům"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Nastavit místnost jako moderovanou"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Uživatelé jsou implicitně členy"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Povolit uživatelům měnit téma místnosti"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Povolit uživatelům odesílat soukromé zprávy"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Povolit uživatelům odesílat požadavky (query) ostatním uživatelům"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Povolit uživatelům posílání pozvánek"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Povolit návštěvníkům posílat stavové zprávy ve statusu"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Povolit návštěvníkům měnit přezdívku"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Chránit místnost pomocí CAPTCHA"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Zaznamenávat konverzace"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Ke konfiguraci místnosti potřebujete klienta podporujícího x:data"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Počet účastníků"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "soukromá, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s vás zve do místnosti ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "heslo je"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Fronta offline zpráv pro váš kontakt je plná. Zpráva byla zahozena."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Fronta offline zpráv uživatele ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -991,20 +1003,20 @@ msgstr "Od"
msgid "To"
msgstr "Pro"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Smazat vybrané"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Offline zprávy:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Odstranit všechny offline zprávy"
@ -1012,111 +1024,132 @@ msgstr "Odstranit všechny offline zprávy"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Žádost odběratele PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, zda chcete schválit odebírání touto entitou"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID uzlu"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adresa odběratele"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Doručovat náklad s upozorněním na událost"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Doručovat upozornění na události"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Upozornit odběratele na změnu nastavení uzlu"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Upozornit odběratele na smazání uzlu"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Upozornit odběratele na odstranění položek z uzlu"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Uložit položky natrvalo do úložiště"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Přívětivé jméno pro uzel"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maximální počet položek, které je možné natrvalo uložit"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Povolit odebírání"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Uveďte přístupový model"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktů, které mohou odebírat"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Specifikovat model pro publikování"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Smazat všechny položky, pokud se příslušný poskytovatel odpojí"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Zvolte typ zpráv pro události"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maximální náklad v bajtech"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Kdy odeslat poslední publikovanou položku"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Doručovat upozornění jen právě přihlášeným uživatelům"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Kolekce, se kterými je uzel spřízněn"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Ověření CAPTCHA se nezdařilo"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Pro registraci potřebujete klienta s podporou x:data a CAPTCHA"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Zadejte jméno uživatele a heslo pro registraci na tomto serveru"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uživatel"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Nebylo možné vygenerovat CAPTCHA"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Heslo je příliš slabé"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Je zakázáno registrovat účty v tak rychlém sledu"
@ -1150,13 +1183,13 @@ msgstr "Odstranit"
msgid "Roster of "
msgstr "Seznam kontaktů "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Nesprávný formát"
@ -1168,37 +1201,37 @@ msgstr "Přidat Jabber ID"
msgid "Roster"
msgstr "Seznam kontaktů"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Skupiny pro sdílený seznam kontaktů"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Přidat nový"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Jméno:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Popis:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Členové:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Skupina "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1270,11 +1303,6 @@ msgstr "Oddělení"
msgid "Search users in "
msgstr "Hledat uživatele v "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uživatel"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "K vyhledávání potřebujete klienta podporujícího x:data"
@ -1397,7 +1425,9 @@ msgstr "Odchozí s2s spojení:"
msgid "Outgoing s2s Servers:"
msgstr "Odchozí s2s servery:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Změnit heslo"
@ -1409,7 +1439,8 @@ msgstr "Uživatel "
msgid "Connected Resources:"
msgstr "Připojené zdroje:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Heslo:"
@ -1619,3 +1650,126 @@ msgstr "Smazat"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Start"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Váš účet Jabberu byl úspěšně vytvořen."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Při vytváření účtu došlo k chybě."
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Váš účet Jabberu byl úspěšně smazán."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Při mazání účtu došlo k chybě: "
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Heslo vašeho účtu Jabberu bylo úspěšně změněno."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Při změně hesla došlo k chybě: "
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Registrace účtu Jabberu"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Zaregistrujte si účet Jabberu"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Zrušte registraci účtu Jabberu"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Na této stránce si můžete vytvořit účet na tomto serveru Jabberu. Vaše JID "
"(Jabber IDentifikátor) bude mít tvar: uživatelskéjméno@server. Přečtěte si "
"prosím pozorně instrukce pro vyplnění údajů."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Uživatelské jméno:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Zde nezáleží na velikosti písmen: macbeth je stejný jako MacBeth a Macbeth."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Nepřípustné znaky:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Server:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"Nikdy nikomu nesdělujte své heslo, ani administrátorovi serveru Jabberu."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr "Později můžete své heslo změnit pomocí klienta Jabberu."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Někteří klienti umí uložit vaše heslo na disk počítače. Tuto funkci "
"používejte, pouze pokud věříte zabezpečení svého počítače."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Svoje heslo si zapamatujte, nebo si jej poznamenejte na papírek a ten "
"uschovejte v bezpečí. Jabber nemá žádný automatizovaný způsob obnovy hesla."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Ověření hesla:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Zaregistrovat se"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Současné heslo:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Nové heslo:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Zde můžete zrušit registraci účtu na tomto serveru Jabberu."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Zrušit registraci"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Zkouška CAPTCHA neprošla."

View File

@ -33,8 +33,10 @@
{"Backup to File at ","Datensicherung in die Datei "}.
{"Bad format","Ungültiges Format"}.
{"Birthday","Geburtsdatum"}.
{"CAPTCHA web page","CAPTCHA Webseite"}.
{"Change Password","Passwort ändern"}.
{"Change User Password","Benutzer-Passwort ändern"}.
{"Characters not allowed:","Nicht erlaubte Zeichen:"}.
{"Chatroom configuration modified","Chatraum-Konfiguration geändert"}.
{"Chatroom is created","Chatraum wurde erstellt"}.
{"Chatroom is destroyed","Chatraum wurde entfernt"}.
@ -50,7 +52,7 @@
{"Conference room does not exist","Konferenzraum existiert nicht"}.
{"Configuration","Konfiguration"}.
{"Configuration of room ~s","Konfiguration für Raum ~s"}.
{"Connected Resources:","Verbundene Ressourcen"}.
{"Connected Resources:","Verbundene Ressourcen:"}.
{"Connections parameters","Verbindungsparameter"}.
{"Country","Land"}.
{"CPU Time:","CPU-Zeit:"}.
@ -69,6 +71,7 @@
{"Description:","Beschreibung:"}.
{"Disc only copy","Nur auf Festplatte"}.
{"Displayed Groups:","Angezeigte Gruppen:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Geben sie niemandem ihr Passwort, auch nicht den Administratoren des Jabber Servers."}.
{"Dump Backup to Text File at ","Ausgabe der Sicherung in diese Textdatei "}.
{"Dump to Text File","Ausgabe in Textdatei"}.
{"Edit Properties","Einstellungen ändern"}.
@ -85,7 +88,7 @@
{"Encoding for server ~b","Kodierung für Server ~b"}.
{"End User Session","Benutzer-Sitzung beenden"}.
{"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 nickname you want to register","Geben sie den zu registrierenden Benutzernamen ein"}.
{"Enter path to backup file","Geben sie den Pfad zur Datensicherung 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"}.
@ -93,7 +96,7 @@
{"Enter the text you see","Geben sie den Text den sie sehen ein"}.
{"Enter username and encodings you wish to use for connecting to IRC servers. Press 'Next' to get more fields to fill in. Press 'Complete' to save settings.","Geben sie Benutzernamen und Kodierung für Verbindungen zu IRC Servern an. Drücken sie 'Mehr' um leere Felder hinzuzufügen. Drücken sie 'Beenden' um die Einstellungen zu speichern."}.
{"Enter username, encodings, ports and passwords you wish to use for connecting to IRC servers","Geben Sie Benutzernamen und Zeichenkodierung für die Verbindung zum IRC-Server an"}.
{"Erlang Jabber Server","Erlang Jabber-Server"}.
{"Erlang Jabber Server","Erlang Jabber Server"}.
{"Error","Fehler"}.
{"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].","Beispiel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."}.
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Alle Benutzerdaten des Servers in PIEFXIS Dateien (XEP-0227) exportieren:"}.
@ -120,7 +123,8 @@
{"has been kicked","wurde gekickt"}.
{" has set the subject to: "," hat das Thema geändert auf: "}.
{"Host","Host"}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Wenn sie verschiedene Ports, Passwörter und Kodierungen für IRC Server angeben wollen, erstellen sie die Liste mit folgendem Format '{\"IRC Server\", \"Kodierung\", Port, \"Passwort\"}'. Standardmässig benutzt dieser Dienst die \"~s\" Kodierung, den Port ~p und kein Passwort."}.
{"If you don't see the CAPTCHA image here, visit the web page.","Wenn sie das CAPTCHA Bild nicht sehen, besuchen sie bitte die Webseite."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Wenn sie verschiedene Ports, Passwörter und Kodierungen für IRC Server angeben wollen, erstellen sie die Liste mit folgendem Format '{\"IRC Server\", \"Kodierung\", Port, \"Passwort\"}'. Standardmäßig benutzt dieser Dienst die \"~s\" Kodierung, den Port ~p und kein Passwort."}.
{"Import Directory","Verzeichnis importieren"}.
{"Import File","Datei importieren"}.
{"Import user data from jabberd14 spool file:","Importiere Benutzer von jabberd14 Spool Datei:"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages","Es ist nicht erlaubt private Nachrichten zu senden"}.
{"It is not allowed to send private messages of type \"groupchat\"","Es ist nicht erlaubt private Nachrichten des Typs \"Gruppenchat\" zu senden"}.
{"It is not allowed to send private messages to the conference","Es ist nicht erlaubt private Nachrichten an den Raum zu schicken"}.
{"Jabber Account Registration","Jabber Konto Anmeldung"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Die Jabber-ID ~s ist ungültig"}.
{"January","Januar"}.
@ -177,6 +182,7 @@
{"May","Mai"}.
{"Membership is required to enter this room","Um diesen Raum zu betreten müssen sie Mitglied sein"}.
{"Members:","Mitglieder:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Merken sie sich ihr Passwort, oder schreiben sie es auf einen Zettel den sie sicher verwahren. Bei Jabber gibt es keine automatische Möglichkeit, das Passwort wiederherzustellen."}.
{"Memory","Speicher"}.
{"Message body","Nachrichtentext"}.
{"Middle Name","Zweiter Vorname"}.
@ -190,9 +196,10 @@
{"Name:","Name:"}.
{"Name","Vorname"}.
{"Never","Nie"}.
{"Nickname Registration at ","Registrieren des Spitznamens bei"}.
{"Nickname ~s does not exist in the room","Der Spitzname ~s existiert im Raum nicht"}.
{"Nickname","Spitzname"}.
{"New Password:","Neues Passwort:"}.
{"Nickname","Benutzername"}.
{"Nickname Registration at ","Registrieren des Benutzernames auf"}.
{"Nickname ~s does not exist in the room","Der Benutzername ~s existiert im Raum nicht"}.
{"No body provided for announce message","Kein Text für die Ankündigung angegeben"}.
{"No Data","Keine Daten"}.
{"Node ID","Knoten-ID"}.
@ -202,7 +209,7 @@
{"No limit","Keine Begrenzung"}.
{"None","Keine"}.
{"No resource provided","Keine Ressource angegeben"}.
{"Not Found","nicht gefunden"}.
{"Not Found","Nicht gefunden"}.
{"Notify subscribers when items are removed from the node","Abonnenten benachrichtigen, wenn Einträge vom Knoten entfernt werden"}.
{"Notify subscribers when the node configuration changes","Abonnenten benachrichtigen, wenn sich die Knotenkonfiguration ändert"}.
{"Notify subscribers when the node is deleted","Abonnenten benachrichtigen, wenn der Knoten gelöscht wird"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Offline-Nachrichten:"}.
{"Offline Messages","Offline-Nachrichten"}.
{"OK","OK"}.
{"Old Password:","Aktuelles Passwort:"}.
{"Online","Angemeldet"}.
{"Online Users:","Angemeldete Benutzer:"}.
{"Online Users","Angemeldete Benutzer"}.
@ -221,7 +229,7 @@
{"Only moderators and participants are allowed to change the subject in this room","Nur Moderatoren und Mitglieder dürfen das Thema in diesem Raum ändern"}.
{"Only moderators are allowed to change the subject in this room","Nur Moderatoren dürfen das Thema in diesem Raum ändern"}.
{"Only occupants are allowed to send messages to the conference","Nur Teilnehmer dürfen Nachrichten an den Raum schicken"}.
{"Only occupants are allowed to send queries to the conference","Nur Teilnehmer sind berechtig Anfragen an die Konferenz zu senden"}.
{"Only occupants are allowed to send queries to the conference","Nur Teilnehmer sind berechtigt Anfragen an die Konferenz zu senden"}.
{"Only service administrators are allowed to send service messages","Nur Service-Administratoren sind berechtigt, Servicenachrichten zu versenden"}.
{"Options","Optionen"}.
{"Organization Name","Organisation"}.
@ -234,6 +242,7 @@
{"Password ~b","Passwort ~b"}.
{"Password:","Passwort:"}.
{"Password","Passwort"}.
{"Password Verification:","Passwort bestätigen:"}.
{"Password Verification","Passwort bestätigen"}.
{"Path to Dir","Pfad zum Verzeichnis"}.
{"Path to File","Pfad zur Datei"}.
@ -257,6 +266,8 @@
{"Raw","Unformatiert"}.
{"Really delete message of the day?","Die Nachricht des Tages wirklich löschen?"}.
{"Recipient is not in the conference room","Der Empfänger ist nicht im Raum"}.
{"Register a Jabber account","Jabber Konto registrieren"}.
{"Register","Anmelden"}.
{"Registered Users:","Registrierte Benutzer:"}.
{"Registered Users","Registrierte Benutzer"}.
{"Registration in mod_irc for ","Registrierung in mod_irc für "}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Sende Ankündigung an alle Benutzer"}.
{"September","September"}.
{"Server ~b","Server ~b"}.
{"Server:","Server:"}.
{"Set message of the day and send to online users","Setze Nachricht des Tages und sende sie an alle angemeldeten Benutzer"}.
{"Set message of the day on all hosts and send to online users","Setze Nachricht des Tages auf allen Hosts und sende sie an alle angemeldeten Benutzer"}.
{"Shared Roster Groups","Gruppen der gemeinsamen Kontaktliste"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Normale Tabelle anzeigen"}.
{"Shut Down Service","Dienst herunterfahren"}.
{"~s invites you to the room ~s","~s lädt Sie in den Raum ~s ein"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Einige Jabber Client Programme speichern ihr Passwort auf ihrem Computer. Verwenden sie diese Möglichkeit nur auf Computern, die sie als sicher einstufen."}.
{"Specify the access model","Geben sie das Zugangsmodell an"}.
{"Specify the event message type","Geben sie den Ereignis-Nachrichtentyp an"}.
{"Specify the publisher model","Geben sie das Publikationsmodell an"}.
@ -324,11 +337,20 @@
{"Subscriber Address","Abonnenten-Adresse"}.
{"Subscription","Abonnement"}.
{"Sunday","Sonntag"}.
{"That nickname is already in use by another occupant","Dieser Spitzname wird bereits von einem Teilnehmer genutzt"}.
{"That nickname is registered by another person","Dieser Spitzname wurde bereits von jemand anderem registriert"}.
{"That nickname is already in use by another occupant","Dieser Benutzername wird bereits von einem Teilnehmer genutzt"}.
{"That nickname is registered by another person","Dieser Benutzername wurde bereits von jemand anderem registriert"}.
{"The captcha is valid.","Die Verifizierung ist gültig."}.
{"The CAPTCHA verification has failed","Die CAPTCHA Verifizierung schlug fehl"}.
{"The collections with which a node is affiliated","Sammlungen, mit denen ein Knoten verknüpft ist"}.
{"the password is","das Passwort lautet"}.
{"The password is too weak","Das Passwort ist zu einfach"}.
{"The password of your Jabber account was successfully changed.","Das Passwort von ihrem Jabber Konto wurde geändert."}.
{"There was an error changing the password: ","Es trat ein Fehler beim Ändern des Passworts auf:"}.
{"There was an error creating the account: ","Es trat ein Fehler beim erstellen des Kontos auf:"}.
{"There was an error deleting the account: ","Es trat ein Fehler beim Löschen des Kontos auf:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Groß/Klein-Schreibung spielt hierbei keine Rolle: macbeth ist gleich MacBeth und Macbeth."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Diese Seite erlaubt das anlegen eines Jabber Kontos auf diesem Jabber Server. Ihre JID (Jabber IDentifier) setzt sich folgend zusammen: benutzername@server. Bitte lesen sie die Hinweise genau durch, um die Felder korrekt auszufüllen."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Diese Seite erlaubt es, ein Jabber Konto von diesem Server zu entfernen."}.
{"This participant is kicked from the room because he sent an error message","Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht gesendet hat"}.
{"This participant is kicked from the room because he sent an error message to another participant","Dieser Teilnehmer wurde aus dem Raum geworfen, da er eine Fehlernachricht an einen anderen Teilnehmer gesendet hat"}.
{"This participant is kicked from the room because he sent an error presence","Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften Status gesendet hat"}.
@ -342,10 +364,13 @@
{"Transactions Aborted:","Abgebrochene Transaktionen:"}.
{"Transactions Committed:","Durchgeführte Transaktionen:"}.
{"Transactions Logged:","Protokollierte Transaktionen:"}.
{"Transactions Restarted:","Neugestartete Transaktionen:"}.
{"Transactions Restarted:","Neu gestartete Transaktionen:"}.
{"Tuesday","Dienstag"}.
{"Unable to generate a captcha","Konnte Verifizierung (Captcha) nicht erstellen"}.
{"Unable to generate a captcha","Konnte Captcha nicht erstellen"}.
{"Unable to generate a CAPTCHA","Konnte CAPTCHA nicht erstellen"}.
{"Unauthorized","Nicht berechtigt"}.
{"Unregister","Abmelden"}.
{"Unregister a Jabber account","Jabber Konto entfernen"}.
{"Update","Aktualisieren"}.
{"Update ","Aktualisierung "}.
{"Update message of the day (don't send)","Aktualisiere Nachricht des Tages (nicht senden)"}.
@ -357,21 +382,27 @@
{"User ","Benutzer "}.
{"User","Benutzer"}.
{"User Management","Benutzerverwaltung"}.
{"Username:","Benutzername:"}.
{"Users are not allowed to register accounts so quickly","Benutzer dürfen Konten nicht so schnell registrieren"}.
{"Users","Benutzer"}.
{"Users Last Activity","Letzte Benutzeraktivität"}.
{"Validate","Validieren"}.
{"vCard User Search","vCard-Benutzer-Suche"}.
{"Visitors are not allowed to change their nicknames in this room","Besucher dürfen in diesem Raum ihren Spitznamen nicht ändern"}.
{"Visitors are not allowed to change their nicknames in this room","Besucher dürfen in diesem Raum ihren Benutzernamen nicht ändern"}.
{"Visitors are not allowed to send messages to all occupants","Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"}.
{"Wednesday","Mittwoch"}.
{"When to send the last published item","Wann soll das letzte veröffentlichte Objekt gesendet werden"}.
{"Whether to allow subscriptions","Ob Abonnements erlaubt sind"}.
{"You can later change your password using a Jabber client.","Sie können das Passwort später mit einem Jabber Client Programm ändern."}.
{"You have been banned from this room","Sie wurden aus diesem Raum verbannt"}.
{"You must fill in field \"Nickname\" in the form","Sie müssen das Feld \"Spitzname\" ausfüllen"}.
{"You must fill in field \"Nickname\" in the form","Sie müssen das Feld \"Benutzername\" ausfüllen"}.
{"You need a client that supports x:data and CAPTCHA to register","Sie benötigen einen Client, der x:data und CAPTCHA unterstützt, um Ihren Benutzernamen zu registrieren"}.
{"You need a client that supports x:data to register the nickname","Sie benötigen einen Client, der x:data unterstützt, um Ihren Benutzernamen zu registrieren"}.
{"You need an x:data capable client to configure mod_irc settings","Sie benötigen einen Client, der x:data unterstützt, um die mod_irc-Einstellungen zu konfigurieren"}.
{"You need an x:data capable client to configure room","Sie benötigen einen Client, der x:data unterstützt, um den Raum zu konfigurieren"}.
{"You need an x:data capable client to register nickname","Sie benötigen einen Client, der x:data unterstützt, um Ihren Spitznamen zu registrieren"}.
{"You need an x:data capable client to search","Sie benötigen einen Client, der x:data unterstützt, um suchen zu können"}.
{"You need an x:data capable client to search","Sie benötigen einen Client, der x:data unterstützt, um die Suche verwenden zu können"}.
{"Your active privacy list has denied the routing of this stanza.","Ihre aktive Privacy Liste hat die Weiterleitung des Stanzas unterbunden."}.
{"Your contact offline message queue is full. The message has been discarded.","Ihre Offline-Nachrichten-Warteschlange ist voll. Die Nachricht wurde verworfen."}.
{"Your Jabber account was successfully created.","Ihr Jabber Konto wurde erfolgreich erstellt."}.
{"Your Jabber account was successfully deleted.","Ihr Jabber Konto wurde erfolgreich gelöscht."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Ihre Nachrichten an ~s werden blockiert. Um dies zu ändern, besuchen sie ~s"}.

View File

@ -16,28 +16,42 @@ msgstr ""
"X-Additional-Translator: Torsten Werner\n"
"X-Additional-Translator: Marina Hahn\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Verwendung von STARTTLS erforderlich"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Keine Ressource angegeben"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Durch neue Verbindung ersetzt"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
"Ihre aktive Privacy Liste hat die Weiterleitung des Stanzas unterbunden."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Geben sie den Text den sie sehen ein"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Ihre Nachrichten an ~s werden blockiert. Um dies zu ändern, besuchen sie ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
"Wenn sie das CAPTCHA Bild nicht sehen, besuchen sie bitte die Webseite."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "CAPTCHA Webseite"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Die Verifizierung ist gültig."
@ -371,7 +385,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Passwort"
@ -442,17 +456,17 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC-Modul"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um die mod_irc-"
"Einstellungen zu konfigurieren"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registrierung in mod_irc für "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -460,11 +474,11 @@ msgstr ""
"Geben Sie Benutzernamen und Zeichenkodierung für die Verbindung zum IRC-"
"Server an"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC-Benutzername"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -473,10 +487,10 @@ msgid ""
msgstr ""
"Wenn sie verschiedene Ports, Passwörter und Kodierungen für IRC Server "
"angeben wollen, erstellen sie die Liste mit folgendem Format '{\"IRC Server"
"\", \"Kodierung\", Port, \"Passwort\"}'. Standardmässig benutzt dieser "
"\", \"Kodierung\", Port, \"Passwort\"}'. Standardmäßig benutzt dieser "
"Dienst die \"~s\" Kodierung, den Port ~p und kein Passwort."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -484,35 +498,35 @@ msgstr ""
"Beispiel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Verbindungsparameter"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "IRC Channel beitreten"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC Channel (ohne dem ersten #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC Server"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Hier den IRC Channel beitreten."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Den IRC Channel mit dieser Jabber ID beitreten: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC Einstellungen"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -522,23 +536,23 @@ msgstr ""
"Drücken sie 'Mehr' um leere Felder hinzuzufügen. Drücken sie 'Beenden' um "
"die Einstellungen zu speichern."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC Benutzername"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Passwort ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Kodierung für Server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -560,33 +574,33 @@ msgid "Chatrooms"
msgstr "Chaträume"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um Ihren Spitznamen zu "
"registrieren"
"Sie benötigen einen Client, der x:data unterstützt, um Ihren Benutzernamen "
"zu registrieren"
#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
msgstr "Registrieren des Spitznamens bei"
msgstr "Registrieren des Benutzernames auf"
#: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register"
msgstr "Geben sie den zu registrierenden Spitznamen ein"
msgstr "Geben sie den zu registrierenden Benutzernamen ein"
#: mod_muc/mod_muc.erl:722 mod_roster.erl:949 mod_roster_odbc.erl:1049
#: mod_vcard.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
#: mod_vcard_odbc.erl:447
msgid "Nickname"
msgstr "Spitzname"
msgstr "Benutzername"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Dieser Spitzname wurde bereits von jemand anderem registriert"
msgstr "Dieser Benutzername wurde bereits von jemand anderem registriert"
#: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form"
msgstr "Sie müssen das Feld \"Spitzname\" ausfüllen"
msgstr "Sie müssen das Feld \"Benutzername\" ausfüllen"
#: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module"
@ -629,7 +643,7 @@ msgid "is now known as"
msgstr "ist nun bekannt als"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " hat das Thema geändert auf: "
@ -733,10 +747,6 @@ msgstr "Raum-Konfiguration"
msgid "Room Occupants"
msgstr "Teilnehmer in diesem Raum"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Raumname"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Datenratenlimit wurde überschritten"
@ -773,8 +783,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr "Der Empfänger ist nicht im Raum"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur Teilnehmer dürfen Nachrichten an den Raum schicken"
@ -784,217 +794,221 @@ msgstr "Es ist nicht erlaubt private Nachrichten zu senden"
#: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference"
msgstr "Nur Teilnehmer sind berechtig Anfragen an die Konferenz zu senden"
msgstr "Nur Teilnehmer sind berechtigt Anfragen an die Konferenz zu senden"
#: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room"
msgstr "Anfragen an die Teilnehmer sind in diesem Raum nicht erlaubt"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Nur Moderatoren und Mitglieder dürfen das Thema in diesem Raum ändern"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur Moderatoren dürfen das Thema in diesem Raum ändern"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften "
"Status gesendet hat"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Besucher dürfen in diesem Raum ihren Spitznamen nicht ändern"
msgstr "Besucher dürfen in diesem Raum ihren Benutzernamen nicht ändern"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Dieser Spitzname wird bereits von einem Teilnehmer genutzt"
msgstr "Dieser Benutzername wird bereits von einem Teilnehmer genutzt"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Sie wurden aus diesem Raum verbannt"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Um diesen Raum zu betreten müssen sie Mitglied sein"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Dieser Raum ist nicht anonym"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Sie brauchen ein Passwort um diesen Raum zu betreten"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Konnte Verifizierung (Captcha) nicht erstellen"
msgstr "Konnte Captcha nicht erstellen"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Falsches Passwort"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Administratorenrechte benötigt"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Moderatorrechte benötigt"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Die Jabber-ID ~s ist ungültig"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Der Spitzname ~s existiert im Raum nicht"
msgstr "Der Benutzername ~s existiert im Raum nicht"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Ungültige Mitgliedschaft: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Ungültige Rolle: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Besitzerrechte benötigt"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfiguration für Raum ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Raumname"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Raum Beschreibung"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Raum persistent machen"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Raum öffentlich suchbar machen"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Teilnehmerliste öffentlich machen"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Raum mit Passwort schützen"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Maximale Anzahl von Teilnehmern"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Keine Begrenzung"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Echte Jabber-IDs anzeigen für"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "ausschliesslich Moderatoren"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "jeder"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Raum nur für Mitglieder zugänglich machen"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Raum moderiert machen"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Standardbenutzer als Teilnehmer"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Erlaube Benutzern das Thema zu ändern"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Erlaube Benutzern private Nachrichten zu senden"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Erlaube Benutzern andere Benutzer abzufragen"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Erlaube Benutzern Einladungen zu senden"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Erlaube Besuchern einen Text bei Statusänderung zu setzen"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Erlaube Besuchern ihren Spitznamen zu ändern"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Raum mit Verifizierung (Captcha) versehen"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Protokollierung aktivieren"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um den Raum zu "
"konfigurieren"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Anzahl der Teilnehmer"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s lädt Sie in den Raum ~s ein"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "das Passwort lautet"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Ihre Offline-Nachrichten-Warteschlange ist voll. Die Nachricht wurde "
"verworfen."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's Offline-Nachrichten-Warteschlange"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1016,20 +1030,20 @@ msgstr "Von"
msgid "To"
msgstr "An"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Markierte löschen"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Offline-Nachrichten:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Alle Offline Nachrichten löschen"
@ -1037,112 +1051,135 @@ msgstr "Alle Offline Nachrichten löschen"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5-Bytestreams-Modul"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe-Modul"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubSub-Abonnenten-Anfrage"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Wähle Sie, ob dieses Abonnement akzeptiert werden soll."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Knoten-ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Abonnenten-Adresse"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dieser Jabber-ID das Abonnement dieses pubsub-Knotens erlauben?"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Nachrichten mit mit Ereignis-Benachrichtigungen zustellen"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Ereignisbenachrichtigung zustellen"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnenten benachrichtigen, wenn sich die Knotenkonfiguration ändert"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Abonnenten benachrichtigen, wenn der Knoten gelöscht wird"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnenten benachrichtigen, wenn Einträge vom Knoten entfernt werden"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Einträge dauerhaft speichern"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Ein merkbarer Name für den Knoten"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maximale Anzahl dauerhaft zu speichernder Einträge"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Ob Abonnements erlaubt sind"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Geben sie das Zugangsmodell an"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlisten-Gruppen die abonnieren dürfen"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Geben sie das Publikationsmodell an"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
"Alle Einträge entfernen, wenn der relevante Veröffentlicher offline geht"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Geben sie den Ereignis-Nachrichtentyp an"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maximale Nutzlastgrösse in Bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Wann soll das letzte veröffentlichte Objekt gesendet werden"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Benachrichtigungen nur an verfügbare Benutzer schicken"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Sammlungen, mit denen ein Knoten verknüpft ist"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Die CAPTCHA Verifizierung schlug fehl"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Sie benötigen einen Client, der x:data und CAPTCHA unterstützt, um Ihren "
"Benutzernamen zu registrieren"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Wählen sie zum Registrieren einen Benutzernamen und ein Passwort"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Benutzer"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Konnte CAPTCHA nicht erstellen"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Das Passwort ist zu einfach"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Benutzer dürfen Konten nicht so schnell registrieren"
@ -1176,13 +1213,13 @@ msgstr "Entfernen"
msgid "Roster of "
msgstr "Kontaktliste von "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Ungültiges Format"
@ -1194,37 +1231,37 @@ msgstr "Jabber-ID hinzufügen"
msgid "Roster"
msgstr "Kontaktliste"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Gruppen der gemeinsamen Kontaktliste"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Neuen hinzufügen"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Name:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Beschreibung:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Mitglieder:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Angezeigte Gruppen:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Gruppe "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1232,7 +1269,7 @@ msgstr "Senden"
#: mod_vcard.erl:165 mod_vcard_ldap.erl:237 mod_vcard_odbc.erl:129
msgid "Erlang Jabber Server"
msgstr "Erlang Jabber-Server"
msgstr "Erlang Jabber Server"
#: mod_vcard.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
#: mod_vcard_odbc.erl:448
@ -1296,15 +1333,11 @@ msgstr "Abteilung"
msgid "Search users in "
msgstr "Benutzer suchen in "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Benutzer"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um suchen zu können"
"Sie benötigen einen Client, der x:data unterstützt, um die Suche verwenden "
"zu können"
#: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search"
@ -1386,7 +1419,7 @@ msgstr "Statistik"
#: web/ejabberd_web_admin.erl:1113
msgid "Not Found"
msgstr "nicht gefunden"
msgstr "Nicht gefunden"
#: web/ejabberd_web_admin.erl:1130
msgid "Node not found"
@ -1425,7 +1458,9 @@ msgstr "Ausgehende s2s-Verbindungen:"
msgid "Outgoing s2s Servers:"
msgstr "Ausgehende s2s-Server:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Passwort ändern"
@ -1435,9 +1470,10 @@ msgstr "Benutzer "
#: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:"
msgstr "Verbundene Ressourcen"
msgstr "Verbundene Ressourcen:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Passwort:"
@ -1591,7 +1627,7 @@ msgstr "Abgebrochene Transaktionen:"
#: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:"
msgstr "Neugestartete Transaktionen:"
msgstr "Neu gestartete Transaktionen:"
#: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:"
@ -1648,3 +1684,133 @@ msgstr "Löschen"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starten"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Ihr Jabber Konto wurde erfolgreich erstellt."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Es trat ein Fehler beim erstellen des Kontos auf:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Ihr Jabber Konto wurde erfolgreich gelöscht."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Es trat ein Fehler beim Löschen des Kontos auf:"
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Das Passwort von ihrem Jabber Konto wurde geändert."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Es trat ein Fehler beim Ändern des Passworts auf:"
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Jabber Konto Anmeldung"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Jabber Konto registrieren"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Jabber Konto entfernen"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Diese Seite erlaubt das anlegen eines Jabber Kontos auf diesem Jabber "
"Server. Ihre JID (Jabber IDentifier) setzt sich folgend zusammen: "
"benutzername@server. Bitte lesen sie die Hinweise genau durch, um die Felder "
"korrekt auszufüllen."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Benutzername:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Groß/Klein-Schreibung spielt hierbei keine Rolle: macbeth ist gleich MacBeth "
"und Macbeth."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Nicht erlaubte Zeichen:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Server:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"Geben sie niemandem ihr Passwort, auch nicht den Administratoren des Jabber "
"Servers."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
"Sie können das Passwort später mit einem Jabber Client Programm ändern."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Einige Jabber Client Programme speichern ihr Passwort auf ihrem Computer. "
"Verwenden sie diese Möglichkeit nur auf Computern, die sie als sicher "
"einstufen."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Merken sie sich ihr Passwort, oder schreiben sie es auf einen Zettel den sie "
"sicher verwahren. Bei Jabber gibt es keine automatische Möglichkeit, das "
"Passwort wiederherzustellen."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Passwort bestätigen:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Anmelden"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Aktuelles Passwort:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Neues Passwort:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
"Diese Seite erlaubt es, ein Jabber Konto von diesem Server zu entfernen."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Abmelden"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Die Verifizierung ist gültig."

View File

@ -1,33 +1,45 @@
msgid ""
msgstr ""
"Project-Id-Version: 2.1.3\n"
"Project-Id-Version: 2.1.6\n"
"X-Language: Language Name\n"
"Last-Translator: Translator name and contact method\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr ""
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr ""
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr ""
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr ""
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr ""
@ -359,7 +371,7 @@ msgid "Jabber ID"
msgstr ""
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr ""
@ -430,25 +442,25 @@ msgstr ""
msgid "ejabberd IRC module"
msgstr ""
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr ""
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
msgstr ""
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr ""
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -456,64 +468,64 @@ msgid ""
"~p, empty password."
msgstr ""
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
msgstr ""
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr ""
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr ""
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr ""
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr ""
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr ""
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr ""
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr ""
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
"settings."
msgstr ""
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr ""
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr ""
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr ""
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr ""
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr ""
@ -534,7 +546,7 @@ msgid "Chatrooms"
msgstr ""
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
#: mod_muc/mod_muc.erl:717
@ -551,8 +563,8 @@ msgstr ""
msgid "Nickname"
msgstr ""
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr ""
@ -601,7 +613,7 @@ msgid "is now known as"
msgstr ""
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr ""
@ -705,10 +717,6 @@ msgstr ""
msgid "Room Occupants"
msgstr ""
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr ""
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr ""
@ -740,8 +748,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr ""
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr ""
@ -757,205 +765,209 @@ msgstr ""
msgid "Queries to the conference members are not allowed in this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr ""
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr ""
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr ""
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr ""
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr ""
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr ""
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr ""
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr ""
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr ""
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr ""
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr ""
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr ""
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr ""
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr ""
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr ""
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr ""
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr ""
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr ""
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr ""
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr ""
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr ""
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr ""
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr ""
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr ""
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr ""
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr ""
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr ""
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr ""
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr ""
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr ""
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr ""
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr ""
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr ""
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr ""
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr ""
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr ""
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr ""
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr ""
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr ""
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -977,20 +989,20 @@ msgstr ""
msgid "To"
msgstr ""
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr ""
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr ""
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr ""
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr ""
@ -998,111 +1010,132 @@ msgstr ""
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr ""
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr ""
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr ""
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr ""
@ -1136,13 +1169,13 @@ msgstr ""
msgid "Roster of "
msgstr ""
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr ""
@ -1154,37 +1187,37 @@ msgstr ""
msgid "Roster"
msgstr ""
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr ""
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr ""
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr ""
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr ""
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr ""
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr ""
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr ""
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1254,11 +1287,6 @@ msgstr ""
msgid "Search users in "
msgstr ""
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr ""
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
@ -1381,7 +1409,9 @@ msgstr ""
msgid "Outgoing s2s Servers:"
msgstr ""
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr ""
@ -1393,7 +1423,8 @@ msgstr ""
msgid "Connected Resources:"
msgstr ""
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr ""
@ -1597,3 +1628,113 @@ msgstr ""
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr ""
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr ""
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr ""
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr ""
#: web/mod_register_web.erl:249
msgid "Register"
msgstr ""
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr ""
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr ""
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""

View File

@ -33,8 +33,10 @@
{"Backup","Αποθήκευση Αντιγράφου Ασφαλείας"}.
{"Bad format","Ακατάλληλη μορφή"}.
{"Birthday","Γενέθλια"}.
{"CAPTCHA web page","Ιστοσελίδα CAPTCHA "}.
{"Change Password","Αλλαγή κωδικού"}.
{"Change User Password","Αλλαγή Κωδικού Πρόσβασης Χρήστη"}.
{"Characters not allowed:","Χαρακτήρες δεν επιτρέπονται:"}.
{"Chatroom configuration modified","Διαμόρφωση Αίθουσaς σύνεδριασης τροποποιηθηκε"}.
{"Chatroom is created","Η αίθουσα σύνεδριασης δημιουργήθηκε"}.
{"Chatroom is destroyed","Η αίθουσα σύνεδριασης διαγράφηκε"}.
@ -69,6 +71,7 @@
{"Description:","Περιγραφή:"}.
{"Disc only copy","Αντίγραφο μόνο σε δίσκο"}.
{"Displayed Groups:","Εμφανίσμενες Ομάδες:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Μην πείτε τον κωδικό πρόσβασής σας σε κανέναν, ακόμη και στους διαχειριστές του διακομιστή Jabber."}.
{"Dump Backup to Text File at ","Αποθήκευση Αντιγράφου Ασφαλείας σε αρχείο κειμένου στο "}.
{"Dump to Text File","Αποθήκευση σε αρχείο κειμένου"}.
{"Edit Properties","Επεξεργασία ιδιοτήτων"}.
@ -120,6 +123,7 @@
{"has been kicked","αποβλήθηκε "}.
{" has set the subject to: "," έχει θέσει το θέμα σε: "}.
{"Host","Κεντρικός Υπολογιστής"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Εάν δεν βλέπετε την εικόνα CAPTCHA εδώ, επισκεφθείτε την ιστοσελίδα."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Εάν θέλετε να καθορίσετε διαφορετικές θύρες, κωδικούς πρόσβασης, κωδικοποιήσεις για IRC διακομιστές, εισάγετε πληροφορίες στη μορφή '{\"irc διακομιστής\", \"κωδικοποιήσεις\", θύρα, \"κωδικός πρόσβασης\"}'. Προεπιλεγμενα αυτή η υπηρεσία χρησιμοποιεί \"~s\" κωδικοποιήση, θύρα ~p, κενό κωδικό πρόσβασης."}.
{"Import Directory","Εισαγωγή κατάλογου αρχείων"}.
{"Import File","Εισαγωγή αρχείων"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages of type \"groupchat\"","Δεν επιτρέπεται να στείλει προσωπικά μηνύματα του τύπου \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Δεν επιτρέπεται να στείλει προσωπικά μηνύματα για τη διάσκεψη"}.
{"It is not allowed to send private messages","Δεν επιτρέπεται η αποστολή προσωπικών μηνυμάτων"}.
{"Jabber Account Registration","Εγγραφή λογαριασμού Jabber"}.
{"Jabber ID ~s is invalid","Η Jabber Ταυτότητα ~s είναι άκυρη"}.
{"Jabber ID","Ταυτότητα Jabber"}.
{"January","Ιανουάριος"}.
@ -177,6 +182,7 @@
{"May","Μάιος"}.
{"Membership is required to enter this room","Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"}.
{"Members:","Μέλη:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Απομνημονεύστε τον κωδικό πρόσβασής σας, ή γράψετε τον σε ένα χαρτί που είχε τοποθετηθεί σε ασφαλές μέρος. Στο Jabber δεν υπάρχει αυτοματοποιημένος τρόπος για να ανακτήσετε τον κωδικό σας αν τον ξεχάσετε."}.
{"Memory","Μνήμη"}.
{"Message body","Περιεχόμενο μηνυμάτως"}.
{"Middle Name","Πατρώνυμο"}.
@ -190,6 +196,7 @@
{"Name:","Όνομα:"}.
{"Name","Όνομα"}.
{"Never","Ποτέ"}.
{"New Password:","Νέος κωδικός πρόσβασης:"}.
{"Nickname Registration at ","Εγγραφή με Ψευδώνυμο στο "}.
{"Nickname ~s does not exist in the room","Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα"}.
{"Nickname","Ψευδώνυμο"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Χωρίς Σύνδεση Μηνύματα:"}.
{"Offline Messages","Χωρίς Σύνδεση Μηνύματα"}.
{"OK","Όλλα Καλά"}.
{"Old Password:","Παλαιός κωδικός πρόσβασης:"}.
{"Online Users:","Online Χρήστες:"}.
{"Online Users","Συνδεμένοι χρήστες"}.
{"Online","Συνδεδεμένο"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Aπαιτούνται προνόμια ιδιοκτήτη"}.
{"Packet","Πακέτο"}.
{"Password ~b","Κωδικός πρόσβασης ~b"}.
{"Password Verification:","Επαλήθευση κωδικού πρόσβασης:"}.
{"Password Verification","Επαλήθευση κωδικού πρόσβασης"}.
{"Password","Κωδικός Πρόσβασης"}.
{"Password:","Κωδικός πρόσβασης:"}.
@ -257,8 +266,10 @@
{"Raw","Ακατέργαστο"}.
{"Really delete message of the day?","Πραγματικά να διαγράψετε το μήνυμα της ημέρας;"}.
{"Recipient is not in the conference room","Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"}.
{"Register a Jabber account","Καταχωρήστε έναν λογαριασμό Jabber"}.
{"Registered Users:","Εγγεγραμμένοι Χρήστες:"}.
{"Registered Users","Εγγεγραμμένοι Χρήστες"}.
{"Register","Καταχωρήστε"}.
{"Registration in mod_irc for ","Εγγραφή στο mod_irc για "}.
{"Remote copy","Απομεμακρυσμένο αντίγραφο"}.
{"Remove All Offline Messages","Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Αποστολή ανακοίνωσης σε όλους τους χρήστες"}.
{"September","Σεπτέμβριος"}.
{"Server ~b","Διακομιστής ~b"}.
{"Server:","Διακομιστής:"}.
{"Set message of the day and send to online users","Ορίστε μήνυμα ημέρας και αποστολή στους συνδεδεμένους χρήστες"}.
{"Set message of the day on all hosts and send to online users","Ορίστε μήνυμα ημέρας και άμεση αποστολή στους συνδεδεμένους χρήστες σε όλους τους κεντρικούς υπολογιστές"}.
{"Shared Roster Groups","Κοινές Ομάδες Καταλόγων Επαφών"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Δείτε Κοινό Πίνακα"}.
{"Shut Down Service","Κλείσιμο Υπηρεσίας"}.
{"~s invites you to the room ~s","~s σας προσκαλεί στην αίθουσα ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Μερικοί πελάτες Jabber μπορεί να αποθηκεύσουν τον κωδικό πρόσβασής σας στον υπολογιστή σας. Χρησιμοποιήστε αυτό το χαρακτηριστικό μόνο εάν εμπιστεύεστε την ασφάλεια του υπολογιστή σας."}.
{"Specify the access model","Καθορίστε το μοντέλο πρόσβασης"}.
{"Specify the event message type","Καθορίστε τον τύπο μηνύματος συμβάντος"}.
{"Specify the publisher model","Καθορίστε το μοντέλο εκδότη"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"}.
{"That nickname is registered by another person","Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"}.
{"The captcha is valid.","Το captcha είναι έγκυρο."}.
{"The CAPTCHA verification has failed","Η επαλήθευση της εικόνας CAPTCHA απέτυχε"}.
{"The collections with which a node is affiliated","Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται"}.
{"The password is too weak","Ο κωδικός πρόσβασης είναι πολύ ασθενές"}.
{"the password is","ο κωδικός πρόσβασης είναι"}.
{"The password of your Jabber account was successfully changed.","Ο κωδικός πρόσβασης του Jabber λογαριασμού σας έχει αλλάξει επιτυχώς."}.
{"There was an error changing the password: ","Υπήρξε ένα σφάλμα κατά την αλλαγή του κωδικού πρόσβασης:"}.
{"There was an error creating the account: ","Υπήρξε ένα σφάλμα κατά τη δημιουργία του λογαριασμού:"}.
{"There was an error deleting the account: ","Υπήρξε ένα σφάλμα κατά τη διαγραφή του λογαριασμού:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Ανεξαρτήτως με πεζά ή κεφαλαία: 'μιαλεξη' είναι το ίδιο με 'ΜιαΛέξη' και 'Μιαλέξη'."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Αυτή η σελίδα σας επιτρέπει να δημιουργήσετε ένα λογαριασμό Jabber σε αυτόν το διακομιστή Jabber. JID σας (Jabber Identifier) θα είναι της μορφής: όνομαρήστη@διακομιστής_Jabber. Παρακαλώ διαβάστε προσεκτικά τις οδηγίες για να συμπληρώσετε σωστά τα πεδία."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Η σελίδα αυτή δίνει τη δυνατότητα να καταργήσετε την καταχώρηση ενός λογαριασμό Jabber σε αυτόν το διακομιστή Jabber."}.
{"This participant is kicked from the room because he sent an error message to another participant","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε ένα μήνυμα σφάλματος σε άλλον συμμετέχων"}.
{"This participant is kicked from the room because he sent an error message","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε ένα μήνυμα σφάλματος"}.
{"This participant is kicked from the room because he sent an error presence","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε σφάλμα παρουσίας "}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Επανειλημμένες συναλλαγές:"}.
{"Tuesday","Τρίτη"}.
{"Unable to generate a captcha","Αδήνατο να δημιουργηθεί CAPTCHA"}.
{"Unable to generate a CAPTCHA","Αδήνατο να δημιουργηθεί εικόνα CAPTCHA"}.
{"Unauthorized","Χορίς Εξουσιοδότηση"}.
{"Unregister a Jabber account","Καταργήστε την εγγραφή ενός λογαριασμού Jabber"}.
{"Unregister","Καταργήση εγγραφής"}.
{"Update message of the day (don't send)","Ενημέρωση μηνύματως ημέρας (χωρίς άμεση αποστολή)"}.
{"Update message of the day on all hosts (don't send)","Ενημέρωση μηνύματως ημέρας σε όλους τους κεντρικούς υπολογιστές (χωρίς άμεση αποστολή)"}.
{"Update plan","Σχέδιο ενημέρωσης"}.
@ -355,6 +380,7 @@
{"Uptime:","Uptime:"}.
{"Use of STARTTLS required","Απαιτείται χρήση STARTTLS "}.
{"User Management","Διαχείριση χρηστών"}.
{"Username:","Όνομα χρήστη"}.
{"Users are not allowed to register accounts so quickly","Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"}.
{"Users Last Activity","Τελευταία Δραστηριότητα Χρήστη"}.
{"Users","Χρήστες"}.
@ -367,11 +393,16 @@
{"Wednesday","Τετάρτη"}.
{"When to send the last published item","Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε"}.
{"Whether to allow subscriptions","Εάν επιτρέποντε συνδρομές"}.
{"You can later change your password using a Jabber client.","Μπορείτε αργότερα να αλλάξετε τον κωδικό πρόσβασής σας χρησιμοποιώντας έναν πελάτη Jabber."}.
{"You have been banned from this room","Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"}.
{"You must fill in field \"Nickname\" in the form","Θα πρέπει να συμπληρώσετε το πεδίο \"Ψευδώνυμο\" στη φόρμα"}.
{"You need a client that supports x:data and CAPTCHA to register","Χρειάζεστε ένα x:data και CAPTCHA ικανό πελάτη για εγγραφή"}.
{"You need a client that supports x:data to register the nickname","Χρειάζεστε ένα x:data ικανό πελάτη για εγγραφή με ψευδώνυμο"}.
{"You need an x:data capable client to configure mod_irc settings","Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε το mod_irc"}.
{"You need an x:data capable client to configure room","Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε την αίθουσα "}.
{"You need an x:data capable client to register nickname","Χρειάζεστε ένα x:data ικανό πελάτη για να εγγράφή με ψευδώνυμο"}.
{"You need an x:data capable client to search","Χρειάζεστε ένα x:data ικανό πελάτη για αναζήτηση"}.
{"Your active privacy list has denied the routing of this stanza.","Ο ενεργός κατάλογος απορρήτου, έχει αρνηθεί τη δρομολόγηση αυτής της στροφής (stanza)."}.
{"Your contact offline message queue is full. The message has been discarded.","Η μνήμη χωρίς σύνδεση μήνυματών είναι πλήρης. Το μήνυμα έχει απορριφθεί."}.
{"Your Jabber account was successfully created.","Ο Jabber λογαριασμός σας δημιουργήθηκε με επιτυχία."}.
{"Your Jabber account was successfully deleted.","Ο Jabber λογαριασμός σας διαγράφηκε με επιτυχία."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Τα μηνύματά σας πρως ~s είναι αποκλεισμένα. Για αποδεσμεύση, επισκεφθείτε ~s"}.

View File

@ -2,7 +2,7 @@ msgid ""
msgstr ""
"Project-Id-Version: el\n"
"POT-Creation-Date: \n"
"PO-Revision-Date: 2010-05-24 21:08+0200\n"
"PO-Revision-Date: 2010-12-01 04:37-0000\n"
"Last-Translator: James Iakovos Mandelis <ebuggerd@008.clara.co.uk>\n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
@ -10,28 +10,42 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Greek (ελληνικά)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Απαιτείται χρήση STARTTLS "
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Δεν προμηθεύτικε πόρος"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Αντικαταστάθικε από νέα σύνδεση"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
"Ο ενεργός κατάλογος απορρήτου, έχει αρνηθεί τη δρομολόγηση αυτής της στροφής "
"(stanza)."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Πληκτρολογήστε το κείμενο που βλέπετε"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Τα μηνύματά σας πρως ~s είναι αποκλεισμένα. Για αποδεσμεύση, επισκεφθείτε ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Εάν δεν βλέπετε την εικόνα CAPTCHA εδώ, επισκεφθείτε την ιστοσελίδα."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Ιστοσελίδα CAPTCHA "
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Το captcha είναι έγκυρο."
@ -371,7 +385,7 @@ msgid "Jabber ID"
msgstr "Ταυτότητα Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Κωδικός Πρόσβασης"
@ -442,15 +456,15 @@ msgstr "IRC Διαβιβάσεις"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC module"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε το mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Εγγραφή στο mod_irc για "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -458,11 +472,11 @@ msgstr ""
"Εισάγετε το όνομα χρήστη, κωδικοποιήσεις, τις θύρες και τους κωδικούς "
"πρόσβασης που θέλετε να χρησιμοποιήσετε για σύνδεση με IRC διακομιστή"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC Όνομα χρήστη"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -475,7 +489,7 @@ msgstr ""
"Προεπιλεγμενα αυτή η υπηρεσία χρησιμοποιεί \"~s\" κωδικοποιήση, θύρα ~p, "
"κενό κωδικό πρόσβασης."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -483,35 +497,35 @@ msgstr ""
"Παράδειγμα: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Παράμετροι Συνδέσης"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Είσοδος στο IRC κανάλι"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC κανάλι (μην τεθεί το πρώτο #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Διακομιστής IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Είσοδος στο κανάλι IRC εδώ."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Είσοδος στο κανάλι IRC αυτής της Jabber Ταυτότητας: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC Ρυθμίσεις"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -522,23 +536,23 @@ msgstr ""
"πάρετε περισσότερα πεδία να συμπληρώσετε. Πατήστε 'Complete' για να "
"αποθηκεύσετε ρυθμίσεις."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC όνομα χρήστη"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Κωδικός πρόσβασης ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Θύρα ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Κωδικοποίηση για διακομιστή ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Διακομιστής ~b"
@ -561,8 +575,8 @@ msgid "Chatrooms"
msgstr "Αίθουσες σύνεδριασης"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να εγγράφή με ψευδώνυμο"
msgid "You need a client that supports x:data to register the nickname"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για εγγραφή με ψευδώνυμο"
#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
@ -578,8 +592,8 @@ msgstr "Πληκτρολογήστε το ψευδώνυμο που θέλετε
msgid "Nickname"
msgstr "Ψευδώνυμο"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"
@ -628,7 +642,7 @@ msgid "is now known as"
msgstr "είναι τώρα γνωστή ως"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " έχει θέσει το θέμα σε: "
@ -732,10 +746,6 @@ msgstr "Διαμόρφωση Αίθουσας σύνεδριασης"
msgid "Room Occupants"
msgstr "Συμετεχόντες Αίθουσας σύνεδριασης"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Τίτλος Αίθουσας "
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Υπέρφορτωση"
@ -771,8 +781,8 @@ msgstr "Δεν επιτρέπεται να στείλει προσωπικά μ
msgid "Recipient is not in the conference room"
msgstr "Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Μόνο οι συμμετέχωντες μπορούν να στέλνουν μηνύματα στο συνέδριο"
@ -789,7 +799,7 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Ερωτήματα πρώς τα μέλη της διασκέψεως δεν επιτρέπονται σε αυτήν την αίθουσα"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -797,208 +807,212 @@ msgstr ""
"Μόνο οι συντονιστές και οι συμμετέχοντες μπορούν να αλλάξουν το θέμα αυτής "
"της αίθουσας"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Μόνο οι συντονιστές μπορούν να αλλάξουν το θέμα αυτής της αίθουσας"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Οι επισκέπτες δεν επιτρέπεται να στείλουν μηνύματα σε όλους τους "
"συμμετέχωντες"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε σφάλμα "
"παρουσίας "
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Οι επισκέπτες δεν επιτρέπεται να αλλάξουν τα ψευδώνυμα τους σε αυτή την "
"αίθουσα"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Η αίθουσα αυτή δεν είναι ανώνυμη"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Απαιτείται κωδικός πρόσβασης για είσοδο σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Αδήνατο να δημιουργηθεί CAPTCHA"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Εσφαλμένος κωδικός πρόσβασης"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Aπαιτούνται προνόμια διαχειριστή"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Aπαιτούνται προνόμια συντονιστή"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Η Jabber Ταυτότητα ~s είναι άκυρη"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Άκυρη υπαγωγή: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Άκυρος ρόλο: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Aπαιτούνται προνόμια ιδιοκτήτη"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Διαμόρφωση Αίθουσας σύνεδριασης ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Τίτλος Αίθουσας "
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Περιγραφή Αίθουσας"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Κάντε αίθουσα μόνιμη"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Κάντε την δημόσια αναζήτηση δυνατή για αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Κάντε κοινό τον κατάλογο συμμετεχόντων"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Κάντε την αίθουσα προστατεύομενη με κωδικό πρόσβασης"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Μέγιστος αριθμός συμετεχόντων"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Χωρίς όριο"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Παρούσιαση πραγματικών ταυτοτήτων Jabber σε"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "συντονιστές μόνο"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "οποιοσδήποτε"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Κάντε την αίθουσα μόνο για μέλη"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Κάντε την αίθουσα εποπτεύονομενη"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Προεπιλογη χρήστων ως συμμετέχοντες"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Επιτρέψετε στους χρήστες να αλλάζουν το θέμα"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν ιδιωτικά μηνύματα"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Επιτρέπστε στους χρήστες να ερωτούν άλλους χρήστες"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν προσκλήσεις"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Επιτρέψτε στους επισκέπτες να αποστέλλουν κατάσταση στις ενημερώσεις "
"παρουσίας"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Επιτρέψετε στους επισκέπτες να αλλάζου ψευδώνυμο"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Κάντε την αίθουσα CAPTCHA προστατεύονομενη"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Ενεργοποίηση καταγραφής"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε την αίθουσα "
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Αριθμός συμετεχόντων"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "ιδιωτικό,"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s σας προσκαλεί στην αίθουσα ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "ο κωδικός πρόσβασης είναι"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Η μνήμη χωρίς σύνδεση μήνυματών είναι πλήρης. Το μήνυμα έχει απορριφθεί."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Η Σειρά Χωρίς Σύνδεση Μηνύματων τού ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1020,20 +1034,20 @@ msgstr "Από"
msgid "To"
msgstr "Πρώς"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Πακέτο"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Διαγραφή επιλεγμένων"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Χωρίς Σύνδεση Μηνύματα:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"
@ -1041,115 +1055,136 @@ msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύμα
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Δημοσίευση-Εγγραφή"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd module Δημοσίευσης-Εγγραφής"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Αίτηση συνδρομητή Δημοσίευσης-Εγγραφής"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Επιλέξτε αν θα εγκρίθεί η εγγραφή αυτής της οντότητας."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Ταυτότητα Κόμβου"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Διεύθυνση Συνδρομητή"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
"Επιτρέπετε σε αυτή την Jabber Ταυτότητα να εγγραφεί σε αυτό τον κόμβο "
"Δημοσίευσης-Εγγραφής;"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Κοινοποιήσεις με την παράδοση φορτίων"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Κοινοποιήσεις παράδοσης"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Ειδοποιηση στους συνδρομητές όταν αλλάζει η διαμόρφωση κόμβου"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Ειδοποιηση στους συνδρομητές όταν ο κόμβος διαγράφεται"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Ειδοποιηση στους συνδρομητές όταν αφαίρούντε στοιχεία από τον κόμβο"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Μονιμη αποθήκευση στοιχείων"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Ένα φιλικό όνομα για τον κόμβο"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Μέγιστος αριθμός μόνιμων στοιχείων"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Εάν επιτρέποντε συνδρομές"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Καθορίστε το μοντέλο πρόσβασης"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Ομάδες Καταλόγου Επαφών μπορούν να εγγραφούν"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Καθορίστε το μοντέλο εκδότη"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Διαγραφή όλων των στοιχείων όταν ο σχετικός εκδότης αποσυνδέεται"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Καθορίστε τον τύπο μηνύματος συμβάντος"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Μέγιστο μέγεθος φορτίου σε bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Παράδωση κοινοποιήσεων μόνο σε διαθέσιμους χρήστες"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Η επαλήθευση της εικόνας CAPTCHA απέτυχε"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Χρειάζεστε ένα x:data και CAPTCHA ικανό πελάτη για εγγραφή"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Επιλέξτε ένα όνομα χρήστη και κωδικό πρόσβασης για να εγγραφείτε σε αυτό τον "
"διακομιστή"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Χρήστης"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Αδήνατο να δημιουργηθεί εικόνα CAPTCHA"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Ο κωδικός πρόσβασης είναι πολύ ασθενές"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"
@ -1183,13 +1218,13 @@ msgstr "Αφαίρεστε"
msgid "Roster of "
msgstr "Καταλόγος Επαφών τού"
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Ακατάλληλη μορφή"
@ -1201,37 +1236,37 @@ msgstr "Προσθήκη Jabber Ταυτότητας"
msgid "Roster"
msgstr "Καταλόγος Επαφών"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Κοινές Ομάδες Καταλόγων Επαφών"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Προσθήκη νέου"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Όνομα:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Περιγραφή:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Μέλη:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Εμφανίσμενες Ομάδες:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Ομάδα"
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1304,11 +1339,6 @@ msgstr "Μονάδα Οργανισμού"
msgid "Search users in "
msgstr "Αναζήτηση χρηστών στο"
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Χρήστης"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για αναζήτηση"
@ -1432,7 +1462,9 @@ msgstr "Εξερχόμενες S2S Συνδέσεις:"
msgid "Outgoing s2s Servers:"
msgstr "Εξερχόμενοι S2S διακομιστές:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Αλλαγή κωδικού"
@ -1444,7 +1476,8 @@ msgstr "Χρήστης"
msgid "Connected Resources:"
msgstr "Συνδεδεμένοι Πόροι:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Κωδικός πρόσβασης:"
@ -1658,3 +1691,135 @@ msgstr "Διαγραφή"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Εκκίνηση"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Ο Jabber λογαριασμός σας δημιουργήθηκε με επιτυχία."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Υπήρξε ένα σφάλμα κατά τη δημιουργία του λογαριασμού:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Ο Jabber λογαριασμός σας διαγράφηκε με επιτυχία."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Υπήρξε ένα σφάλμα κατά τη διαγραφή του λογαριασμού:"
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Ο κωδικός πρόσβασης του Jabber λογαριασμού σας έχει αλλάξει επιτυχώς."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Υπήρξε ένα σφάλμα κατά την αλλαγή του κωδικού πρόσβασης:"
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Εγγραφή λογαριασμού Jabber"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Καταχωρήστε έναν λογαριασμό Jabber"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Καταργήστε την εγγραφή ενός λογαριασμού Jabber"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Αυτή η σελίδα σας επιτρέπει να δημιουργήσετε ένα λογαριασμό Jabber σε αυτόν "
"το διακομιστή Jabber. JID σας (Jabber Identifier) θα είναι της μορφής: "
νομαρήστη@διακομιστής_Jabber. Παρακαλώ διαβάστε προσεκτικά τις οδηγίες "
"για να συμπληρώσετε σωστά τα πεδία."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Όνομα χρήστη"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Ανεξαρτήτως με πεζά ή κεφαλαία: 'μιαλεξη' είναι το ίδιο με 'ΜιαΛέξη' και "
"'Μιαλέξη'."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Χαρακτήρες δεν επιτρέπονται:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Διακομιστής:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"Μην πείτε τον κωδικό πρόσβασής σας σε κανέναν, ακόμη και στους διαχειριστές "
"του διακομιστή Jabber."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
"Μπορείτε αργότερα να αλλάξετε τον κωδικό πρόσβασής σας χρησιμοποιώντας έναν "
"πελάτη Jabber."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Μερικοί πελάτες Jabber μπορεί να αποθηκεύσουν τον κωδικό πρόσβασής σας στον "
"υπολογιστή σας. Χρησιμοποιήστε αυτό το χαρακτηριστικό μόνο εάν εμπιστεύεστε "
"την ασφάλεια του υπολογιστή σας."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Απομνημονεύστε τον κωδικό πρόσβασής σας, ή γράψετε τον σε ένα χαρτί που είχε "
"τοποθετηθεί σε ασφαλές μέρος. Στο Jabber δεν υπάρχει αυτοματοποιημένος "
"τρόπος για να ανακτήσετε τον κωδικό σας αν τον ξεχάσετε."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Επαλήθευση κωδικού πρόσβασης:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Καταχωρήστε"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Παλαιός κωδικός πρόσβασης:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Νέος κωδικός πρόσβασης:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
"Η σελίδα αυτή δίνει τη δυνατότητα να καταργήσετε την καταχώρηση ενός "
"λογαριασμό Jabber σε αυτόν το διακομιστή Jabber."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Καταργήση εγγραφής"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Το captcha είναι έγκυρο."

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","Vi devas kompletigi la \"Kaŝnomo\" kampon"}.
{"You need an x:data capable client to configure mod_irc settings","Vi bezonas klienton kun x:data-funkcio por agordi mod_irc"}.
{"You need an x:data capable client to configure room","Vi bezonas klienton kun x:data-funkcio por agordi la babilejon"}.
{"You need an x:data capable client to register nickname","Vi bezonas klienton kun x:data-funkcio por registri kaŝnomon"}.
{"You need an x:data capable client to search","Vi bezonas klienton kun x:data-funkcio por serĉado"}.
{"Your contact offline message queue is full. The message has been discarded.","Mesaĝo-atendovico de la senkonekta kontakto estas plena. La mesaĝo estas forĵetita"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Viaj mesaĝoj al ~s estas blokata. Por malbloki ilin, iru al ~s"}.

View File

@ -10,27 +10,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Esperanto\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Uzo de STARTTLS bezonata"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Neniu risurco donita"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Anstataŭigita je nova konekto"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Enmetu montrita teksto"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Viaj mesaĝoj al ~s estas blokata. Por malbloki ilin, iru al ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "La aŭtomata Turingtesto estas ĝusta"
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Pasvorto"
@ -434,15 +446,15 @@ msgstr "IRC-transportilo"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC-modulo"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Vi bezonas klienton kun x:data-funkcio por agordi mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registraĵo en mod_irc de "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -450,11 +462,11 @@ msgstr ""
"Enmetu uzantnomon,j enkodigojn, pordojn kaj pasvortojn kiujn vi volas uzi "
"por konektoj al IRC-serviloj"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC-kaŝnomo"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -466,7 +478,7 @@ msgstr ""
"\"enkodigo\", porto, \"pasvorto\"}'. Se ne specifita, ĉi tiu servilo uzas la "
"enkodigo \"~s\", porto ~p, malplena pasvorto."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -474,35 +486,35 @@ msgstr ""
"Ekzemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"sekreto\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.iutestservilo.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Konekto-parametroj"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Eniras IRC-babilejon"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC-babilejo (ne aldonu #-prefikson)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC-servilo"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Eniru IRC-babilejon jen"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Eniru IRC-babilejon en ĉi Jabber-ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC agordoj"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -512,23 +524,23 @@ msgstr ""
"serviloj. Elektu \"Sekvonto\" por ekhavi pliajn kampojn. Elektu \"Kompletigu"
"\" por savi agordojn."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC-uzantnomo"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Pasvorto ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Pordo ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Enkodigo por servilo ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Servilo ~b"
@ -549,7 +561,8 @@ msgid "Chatrooms"
msgstr "Babilejoj"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "Vi bezonas klienton kun x:data-funkcio por registri kaŝnomon"
#: mod_muc/mod_muc.erl:717
@ -566,8 +579,8 @@ msgstr "Enmetu kaŝnomon kiun vi volas registri"
msgid "Nickname"
msgstr "Kaŝnomo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Kaŝnomo estas registrita de alia persono"
@ -616,7 +629,7 @@ msgid "is now known as"
msgstr "nun nomiĝas"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " ŝanĝis la temon al: "
@ -720,10 +733,6 @@ msgstr "Babilejo-agordo"
msgid "Room Occupants"
msgstr "Nombro de ĉeestantoj"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Babilejo-nomo"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikrapida limigo superita"
@ -759,8 +768,8 @@ msgstr "Malpermesas sendi mesaĝojn de tipo \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "Ricevanto ne ĉeestas en la babilejo "
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur partoprenantoj rajtas sendi mesaĝojn al la babilejo"
@ -776,210 +785,214 @@ msgstr "Nur partoprenantoj rajtas sendi informmendojn al la babilejoj"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Malpermesas informmendoj al partoprenantoj en ĉi tiu babilejo"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Nur moderigantoj kaj partoprenantoj rajtas ŝanĝi la temon en ĉi tiu babilejo"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur moderigantoj rajtas ŝanĝi la temon en ĉi tiu babilejo"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Vizitantoj ne rajtas sendi mesaĝojn al ĉiuj partoprenantoj"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ĉi tiu partoprenanto estas forpelata de la babilejo pro sendo de erar-ĉeesto"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Ne estas permesata al vizitantoj ŝanĝi siajn kaŝnomojn en ĉi tiu ĉambro"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Tiu kaŝnomo jam estas uzata de alia partoprenanto"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Vi estas malpermesata en ĉi tiu babilejo"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Membreco estas bezonata por eniri ĉi tiun babilejon"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Ĉi tiu babilejo ne estas anonima"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Pasvorto estas bezonata por eniri ĉi tiun babilejon"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Ne eblis krei aŭtomatas turingteston"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Nekorekta pasvorto"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Administrantaj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Moderantaj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s estas nevalida"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Kaŝnomo ~s ne ekzistas en la babilejo"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Nevalida aparteneco: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Nevalida rolo: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Mastraj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Agordo de babilejo ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Babilejo-nomo"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Babilejo-priskribo"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Farigu babilejon daŭra"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Farigu babilejon publike trovebla"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Farigu partoprento-liston publika"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Farigu babilejon protektata per pasvorto"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Limigo de nombro de partoprenantoj"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Neniu limigo"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Montru verajn Jabber ID-ojn al"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "moderantoj sole"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "iu ajn"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Farigu babilejon sole por membroj"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Farigu babilejon moderigata"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Kutime farigu uzantojn kiel partpoprenantoj"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Permesu uzantojn ŝanĝi la temon"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Permesu uzantojn sendi privatajn mesaĝojn"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Permesu uzantojn informpeti aliajn uzantojn"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Permesu uzantojn sendi invitojn"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Permesu al vizitantoj sendi statmesaĝon en ĉeest-sciigoj"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Permesu al vizitantoj ŝanĝi siajn kaŝnomojn"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Farigu babilejon protektata per aŭtomata Turingtesto"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Ŝaltu protokoladon"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Vi bezonas klienton kun x:data-funkcio por agordi la babilejon"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Nombro de ĉeestantoj"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privata, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s invitas vin al la babilejo ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "la pasvorto estas"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Mesaĝo-atendovico de la senkonekta kontakto estas plena. La mesaĝo estas "
"forĵetita"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Mesaĝo-atendovico de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1001,20 +1014,20 @@ msgstr "De"
msgid "To"
msgstr "Ĝis"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pakaĵo"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Forigu elektata(j)n"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Liverontaj mesaĝoj"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Forigu ĉiujn liverontajn mesaĝojn"
@ -1022,111 +1035,135 @@ msgstr "Forigu ĉiujn liverontajn mesaĝojn"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bajtfluo modulo"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Public-Abonado"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Public-Abonada modulo"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubAbo abonpeto"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Elektu ĉu permesi la abonon de ĉi tiu ento"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Nodo ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Abonanta adreso"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Liveru aĵojn de event-sciigoj"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Liveru event-sciigojn"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Sciigu abonantoj kiam la agordo de la nodo ŝanĝas"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Sciigu abonantoj kiam la nodo estas forigita"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Sciigu abonantoj kiam eroj estas forigita de la nodo"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Savu erojn en konservado"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Kromnomo por ĉi tiu nodo"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maksimuma kiomo de eroj en konservado"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Ĉu permesi aboni"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Specifu atingo-modelon"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlist-grupoj kiuj rajtas aboni"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Enmetu publikadan modelon"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Forigu ĉiujn erojn kiam la rilata publikanto malkonektiĝas"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Specifu tipo de event-mesaĝo"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maksimuma aĵo-grando je bajtoj"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Kiam sendi la laste publicitan eron"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Nur liveru sciigojn al konektataj uzantoj"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Aro kun kiu nodo estas filigita"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Vi bezonas klienton kun x:data-funkcio por registri kaŝnomon"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Elektu uzantnomon kaj pasvorton por registri je ĉi tiu servilo"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uzanto"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Ne eblis krei aŭtomatas turingteston"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "la pasvorto estas"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Ne estas permesata al uzantoj registri tiel rapide"
@ -1160,13 +1197,13 @@ msgstr "Forigu"
msgid "Roster of "
msgstr "Kontaktlisto de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Malĝusta formo"
@ -1178,37 +1215,37 @@ msgstr "Aldonu Jabber ID"
msgid "Roster"
msgstr "Kontaktlisto"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Komuna Kontaktlist-grupo"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Aldonu novan"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nomo:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Priskribo:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Membroj:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Montrataj grupoj:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grupo "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1280,11 +1317,6 @@ msgstr "Organiz-parto"
msgid "Search users in "
msgstr "Serĉu uzantojn en "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uzanto"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Vi bezonas klienton kun x:data-funkcio por serĉado"
@ -1407,7 +1439,9 @@ msgstr "Elirantaj s-al-s-konektoj:"
msgid "Outgoing s2s Servers:"
msgstr "Elirantaj s-al-s-serviloj"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Ŝanĝu pasvorton"
@ -1419,7 +1453,8 @@ msgstr "Uzanto "
msgid "Connected Resources:"
msgstr "Konektataj risurcoj:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Pasvorto:"
@ -1628,6 +1663,126 @@ msgstr "Forigu"
msgid "Start"
msgstr "Startu"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "IRC-kaŝnomo"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Servilo ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Pasvortkontrolo"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Kontaktlisto"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Pasvorto:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Pasvorto:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "La aŭtomata Turingtesto estas ĝusta"
#~ msgid "Encodings"
#~ msgstr "Enkodigoj"

View File

@ -33,8 +33,10 @@
{"Backup to File at ","Guardar copia de seguridad en fichero en "}.
{"Bad format","Mal formato"}.
{"Birthday","Cumpleaños"}.
{"CAPTCHA web page","Página web de CAPTCHA"}.
{"Change Password","Cambiar contraseña"}.
{"Change User Password","Cambiar contraseña de usuario"}.
{"Characters not allowed:","Caracteres no permitidos:"}.
{"Chatroom configuration modified","Configuración de la sala modificada"}.
{"Chatroom is created","Se ha creado la sala"}.
{"Chatroom is destroyed","Se ha destruido la sala"}.
@ -69,6 +71,7 @@
{"Description:","Descripción:"}.
{"Disc only copy","Copia en disco solamente"}.
{"Displayed Groups:","Mostrar grupos:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","No le digas tu contraseña a nadie, ni siquiera a los administradores del servidor Jabber."}.
{"Dump Backup to Text File at ","Exporta copia de seguridad a fichero de texto en "}.
{"Dump to Text File","Exportar a fichero de texto"}.
{"Edit Properties","Editar propiedades"}.
@ -120,6 +123,7 @@
{"has been kicked","ha sido expulsado"}.
{" has set the subject to: "," ha puesto el asunto: "}.
{"Host","Dominio"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Si no ves la imagen CAPTCHA aquí, visita la página web."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Si quieres especificar distintos codificaciones de carácteres, contraseñas o puertos para cada servidor IRC rellena esta lista con valores en el formato '{\"servidor irc\", \"codificación\", \"puerto\", \"contrasela\"}'. Este servicio usa por defecto la codificación \"~s\", puerto ~p, sin contraseña."}.
{"Import Directory","Importar directorio"}.
{"Import File","Importar fichero"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages","No está permitido enviar mensajes privados"}.
{"It is not allowed to send private messages of type \"groupchat\"","No está permitido enviar mensajes privados del tipo \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Impedir el envio de mensajes privados a la sala"}.
{"Jabber Account Registration","Registro de Cuenta Jabber"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","El Jabber ID ~s no es válido"}.
{"January","enero"}.
@ -177,6 +182,7 @@
{"May","mayo"}.
{"Membership is required to enter this room","Necesitas ser miembro de esta sala para poder entrar"}.
{"Members:","Miembros:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Memoriza tu contraseña, o apúntala en un papel en un lugar seguro. En Jabber no hay un método automatizado para recuperar la contraseña si la olvidas."}.
{"Memory","Memoria"}.
{"Message body","Cuerpo del mensaje"}.
{"Middle Name","Segundo nombre"}.
@ -190,6 +196,7 @@
{"Name:","Nombre:"}.
{"Name","Nombre"}.
{"Never","Nunca"}.
{"New Password:","Nueva contraseña:"}.
{"Nickname","Apodo"}.
{"Nickname Registration at ","Registro del apodo en "}.
{"Nickname ~s does not exist in the room","El apodo ~s no existe en la sala"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Mensajes diferidos:"}.
{"Offline Messages","Mensajes diferidos"}.
{"OK","Aceptar"}.
{"Old Password:","Contraseña antigua:"}.
{"Online","Conectado"}.
{"Online Users:","Usuarios conectados:"}.
{"Online Users","Usuarios conectados"}.
@ -234,6 +242,7 @@
{"Password ~b","Contraseña ~b"}.
{"Password:","Contraseña:"}.
{"Password","Contraseña"}.
{"Password Verification:","Verificación de la contraseña:"}.
{"Password Verification","Verificación de la contraseña"}.
{"Path to Dir","Ruta al directorio"}.
{"Path to File","Ruta al fichero"}.
@ -257,8 +266,10 @@
{"Raw","Crudo"}.
{"Really delete message of the day?","¿Está seguro de quere borrar el mensaje del dia?"}.
{"Recipient is not in the conference room","El receptor no está en la sala de conferencia"}.
{"Register a Jabber account","Registrar una cuenta Jabber"}.
{"Registered Users:","Usuarios registrados:"}.
{"Registered Users","Usuarios registrados"}.
{"Register","Registrar"}.
{"Registration in mod_irc for ","Registro en mod_irc para"}.
{"Remote copy","Copia remota"}.
{"Remove All Offline Messages","Borrar todos los mensajes diferidos"}.
@ -295,6 +306,7 @@
{"Send announcement to all users on all hosts","Enviar anuncio a todos los usuarios en todos los dominios"}.
{"September","septiembre"}.
{"Server ~b","Servidor ~b"}.
{"Server:","Servidor:"}.
{"Set message of the day and send to online users","Poner mensaje del dia y enviar a todos los usuarios conectados"}.
{"Set message of the day on all hosts and send to online users","Poner mensaje del día en todos los dominios y enviar a los usuarios conectados"}.
{"Shared Roster Groups","Grupos Compartidos"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Mostrar Tabla Ordinaria"}.
{"Shut Down Service","Detener el servicio"}.
{"~s invites you to the room ~s","~s te invita a la sala ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Algunos clientes Jabber pueden recordar tu contraseña en la máquina. Usa esa opción solo si confías en que la máquina que usas es segura."}.
{"Specify the access model","Especifica el modelo de acceso"}.
{"Specify the event message type","Especifica el tipo del mensaje de evento"}.
{"Specify the publisher model","Especificar el modelo del publicante"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Ese apodo ya está siendo usado por otro ocupante"}.
{"That nickname is registered by another person","El apodo ya está registrado por otra persona"}.
{"The captcha is valid.","El captcha es válido."}.
{"The CAPTCHA verification has failed","La verificación de CAPTCHA ha fallado"}.
{"The collections with which a node is affiliated","Las colecciones a las que un nodo está afiliado"}.
{"the password is","la contraseña es"}.
{"The password is too weak","La contraseña es demasiado débil"}.
{"The password of your Jabber account was successfully changed.","La contraseña de tu cuenta Jabber se ha cambiado correctamente."}.
{"There was an error changing the password: ","Hubo un error cambiando la contraseña."}.
{"There was an error creating the account: ","Hubo uno error al crear la cuenta:"}.
{"There was an error deleting the account: ","Hubo un error borrando la cuenta."}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","No importa si usas mayúsculas: macbeth es lo mismo que MacBeth y Macbeth."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Esta página te permite crear una cuenta Jabber este servidor Jabber. Tu JID (Jabber IDentificador) será de la forma: nombredeusuario@servidor. Por favor lee detenidamente las instrucciones para rellenar correctamente los campos."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Esta página te permite borrar tu cuenta Jabber en este servidor Jabber."}.
{"This participant is kicked from the room because he sent an error message","Este participante ha sido expulsado de la sala porque envió un mensaje de error"}.
{"This participant is kicked from the room because he sent an error message to another participant","Este participante ha sido expulsado de la sala porque envió un mensaje de error a otro participante"}.
{"This participant is kicked from the room because he sent an error presence","Este participante ha sido expulsado de la sala porque envió una presencia de error"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Transacciones reiniciadas:"}.
{"Tuesday","martes"}.
{"Unable to generate a captcha","No se pudo generar un captcha."}.
{"Unable to generate a CAPTCHA","No se pudo generar un CAPTCHA"}.
{"Unauthorized","No autorizado"}.
{"Unregister a Jabber account","Borrar una cuenta Jabber"}.
{"Unregister","Borrar"}.
{"Update ","Actualizar "}.
{"Update","Actualizar"}.
{"Update message of the day (don't send)","Actualizar mensaje del dia, pero no enviarlo"}.
@ -355,6 +380,7 @@
{"Uptime:","Tiempo desde el inicio:"}.
{"Use of STARTTLS required","Es obligatorio usar STARTTLS"}.
{"User Management","Administración de usuarios"}.
{"Username:","Nombre de usuario:"}.
{"Users are not allowed to register accounts so quickly","Los usuarios no tienen permitido crear cuentas con tanta rapidez"}.
{"Users Last Activity","Última actividad de los usuarios"}.
{"Users","Usuarios"}.
@ -367,11 +393,16 @@
{"Wednesday","miércoles"}.
{"When to send the last published item","Cuando enviar el último elemento publicado"}.
{"Whether to allow subscriptions","Permitir subscripciones"}.
{"You can later change your password using a Jabber client.","Puedes cambiar tu contraseña después, usando un cliente Jabber."}.
{"You have been banned from this room","Has sido bloqueado en esta sala"}.
{"You must fill in field \"Nickname\" in the form","Debes rellenar el campo \"Apodo\" en el formulario"}.
{"You need a client that supports x:data and CAPTCHA to register","Necesitas un cliente con soporte de x:data y CAPTCHA para registrarte"}.
{"You need a client that supports x:data to register the nickname","Necesitas un cliente con soporte de x:data para poder registrar el apodo"}.
{"You need an x:data capable client to configure mod_irc settings","Necesitas un cliente con soporte de x:data para configurar las opciones de mod_irc"}.
{"You need an x:data capable client to configure room","Necesitas un cliente con soporte de x:data para configurar la sala"}.
{"You need an x:data capable client to register nickname","Necesitas un cliente con soporte de x:data para poder registrar el apodo"}.
{"You need an x:data capable client to search","Necesitas un cliente con soporte de x:data para poder buscar"}.
{"Your active privacy list has denied the routing of this stanza.","Tu lista de privacidad activa ha denegado el encío de este paquete."}.
{"Your contact offline message queue is full. The message has been discarded.","Tu cola de mensajes diferidos de contactos está llena. El mensaje se ha descartado."}.
{"Your Jabber account was successfully created.","Tu cuenta Jabber se ha creado correctamente."}.
{"Your Jabber account was successfully deleted.","Tu cuenta Jabber se ha borrado correctamente."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Tus mensajes a ~s están siendo bloqueados. Para desbloquearlos, visita ~s"}.

View File

@ -3,37 +3,49 @@
msgid ""
msgstr ""
"Project-Id-Version: es\n"
"PO-Revision-Date: 2010-05-21 00:15+0200\n"
"Last-Translator: Badlop <badlop@process-one.net>\n"
"Language-Team: <en@li.org>\n"
"PO-Revision-Date: 2010-11-19 13:40+0100\n"
"Last-Translator: \n"
"Language-Team: \n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Spanish (castellano)\n"
"X-Generator: KBabel 1.11.4\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Es obligatorio usar STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "No se ha proporcionado recurso"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Reemplazado por una nueva conexión"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "Tu lista de privacidad activa ha denegado el encío de este paquete."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Teclea el texto que ves"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Tus mensajes a ~s están siendo bloqueados. Para desbloquearlos, visita ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Si no ves la imagen CAPTCHA aquí, visita la página web."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Página web de CAPTCHA"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "El captcha es válido."
@ -367,7 +379,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Contraseña"
@ -438,17 +450,17 @@ msgstr "Transporte de IRC"
msgid "ejabberd IRC module"
msgstr "Módulo de IRC para ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Necesitas un cliente con soporte de x:data para configurar las opciones de "
"mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registro en mod_irc para"
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -456,11 +468,11 @@ msgstr ""
"Introduce el nombre de usuario, codificaciones de carácteres, puertos y "
"contraseñas que quieras usar al conectar en los servidores de IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nombre de usuario en IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -472,7 +484,7 @@ msgstr ""
"'{\"servidor irc\", \"codificación\", \"puerto\", \"contrasela\"}'. Este "
"servicio usa por defecto la codificación \"~s\", puerto ~p, sin contraseña."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -480,35 +492,35 @@ msgstr ""
"Ejemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parámetros de conexiones"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Entrar en canal IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Canal IRC (no pongas el # del principio)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Servidor IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Entrar en el canal de IRC aquí"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra en el canal de IRC en esta dirección Jabber: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Opciones de IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -518,23 +530,23 @@ msgstr ""
"usar al conectar en los servidores de IRC. Pulsa Siguiente para conseguir "
"más campos en el formulario. Pulsa Completar para guardar las opciones."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nombre de usuario en IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Contraseña ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Puerto ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Codificación del servidor ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Servidor ~b"
@ -557,7 +569,7 @@ msgid "Chatrooms"
msgstr "Salas de charla"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Necesitas un cliente con soporte de x:data para poder registrar el apodo"
@ -575,8 +587,8 @@ msgstr "Introduce el apodo que quieras registrar"
msgid "Nickname"
msgstr "Apodo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "El apodo ya está registrado por otra persona"
@ -625,7 +637,7 @@ msgid "is now known as"
msgstr "se cambia el nombre a"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " ha puesto el asunto: "
@ -729,10 +741,6 @@ msgstr "Configuración de la sala"
msgid "Room Occupants"
msgstr "Ocupantes de la sala"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Título de la sala"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Se ha exedido el límite de tráfico"
@ -768,8 +776,8 @@ msgstr "No está permitido enviar mensajes privados del tipo \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "El receptor no está en la sala de conferencia"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Solo los ocupantes pueden enviar mensajes a la sala"
@ -785,212 +793,216 @@ msgstr "Solo los ocupantes pueden enviar solicitudes a la sala"
msgid "Queries to the conference members are not allowed in this room"
msgstr "En esta sala no se permiten solicitudes a los miembros de la sala"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"Solo los moderadores y participantes pueden cambiar el asunto de esta sala"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Solo los moderadores pueden cambiar el asunto de esta sala"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Los visitantes no pueden enviar mensajes a todos los ocupantes"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Este participante ha sido expulsado de la sala porque envió una presencia de "
"error"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Los visitantes no tienen permitido cambiar sus apodos en esta sala"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Ese apodo ya está siendo usado por otro ocupante"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Has sido bloqueado en esta sala"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Necesitas ser miembro de esta sala para poder entrar"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Sala no anónima"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Se necesita contraseña para entrar en esta sala"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "No se pudo generar un captcha."
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Contraseña incorrecta"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Se necesita privilegios de administrador"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Se necesita privilegios de moderador"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no es válido"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "El apodo ~s no existe en la sala"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Afiliación no válida: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Rol no válido: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Se requieren privilegios de propietario de la sala"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Configuración para la sala ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Título de la sala"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Descripción de la sala"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Sala permanente"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Sala públicamente visible"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "La lista de participantes es pública"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Proteger la sala con contraseña"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Sin límite"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Los Jabber ID reales pueden verlos"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "solo moderadores"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "cualquiera"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Sala sólo para miembros"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Sala moderada"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Los usuarios son participantes por defecto"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Permitir a los usuarios cambiar el asunto"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Permitir a los usuarios enviar mensajes privados"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Permitir a los usuarios consultar a otros usuarios"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Permitir a los usuarios enviar invitaciones"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permitir a los visitantes enviar texto de estado en las actualizaciones de "
"presencia"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Permitir a los visitantes cambiarse el apodo"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Proteger la sala con captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Guardar históricos"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar la sala"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Número de ocupantes"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s te invita a la sala ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "la contraseña es"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Tu cola de mensajes diferidos de contactos está llena. El mensaje se ha "
"descartado."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Cola de mensajes diferidos de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1012,20 +1024,20 @@ msgstr "De"
msgid "To"
msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paquete"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar los seleccionados"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Mensajes diferidos:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Borrar todos los mensajes diferidos"
@ -1033,112 +1045,133 @@ msgstr "Borrar todos los mensajes diferidos"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo SOCKS5 Bytestreams para ejabberd"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Servicio de Publicar-Subscribir"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir si aprobar la subscripción de esta entidad."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Nodo ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Dirección del subscriptor"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Enviar contenidos junto con las notificaciones de eventos"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Entregar notificaciones de eventos"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cuando cambia la configuración del nodo"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cuando el nodo se borra"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cuando los elementos se borran del nodo"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Persistir elementos al almacenar"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Un nombre sencillo para el nodo"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Especifica el modelo de acceso"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Grupos de contactos que pueden suscribirse"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Especificar el modelo del publicante"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Borra todos los elementos cuando el publicador relevante se desconecta"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Especifica el tipo del mensaje de evento"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Máximo tamaño del contenido en bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Cuando enviar el último elemento publicado"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Solo enviar notificaciones a los usuarios disponibles"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Las colecciones a las que un nodo está afiliado"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "La verificación de CAPTCHA ha fallado"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Necesitas un cliente con soporte de x:data y CAPTCHA para registrarte"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Escoge un nombre de usuario y contraseña para registrarte en este servidor"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuario"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "No se pudo generar un CAPTCHA"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "La contraseña es demasiado débil"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Los usuarios no tienen permitido crear cuentas con tanta rapidez"
@ -1172,13 +1205,13 @@ msgstr "Borrar"
msgid "Roster of "
msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Mal formato"
@ -1190,37 +1223,37 @@ msgstr "Añadir Jabber ID"
msgid "Roster"
msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Grupos Compartidos"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Añadir nuevo"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nombre:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Descripción:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Miembros:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Mostrar grupos:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grupo "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1292,11 +1325,6 @@ msgstr "Unidad de la organización"
msgid "Search users in "
msgstr "Buscar usuarios en "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuario"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar"
@ -1419,7 +1447,9 @@ msgstr "Conexiones S2S salientes:"
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S salientes:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Cambiar contraseña"
@ -1431,7 +1461,8 @@ msgstr "Usuario "
msgid "Connected Resources:"
msgstr "Recursos conectados:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Contraseña:"
@ -1643,3 +1674,124 @@ msgstr "Eliminar"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Iniciar"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Tu cuenta Jabber se ha creado correctamente."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Hubo uno error al crear la cuenta:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Tu cuenta Jabber se ha borrado correctamente."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Hubo un error borrando la cuenta."
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "La contraseña de tu cuenta Jabber se ha cambiado correctamente."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Hubo un error cambiando la contraseña."
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Registro de Cuenta Jabber"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Registrar una cuenta Jabber"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Borrar una cuenta Jabber"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Esta página te permite crear una cuenta Jabber este servidor Jabber. Tu JID "
"(Jabber IDentificador) será de la forma: nombredeusuario@servidor. Por favor "
"lee detenidamente las instrucciones para rellenar correctamente los campos."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Nombre de usuario:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"No importa si usas mayúsculas: macbeth es lo mismo que MacBeth y Macbeth."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Caracteres no permitidos:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Servidor:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"No le digas tu contraseña a nadie, ni siquiera a los administradores del "
"servidor Jabber."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr "Puedes cambiar tu contraseña después, usando un cliente Jabber."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Algunos clientes Jabber pueden recordar tu contraseña en la máquina. Usa esa "
"opción solo si confías en que la máquina que usas es segura."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Memoriza tu contraseña, o apúntala en un papel en un lugar seguro. En Jabber "
"no hay un método automatizado para recuperar la contraseña si la olvidas."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Verificación de la contraseña:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Registrar"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Contraseña antigua:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Nueva contraseña:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
"Esta página te permite borrar tu cuenta Jabber en este servidor Jabber."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Borrar"

View File

@ -33,8 +33,10 @@
{"Backup to File at ","Sauvegarde sur fichier sur "}.
{"Bad format","Mauvais format"}.
{"Birthday","Date d'anniversaire"}.
{"CAPTCHA web page","Page web de CAPTCHA"}.
{"Change Password","Modifier le mot de passe"}.
{"Change User Password","Changer le mot de passe de l'utilisateur"}.
{"Characters not allowed:","Caractères non-autorisés :"}.
{"Chatroom configuration modified","Configuration du salon modifiée"}.
{"Chatroom is created","Le salon de discussion est créé"}.
{"Chatroom is destroyed","Le salon de discussion est détruit"}.
@ -69,6 +71,7 @@
{"Description:","Description :"}.
{"Disc only copy","Copie sur disque uniquement"}.
{"Displayed Groups:","Groupes affichés :"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Ne révélez votre mot de passe à personne, pas même l'administrateur de ce serveur."}.
{"Dump Backup to Text File at ","Enregistrer la sauvegarde dans un fichier texte sur "}.
{"Dump to Text File","Sauvegarder dans un fichier texte"}.
{"Edit Properties","Modifier les propriétés"}.
@ -120,6 +123,7 @@
{"has been kicked because the room has been changed to members-only","a été éjecté car la salle est désormais réservée aux membres"}.
{" has set the subject to: "," a changé le sujet pour: "}.
{"Host","Serveur"}.
{"If you don't see the CAPTCHA image here, visit the web page.","SI vous ne voyez pas l'image CAPTCHA ici, visitez la page web."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Si vous voulez préciser différents ports, mots de passe, et encodages pour les serveurs IRC, remplissez cette liste avec des valeurs dans le format '{\"serveur irc\", \"encodage\", port, \"mot de passe\"}'. Par défaut ce service utilise l'encodage \"~s\", port ~p, mot de passe vide."}.
{"Import Directory","Importer une répertoire"}.
{"Import File","Importer un fichier"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages","L'envoi de messages privés n'est pas autorisé"}.
{"It is not allowed to send private messages of type \"groupchat\"","Il n'est pas permis d'envoyer des messages privés de type \"groupchat\""}.
{"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 Account Registration","Enregistrement du Compte Jabber"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Le Jabber ID ~s n'est pas valide"}.
{"January","Janvier"}.
@ -177,6 +182,7 @@
{"May","Mai"}.
{"Membership is required to enter this room","Vous devez être membre pour accèder à ce salon"}.
{"Members:","Membres :"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Mémorisez votre mot de passe, ou écrivez-le sur un papier conservé dans un endroit secret. Dans Jabber il n'y a pas de mécanisme pour retrouver votre mot de passe si vous l'avez oublié."}.
{"Memory","Mémoire"}.
{"Message body","Corps du message"}.
{"Middle Name","Autre nom"}.
@ -190,6 +196,7 @@
{"Name:","Nom :"}.
{"Name","Nom"}.
{"Never","Jamais"}.
{"New Password:","Nouveau mot de passe:"}.
{"Nickname","Pseudo"}.
{"Nickname Registration at ","Enregistrement d'un pseudo sur "}.
{"Nickname ~s does not exist in the room","Le pseudo ~s n'existe pas dans ce salon"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Messages en attente :"}.
{"Offline Messages","Messages en attente"}.
{"OK","OK"}.
{"Old Password:","Ancien mot de passe:"}.
{"Online","En ligne"}.
{"Online Users:","Utilisateurs connectés:"}.
{"Online Users","Utilisateurs en ligne"}.
@ -234,6 +242,7 @@
{"Password ~b","Mot de passe ~b"}.
{"Password:","Mot de passe:"}.
{"Password","Mot de passe"}.
{"Password Verification:","Vérification du mot de passe :"}.
{"Password Verification","Vérification du mot de passe"}.
{"Path to Dir","Chemin vers le répertoire"}.
{"Path to File","Chemin vers le fichier"}.
@ -257,8 +266,10 @@
{"Raw","Brut"}.
{"Really delete message of the day?","Confirmer la suppression du message du jour ?"}.
{"Recipient is not in the conference room","Le destinataire n'est pas dans la conférence"}.
{"Register a Jabber account","Enregistrer un compte Jabber"}.
{"Registered Users:","Utilisateurs enregistrés:"}.
{"Registered Users","Utilisateurs enregistrés"}.
{"Register","Enregistrer"}.
{"Registration in mod_irc for ","Enregistrement du mod_irc pour "}.
{"Remote copy","Copie distante"}.
{"Remove All Offline Messages","Effacer tous les messages hors ligne"}.
@ -295,6 +306,7 @@
{"Send announcement to all users on all hosts","Envoyer une annonce à tous les utilisateurs de tous les domaines"}.
{"September","Septembre"}.
{"Server ~b","Serveur ~b"}.
{"Server:","Serveur :"}.
{"Set message of the day and send to online users","Définir le message du jour et l'envoyer aux utilisateurs en ligne"}.
{"Set message of the day on all hosts and send to online users","Définir le message du jour pour tous domaines et l'envoyer aux utilisateurs en ligne"}.
{"Shared Roster Groups","Groupes de liste de contacts partagée"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Montrer la table ordinaire"}.
{"Shut Down Service","Arrêter le service"}.
{"~s invites you to the room ~s","~s vous a invité dans la salle de discussion ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Certains clients Jabber peuvent stocker votre mot de passe sur votre ordinateur. N'utilisez cette fonctionnalité que si vous avez confiance en la sécurité de votre ordinateur."}.
{"Specify the access model","Définir le modèle d'accès"}.
{"Specify the event message type","Définir le type de message d'événement"}.
{"Specify the publisher model","Définir le modèle de publication"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Le pseudo est déjà utilisé par un autre occupant"}.
{"That nickname is registered by another person","Le pseudo est enregistré par une autre personne"}.
{"The captcha is valid.","Le captcha est valide"}.
{"The CAPTCHA verification has failed","La vérification du CAPTCHA a échoué"}.
{"The collections with which a node is affiliated","Les collections avec lesquelle un nœud est affilié"}.
{"the password is","le mot de passe est"}.
{"The password is too weak","Le mot de passe est trop faible"}.
{"The password of your Jabber account was successfully changed.","Le mot de passe de votre compte Jabber a été changé avec succès."}.
{"There was an error changing the password: ","Il y a eu une erreur en changeant le mot de passe :"}.
{"There was an error creating the account: ","Il y a eu une erreur en créant le compte :"}.
{"There was an error deleting the account: ","Il y a eu une erreur en effaçant le compte :"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","C'est insensible à la casse : macbeth est identique à MacBeth et Macbeth."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Cette page permet de créer un compte Jabber sur ce serveur Jabber. Votre JID (Jabber IDentifier, identifiant Jabber) sera de la forme : nom@serveur. Prière de lire avec attention les instructions pour remplir correctement ces champs."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Cette page permet d'effacer un compte Jabber sur ce serveur Jabber."}.
{"This participant is kicked from the room because he sent an error message","Ce participant est expulsé du salon pour avoir envoyé un message erroné"}.
{"This participant is kicked from the room because he sent an error message to another participant","Ce participant est expulsé du salon pour avoir envoyé un message erroné à un autre participant"}.
{"This participant is kicked from the room because he sent an error presence","Ce participant est expulsé du salon pour avoir envoyé une présence erroné"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Transactions redémarrées :"}.
{"Tuesday","Mardi"}.
{"Unable to generate a captcha","Impossible de générer le captcha"}.
{"Unable to generate a CAPTCHA","Impossible de générer le CAPTCHA"}.
{"Unauthorized","Non autorisé"}.
{"Unregister a Jabber account","Effacer un compte Jabber"}.
{"Unregister","Effacer"}.
{"Update message of the day (don't send)","Mise à jour du message du jour (pas d'envoi)"}.
{"Update message of the day on all hosts (don't send)","Mettre à jour le message du jour sur tous les domaines (ne pas envoyer)"}.
{"Update","Mettre à jour"}.
@ -355,6 +380,7 @@
{"Uptime:","Temps depuis le démarrage :"}.
{"Use of STARTTLS required","L'utilisation de STARTTLS est impérative"}.
{"User Management","Gestion des utilisateurs"}.
{"Username:","Nom d'utilisateur :"}.
{"Users are not allowed to register accounts so quickly","Les utilisateurs ne sont pas autorisés à enregistrer des comptes si rapidement"}.
{"Users Last Activity","Dernière activité des utilisateurs"}.
{"Users","Utilisateurs"}.
@ -367,11 +393,16 @@
{"Wednesday","Mercredi"}.
{"When to send the last published item","A quel moment envoyer le dernier élément publié"}.
{"Whether to allow subscriptions","Autoriser l'abonnement ?"}.
{"You can later change your password using a Jabber client.","Vous pouvez changer votre mot de passe plus tard en utilisant un client Jabber."}.
{"You have been banned from this room","Vous avez été exclus de ce salon"}.
{"You must fill in field \"Nickname\" in the form","Vous devez préciser le champ \"pseudo\" dans le formulaire"}.
{"You need a client that supports x:data and CAPTCHA to register","Vous avez besoin d'un client prenant en charge x:data et CAPTCHA pour enregistrer un pseudo"}.
{"You need a client that supports x:data to register the nickname","Vous avez besoin d'un client prenant en charge x:data pour enregistrer un pseudo"}.
{"You need an x:data capable client to configure mod_irc settings","Vous avez besoin d'un client supportant x:data pour configurer le module IRC"}.
{"You need an x:data capable client to configure room","Vous avez besoin d'un client supportant x:data pour configurer le salon"}.
{"You need an x:data capable client to register nickname","Vous avez besoin d'un client supportant x:data pour enregistrer un pseudo"}.
{"You need an x:data capable client to search","Vous avez besoin d'un client supportant x:data pour faire une recherche"}.
{"Your active privacy list has denied the routing of this stanza.","Votre règle de flitrage active a empêché le routage de ce stanza."}.
{"Your contact offline message queue is full. The message has been discarded.","La file d'attente de message de votre contact est pleine. Votre message a été détruit."}.
{"Your Jabber account was successfully created.","Votre compte Jabber a été créé avec succès."}.
{"Your Jabber account was successfully deleted.","Votre compte Jabber a été effacé avec succès."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Vos messages pour ~s sont bloqués. Pour les débloquer, veuillez visiter ~s"}.

View File

@ -13,28 +13,40 @@ msgstr ""
"X-Additional-Translator: Mickaël Rémond\n"
"X-Additional-Translator: Vincent Ricard\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "L'utilisation de STARTTLS est impérative"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Aucune ressource fournie"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Remplacé par une nouvelle connexion"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "Votre règle de flitrage active a empêché le routage de ce stanza."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Tapez le texte que vous voyez"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Vos messages pour ~s sont bloqués. Pour les débloquer, veuillez visiter ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "SI vous ne voyez pas l'image CAPTCHA ici, visitez la page web."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Page web de CAPTCHA"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Le captcha est valide"
@ -370,7 +382,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Mot de passe"
@ -441,16 +453,16 @@ msgstr "Passerelle IRC"
msgid "ejabberd IRC module"
msgstr "Module IRC ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour configurer le module IRC"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Enregistrement du mod_irc pour "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -458,11 +470,11 @@ msgstr ""
"Entrez le nom d'utilisateur, les encodages, les ports et mots de passe que "
"vous souhaitez utiliser pour vous connecter aux serveurs IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nom d'utilisateur IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -474,7 +486,7 @@ msgstr ""
"'{\"serveur irc\", \"encodage\", port, \"mot de passe\"}'. Par défaut ce "
"service utilise l'encodage \"~s\", port ~p, mot de passe vide."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -482,35 +494,35 @@ msgstr ""
"Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Paramètres de connexion"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Rejoindre un canal IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Canal IRC (ne pas insérer le premier caractère #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Serveur IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Rejoindre un canal IRC ici"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Rejoindre un canal IRC avec ce Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Configuration IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -520,23 +532,23 @@ msgstr ""
"pour vous connecter aux serveurs IRC. Appuyez sur 'Suivant' pour pour avoir "
"d'autres champs à remplir. Appuyez sur 'Terminer' pour sauver les paramètres."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nom d'utilisateur IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Mot de passe ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Codage pour le serveur ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Serveur ~b"
@ -559,9 +571,10 @@ msgid "Chatrooms"
msgstr "Salons de discussion"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour enregistrer un pseudo"
"Vous avez besoin d'un client prenant en charge x:data pour enregistrer un "
"pseudo"
#: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at "
@ -577,8 +590,8 @@ msgstr "Entrez le pseudo que vous souhaitez enregistrer"
msgid "Nickname"
msgstr "Pseudo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Le pseudo est enregistré par une autre personne"
@ -627,7 +640,7 @@ msgid "is now known as"
msgstr "est maintenant connu comme"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " a changé le sujet pour: "
@ -731,10 +744,6 @@ msgstr "Configuration du salon"
msgid "Room Occupants"
msgstr "Occupants du salon"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Titre du salon"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "La limite de trafic a été dépassée"
@ -770,8 +779,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr "Le destinataire n'est pas dans la conférence"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seuls les occupants peuvent envoyer des messages à la conférence"
@ -790,7 +799,7 @@ msgstr ""
"Les requêtes sur les membres de la conférence ne sont pas autorisé dans ce "
"salon"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -798,206 +807,210 @@ msgstr ""
"Seuls les modérateurs et les participants peuvent changer le sujet dans ce "
"salon"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Seuls les modérateurs peuvent changer le sujet dans ce salon"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Les visiteurs ne sont pas autorisés à envoyer des messages à tout les "
"occupants"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ce participant est expulsé du salon pour avoir envoyé une présence erroné"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Les visiteurs ne sont pas autorisés à changer de pseudo dans ce salon"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Le pseudo est déjà utilisé par un autre occupant"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Vous avez été exclus de ce salon"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Vous devez être membre pour accèder à ce salon"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Un mot de passe est nécessaire pour accèder à ce salon"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Impossible de générer le captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Mot de passe incorrect"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Les droits d'administrateur sont nécessaires"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Les droits de modérateur sont nécessaires"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Le Jabber ID ~s n'est pas valide"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Le pseudo ~s n'existe pas dans ce salon"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Affiliation invalide : ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Role invalide : ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Les droits de propriétaire sont nécessaires"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Configuration pour le salon ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Titre du salon"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Description :"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Rendre le salon persistant"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Rendre le salon public"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Rendre la liste des participants publique"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Protéger le salon par mot de passe"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Nombre maximum d'occupants"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Pas de limite"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Rendre le Jabber ID réel visible pour"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "modérateurs seulement"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "tout le monde"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Réserver le salon aux membres uniquement"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Rendre le salon modéré"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Les utilisateurs sont par défaut participant"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Autoriser les utilisateurs à changer le sujet"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Autoriser les utilisateurs à envoyer des messages privés"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr ""
"Permettre aux utilisateurs d'envoyer des requêtes aux autres utilisateurs"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Permettre aux utilisateurs d'envoyer des invitations"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Autoriser les visiteurs à envoyer un message d'état avec leur présence"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Autoriser les visiteurs à changer de pseudo"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Protéger le salon par un captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Activer l'archivage"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Vous avez besoin d'un client supportant x:data pour configurer le salon"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Nombre d'occupants"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privé"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s vous a invité dans la salle de discussion ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "le mot de passe est"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"La file d'attente de message de votre contact est pleine. Votre message a "
"été détruit."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s messages en file d'attente"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1019,20 +1032,20 @@ msgstr "De"
msgid "To"
msgstr "A"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paquet"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Suppression des éléments sélectionnés"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Messages en attente :"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Effacer tous les messages hors ligne"
@ -1040,113 +1053,136 @@ msgstr "Effacer tous les messages hors ligne"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publication-Abonnement"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Module Publish-Subscribe d'ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Demande d'abonnement PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Accepter cet abonnement ?"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Identifiant du nœud"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adresse de l'abonné"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autoriser ce Jabber ID à s'abonner à ce nœud PubSub"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Inclure le contenu du message avec la notification"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Envoyer les notifications d'événement"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Avertir les abonnés lorsque la configuration du nœud change"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Avertir les abonnés lorsque le nœud est supprimé"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Avertir les abonnés lorsque des éléments sont supprimés sur le nœud"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Stockage persistant des éléments"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Un nom convivial pour le noeud"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Nombre maximum d'éléments à stocker"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Autoriser l'abonnement ?"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Définir le modèle d'accès"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Groupes de liste de contact autorisés à s'abonner"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Définir le modèle de publication"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Purger tous les items lorsque publieur est hors-ligne"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Définir le type de message d'événement"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Taille maximum pour le contenu du message en octet"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "A quel moment envoyer le dernier élément publié"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Envoyer les notifications uniquement aux utilisateurs disponibles"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Les collections avec lesquelle un nœud est affilié"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "La vérification du CAPTCHA a échoué"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Vous avez besoin d'un client prenant en charge x:data et CAPTCHA pour "
"enregistrer un pseudo"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Choisissez un nom d'utilisateur et un mot de passe pour s'enregistrer sur ce "
"serveur"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utilisateur"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Impossible de générer le CAPTCHA"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Le mot de passe est trop faible"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr ""
"Les utilisateurs ne sont pas autorisés à enregistrer des comptes si "
@ -1182,13 +1218,13 @@ msgstr "Enlever"
msgid "Roster of "
msgstr "Liste de contact de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Mauvais format"
@ -1200,37 +1236,37 @@ msgstr "Ajouter un Jabber ID"
msgid "Roster"
msgstr "Liste de contacts"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Groupes de liste de contacts partagée"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Ajouter"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nom :"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Description :"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Membres :"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Groupes affichés :"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Groupe "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1302,11 +1338,6 @@ msgstr "Unité de l'organisation"
msgid "Search users in "
msgstr "Rechercher des utilisateurs "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utilisateur"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
@ -1430,7 +1461,9 @@ msgstr "Connexions s2s sortantes:"
msgid "Outgoing s2s Servers:"
msgstr "Serveurs s2s sortants"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Modifier le mot de passe"
@ -1442,7 +1475,8 @@ msgstr "Utilisateur "
msgid "Connected Resources:"
msgstr "Ressources connectées:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Mot de passe:"
@ -1656,6 +1690,135 @@ msgstr "Supprimer"
msgid "Start"
msgstr "Démarrer"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Votre compte Jabber a été créé avec succès."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Il y a eu une erreur en créant le compte :"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Votre compte Jabber a été effacé avec succès."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Il y a eu une erreur en effaçant le compte :"
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Le mot de passe de votre compte Jabber a été changé avec succès."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Il y a eu une erreur en changeant le mot de passe :"
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Enregistrement du Compte Jabber"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Enregistrer un compte Jabber"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Effacer un compte Jabber"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Cette page permet de créer un compte Jabber sur ce serveur Jabber. Votre JID "
"(Jabber IDentifier, identifiant Jabber) sera de la forme : nom@serveur. "
"Prière de lire avec attention les instructions pour remplir correctement ces "
"champs."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Nom d'utilisateur :"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"C'est insensible à la casse : macbeth est identique à MacBeth et Macbeth."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Caractères non-autorisés :"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Serveur :"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"Ne révélez votre mot de passe à personne, pas même l'administrateur de ce "
"serveur."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
"Vous pouvez changer votre mot de passe plus tard en utilisant un client "
"Jabber."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Certains clients Jabber peuvent stocker votre mot de passe sur votre "
"ordinateur. N'utilisez cette fonctionnalité que si vous avez confiance en la "
"sécurité de votre ordinateur."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Mémorisez votre mot de passe, ou écrivez-le sur un papier conservé dans un "
"endroit secret. Dans Jabber il n'y a pas de mécanisme pour retrouver votre "
"mot de passe si vous l'avez oublié."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Vérification du mot de passe :"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Enregistrer"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Ancien mot de passe:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Nouveau mot de passe:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Cette page permet d'effacer un compte Jabber sur ce serveur Jabber."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Effacer"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Le captcha est valide"
#~ msgid "Encodings"
#~ msgstr "Encodages"

View File

@ -365,7 +365,6 @@
{"You must fill in field \"Nickname\" in the form","Debes encher o campo \"Alcumo\" no formulario"}.
{"You need an x:data capable client to configure mod_irc settings","Necesitas un cliente con soporte de x:data para configurar as opcións de mod_irc"}.
{"You need an x:data capable client to configure room","Necesitas un cliente con soporte de x:data para configurar a sala"}.
{"You need an x:data capable client to register nickname","Necesitas un cliente con soporte de x:data para poder rexistrar o alcume"}.
{"You need an x:data capable client to search","Necesitas un cliente con soporte de x:data para poder buscar"}.
{"Your contact offline message queue is full. The message has been discarded.","A túa cola de mensaxes diferidas de contactos está chea. A mensaxe descartouse."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","As súas mensaxes a ~s encóntranse bloqueadas. Para desbloquear, visite ~s"}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Galician (galego)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "É obrigatorio usar STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Non se proporcionou recurso"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Substituído por unha nova conexión"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Introduza o texto que ves"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"As súas mensaxes a ~s encóntranse bloqueadas. Para desbloquear, visite ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "O Captcha é válido."
@ -361,7 +373,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Contrasinal"
@ -432,17 +444,17 @@ msgstr "Transporte IRC"
msgid "ejabberd IRC module"
msgstr "Módulo de IRC para ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Necesitas un cliente con soporte de x:data para configurar as opcións de "
"mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Rexistro en mod_irc para"
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -450,11 +462,11 @@ msgstr ""
"Introduza o nome de usuario, codificaciones de carácter, portos e "
"contrasinal que pretende utilizar a conectar a servidores de IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nome de usuario en IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -466,7 +478,7 @@ msgstr ""
"\"codificación\", \"porto\", \"contrasinal\"}'. Este servizo utiliza por "
"defecto a codificación \"~s\", porto ~p, sen contrasinal."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -474,35 +486,35 @@ msgstr ""
"Exemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parámetros de conexiones"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Entrar en canle IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Canle de IRC (non poñer o primeiro #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Servidor IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Únete á canle de IRC aquí."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Únete á canle de IRC con este IDE de Jabber: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC axustes"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -512,23 +524,23 @@ msgstr ""
"ao conectar nos servidores de IRC. Presione 'Siguiente' para obtener más "
"campos para rellenar Presione 'completo' para guardar axustes."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nome de usuario en IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Contrasinal ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Porto ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Codificación de servidor ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Servidor ~b"
@ -551,7 +563,8 @@ msgid "Chatrooms"
msgstr "Salas de charla"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Necesitas un cliente con soporte de x:data para poder rexistrar o alcume"
@ -569,8 +582,8 @@ msgstr "Introduce o alcume que queiras rexistrar"
msgid "Nickname"
msgstr "Alcume"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "O alcume xa está rexistrado por outra persoa"
@ -619,7 +632,7 @@ msgid "is now known as"
msgstr "cámbiase o nome a"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " puxo o asunto: "
@ -727,10 +740,6 @@ msgstr "Configuración da Sala"
msgid "Room Occupants"
msgstr "Ocupantes da sala"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Título da sala"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Hase exedido o límite de tráfico"
@ -765,8 +774,8 @@ msgstr "Non está permitido enviar mensaxes privadas do tipo \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "O receptor non está na sala de conferencia"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes poden enviar mensaxes á sala"
@ -782,7 +791,7 @@ msgstr "Só os ocupantes poden enviar solicitudes á sala"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala non se permiten solicitudes aos membros da sala"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -790,204 +799,208 @@ msgstr ""
"Só os moderadores e os participantes se lles permite cambiar o tema nesta "
"sala"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Só os moderadores están autorizados a cambiar o tema nesta sala"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes non poden enviar mensaxes a todos os ocupantes"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Este participante é expulsado da sala, porque el enviou un erro de presenza"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Os visitantes non están autorizados a cambiar os seus That alcumes nesta sala"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Ese alcume que xa está en uso por outro ocupante"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "fuches bloqueado nesta sala"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Necesitas ser membro desta sala para poder entrar"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Sala non anónima"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Necesítase contrasinal para entrar nesta sala"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Non se pode xerar un Captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Contrasinal incorrecta"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Necesítase privilexios de administrador"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Necesítase privilexios de moderador"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s non é válido"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "O alcume ~s non existe na sala"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Afiliación non válida: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Rol non válido: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Requírense privilexios de propietario da sala"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Configuración para a sala ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Título da sala"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Descrición da sala"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Sala permanente"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Sala publicamente visible"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "A lista de participantes é pública"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Protexer a sala con contrasinal"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Sen límite"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Os Jabber ID reais poden velos"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "só moderadores"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "calquera"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Sala só para membros"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Facer sala moderada"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Os usuarios son participantes por defecto"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Permitir aos usuarios cambiar o asunto"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Permitir aos usuarios enviar mensaxes privadas"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Permitir aos usuarios consultar a outros usuarios"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Permitir aos usuarios enviar invitacións"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permitir aos visitantes enviar texto de estado nas actualizacións depresenza"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Permitir aos visitantes cambiarse o alcume"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Protexer a sala con captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Gardar históricos"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar a sala"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Número de ocupantes"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s invítache á sala ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "a contrasinal é"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"A túa cola de mensaxes diferidas de contactos está chea. A mensaxe "
"descartouse."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Cola de mensaxes diferidas de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1009,20 +1022,20 @@ msgstr "De"
msgid "To"
msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paquete"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar os seleccionados"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Mensaxes sen conexión:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Borrar Todas as Mensaxes Sen conexión"
@ -1030,113 +1043,138 @@ msgstr "Borrar Todas as Mensaxes Sen conexión"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publicar-Subscribir"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir se aprobar a subscripción desta entidade."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Nodo IDE"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Dirección do subscriptor"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads xunto coas notificacións de eventos"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Entregar notificacións de eventos"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cando cambia a configuración do nodo"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cando o nodo bórrase"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cando os elementos bórranse do nodo"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Persistir elementos ao almacenar"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Un nome para o nodo"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Especifica o modelo de acceso"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Lista de grupos autorizados a subscribir"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Especificar o modelo do publicante"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "Especifica o modelo de acceso"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Máximo tamaño do payload en bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Cando enviar o último elemento publicado"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Só enviar notificacións aos usuarios dispoñibles"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "As coleccións coas que un nodo está afiliado"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Necesitas un cliente con soporte de x:data para poder rexistrar o alcume"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Escolle un nome de usuario e contrasinal para rexistrarche neste servidor"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuario"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Non se pode xerar un Captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "a contrasinal é"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Os usuarios non están autorizados a rexistrar contas con tanta rapidez"
@ -1170,13 +1208,13 @@ msgstr "Borrar"
msgid "Roster of "
msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Mal formato"
@ -1188,37 +1226,37 @@ msgstr "Engadir ID Jabber"
msgid "Roster"
msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Grupos Compartidos"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Engadir novo"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nome:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Descrición:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Membros:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Mostrar grupos:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grupo "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1290,11 +1328,6 @@ msgstr "Unidade da organización"
msgid "Search users in "
msgstr "Buscar usuarios en "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Usuario"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar"
@ -1417,7 +1450,9 @@ msgstr "Conexións S2S saíntes:"
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S saíntes:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Cambiar contrasinal"
@ -1429,7 +1464,8 @@ msgstr "Usuario "
msgid "Connected Resources:"
msgstr "Recursos conectados:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Contrasinal:"
@ -1643,6 +1679,126 @@ msgstr "Eliminar"
msgid "Start"
msgstr "Iniciar"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Nome de usuario en IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Servidor ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Verificación da contrasinal"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Lista de contactos"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Contrasinal:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Contrasinal:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "O Captcha é válido."
#~ msgid "Encodings"
#~ msgstr "Codificaciones"

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","Si deve riempire il campo \"Nickname\" nel modulo"}.
{"You need an x:data capable client to configure mod_irc settings","Per la configurazione del modulo IRC è necessario un client che supporti x:data"}.
{"You need an x:data capable client to configure room","Per la configurazione della stanza è necessario un client che supporti x:data"}.
{"You need an x:data capable client to register nickname","Per registrare un nickname è necessario un client che supportix:data"}.
{"You need an x:data capable client to search","Per effettuare ricerche è necessario un client che supporti x:data"}.
{"Your contact offline message queue is full. The message has been discarded.","La coda dei messaggi offline del contatto è piena. Il messaggio è stato scartato"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","I messaggi verso ~s sono bloccati. Per sbloccarli, visitare ~s"}.

View File

@ -9,27 +9,39 @@ msgstr ""
"X-Additional-Translator: Gabriele Stilli <superenzima@libero.it>\n"
"X-Additional-Translator: Smart2128\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Utilizzo di STARTTLS obbligatorio"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Nessuna risorsa fornita"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Sostituito da una nuova connessione"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Immettere il testo visibile"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "I messaggi verso ~s sono bloccati. Per sbloccarli, visitare ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Il captcha è valido."
@ -365,7 +377,7 @@ msgid "Jabber ID"
msgstr "Jabber ID (Jabber ID)"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Password"
@ -436,17 +448,17 @@ msgstr "Transport IRC"
msgid "ejabberd IRC module"
msgstr "Modulo IRC per ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Per la configurazione del modulo IRC è necessario un client che supporti x:"
"data"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registrazione in mod_irc per "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -454,11 +466,11 @@ msgstr ""
"Immettere il nome utente, le codifiche, le porte e le password che si "
"desidera utilizzare per la connessione ai server IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nome utente IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -470,7 +482,7 @@ msgstr ""
"\", \"codifica\", porta, \"password\"}'. Per default questo servizio "
"utilizza la codifica \"~s\", la porta ~p, la password vuota."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -478,35 +490,35 @@ msgstr ""
"Esempio: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"segreto\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.serverdiprova.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parametri delle connessioni"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Entra nel canale IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Canale IRC (senza il # iniziale)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Server IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Entra nel canale IRC qui."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra nel canale IRC in questo ID Jabber: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Impostazioni IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -516,23 +528,23 @@ msgstr ""
"connessione ai server IRC. Premere \"Avanti\" per vedere i successivi campi "
"da compilare. Premere \"Fatto\" per salvare le impostazioni."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nome utente IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Password ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Porta ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Codifica per il server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -555,7 +567,8 @@ msgid "Chatrooms"
msgstr "Stanze"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "Per registrare un nickname è necessario un client che supportix:data"
#: mod_muc/mod_muc.erl:717
@ -572,8 +585,8 @@ msgstr "Immettere il nickname che si vuole registrare"
msgid "Nickname"
msgstr "Nickname"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Questo nickname è registrato da un'altra persona"
@ -622,7 +635,7 @@ msgid "is now known as"
msgstr "è ora conosciuta/o come"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " ha modificato l'oggetto in: "
@ -726,10 +739,6 @@ msgstr "Configurazione della stanza"
msgid "Room Occupants"
msgstr "Presenti nella stanza"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Titolo della stanza"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Limite di traffico superato"
@ -764,8 +773,8 @@ msgstr "Non è consentito l'invio di messaggi privati di tipo \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "Il destinatario non è nella stanza per conferenze"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "L'invio di messaggi alla conferenza è consentito soltanto ai presenti"
@ -781,7 +790,7 @@ msgstr "L'invio di query alla conferenza è consentito ai soli presenti"
msgid "Queries to the conference members are not allowed in this room"
msgstr "In questa stanza non sono consentite query ai membri della conferenza"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -789,206 +798,210 @@ msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai "
"moderatori e ai partecipanti"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai moderatori"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Non è consentito ai visitatori l'invio di messaggi a tutti i presenti"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Partecipante espulso dalla stanza perché ha inviato una presenza non valido"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Non è consentito ai visitatori cambiare il nickname in questa stanza"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Il nickname è già in uso all'interno della conferenza"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Sei stata/o bandita/o da questa stanza"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Per entrare in questa stanza è necessario essere membro"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Questa stanza non è anonima"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Per entrare in questa stanza è prevista una password"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Impossibile generare un captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Password non esatta"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Necessari i privilegi di amministratore"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Necessari i privilegi di moderatore"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Il Jabber ID ~s non è valido"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Il nickname ~s non esiste nella stanza"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Affiliazione non valida: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Ruolo non valido: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Necessari i privilegi di proprietario"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Configurazione per la stanza ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Titolo della stanza"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Descrizione della stanza"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Rendere la stanza persistente"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Rendere la sala visibile al pubblico"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Rendere pubblica la lista dei partecipanti"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Rendere la stanza protetta da password"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Numero massimo di occupanti"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Nessun limite"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Rendere visibile il Jabber ID reale a"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "moderatori soltanto"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "tutti"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Rendere la stanza riservata ai membri"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Rendere la stanza moderata"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Definire per default gli utenti come partecipanti"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Consentire agli utenti di cambiare l'oggetto"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Consentire agli utenti l'invio di messaggi privati"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Consentire agli utenti query verso altri utenti"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Consentire agli utenti l'invio di inviti"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Consentire ai visitatori l'invio di testo sullo stato in aggiornamenti sulla "
"presenza"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Consentire ai visitatori di cambiare il nickname"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Rendere la stanza protetta da captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Abilitare i log"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Per la configurazione della stanza è necessario un client che supporti x:data"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Numero di presenti"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privato, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s ti invita nella stanza ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "la password è"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"La coda dei messaggi offline del contatto è piena. Il messaggio è stato "
"scartato"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Coda di ~s messaggi offline"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1010,20 +1023,20 @@ msgstr "Da"
msgid "To"
msgstr "A"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pacchetto"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminare gli elementi selezionati"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Messaggi offline:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Eliminare tutti i messaggi offline"
@ -1031,114 +1044,138 @@ msgstr "Eliminare tutti i messaggi offline"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Modulo SOCKS5 Bytestreams per ejabberd"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Pubblicazione-Iscrizione"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Modulo Pubblicazione/Iscrizione (PubSub) per ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Richiesta di iscrizione per PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Scegliere se approvare l'iscrizione per questa entità"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID del nodo"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Indirizzo dell'iscritta/o"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Inviare il contenuto del messaggio con la notifica dell'evento"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Inviare notifiche degli eventi"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Notificare gli iscritti quando la configurazione del nodo cambia"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Notificare gli iscritti quando il nodo è cancellato"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Notificare gli iscritti quando sono eliminati degli elementi dal nodo"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Conservazione persistente degli elementi"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Un nome comodo per il nodo"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Numero massimo di elementi da conservare persistentemente"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Consentire iscrizioni?"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Specificare il modello di accesso"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Gruppi roster abilitati alla registrazione"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Definire il modello di pubblicazione"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
"Cancella tutti gli elementi quando chi li ha pubblicati non è più online"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Specificare il tipo di messaggio di evento"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Dimensione massima del contenuto del messaggio in byte"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Quando inviare l'ultimo elemento pubblicato"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Inviare le notifiche solamente agli utenti disponibili"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Le collezioni a cui è affiliato un nodo"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Per registrare un nickname è necessario un client che supportix:data"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Scegliere un nome utente e una password per la registrazione con questo "
"server"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utente"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Impossibile generare un captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "la password è"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Non è consentito agli utenti registrare account così rapidamente"
@ -1172,13 +1209,13 @@ msgstr "Eliminare"
msgid "Roster of "
msgstr "Lista dei contatti di "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Formato non valido"
@ -1190,37 +1227,37 @@ msgstr "Aggiungere un Jabber ID (Jabber ID)"
msgid "Roster"
msgstr "Lista dei contatti"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Gruppi di liste di contatti comuni"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Aggiungere nuovo"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nome:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Descrizione:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Membri:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Gruppi visualizzati:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Gruppo "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1292,11 +1329,6 @@ msgstr "Unità dell'organizzazione"
msgid "Search users in "
msgstr "Cercare utenti in "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utente"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Per effettuare ricerche è necessario un client che supporti x:data"
@ -1420,7 +1452,9 @@ msgstr "Connessioni s2s in uscita:"
msgid "Outgoing s2s Servers:"
msgstr "Server s2s in uscita"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Modificare la password"
@ -1432,7 +1466,8 @@ msgstr "Utente "
msgid "Connected Resources:"
msgstr "Risorse connesse:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Password:"
@ -1642,3 +1677,123 @@ msgstr "Eliminare"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Avviare"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Nome utente IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Server ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Verifica della password"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Lista dei contatti"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Password:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Password:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Il captcha è valido."

View File

@ -33,8 +33,10 @@
{"Backup to File at ","ファイルにバックアップ"}.
{"Bad format","不正なフォーマット"}.
{"Birthday","誕生日"}.
{"CAPTCHA web page","キャプチャWEBページ"}.
{"Change Password","パスワードの変更"}.
{"Change User Password","パスワードを変更"}.
{"Characters not allowed:","許可されていない文字:"}.
{"Chatroom configuration modified","チャットルームの設定を変更しました"}.
{"Chatroom is created","チャットルームは作られました。"}.
{"Chatroom is destroyed","チャットルームは削除されました。"}.
@ -69,6 +71,7 @@
{"Description:","詳細:"}.
{"Disc only copy","ディスクだけのコピー"}.
{"Displayed Groups:","表示グループ"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","パスワードは誰にも教えないようにして下さい。Jabberサーバーの管理者があなたにパスワードを尋ねることはありません。"}.
{"Dump Backup to Text File at ","テキストファイルにバックアップ"}.
{"Dump to Text File","テキストファイルに出力"}.
{"Edit Properties","プロパティの編集"}.
@ -120,6 +123,7 @@
{"has been kicked because the room has been changed to members-only","はチャットルームのメンバー制限によりキックされました"}.
{" has set the subject to: "," は件名を設定しました: "}.
{"Host","ホスト"}.
{"If you don't see the CAPTCHA image here, visit the web page.","ここにキャプチャ画像が表示されない場合、WEBページを参照してください。"}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","別のポートやパスワード、文字エンコーディングを使用したい場合、'{\"irc server\", \"encoding\", port, \"password\"}' という形式のリストを入力して下さい。デフォルトでエンコーディングは \"~s\" を使用し、ポートは ~p、パスワードは空になっています。"}.
{"Import Directory","ディレクトリインポート"}.
{"Import File","ファイルかインポート"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages of type \"groupchat\"","種別が\"groupchat\" であるプライベートメッセージは許可されていません"}.
{"It is not allowed to send private messages to the conference","カンファレンスルームにプライベートメッセージを送信することは出来ません"}.
{"It is not allowed to send private messages","プライベートメッセージを送信することは許可されませんでした"}.
{"Jabber Account Registration","Jabberアカウント登録"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s は無効です"}.
{"January","1月"}.
@ -177,6 +182,7 @@
{"May","5月"}.
{"Members:","メンバー:"}.
{"Membership is required to enter this room","チャットルームに入るにはメンバーでなければなりません"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","パスワードは記憶するか、紙に書いて安全な場所に保管して下さい。もしあなたがパスワードを忘れてしまった場合、Jabberではパスワードのリカバリを自動的に行うことは出来ません。"}.
{"Memory","メモリ"}.
{"Message body","本文"}.
{"Middle Name","ミドルネーム"}.
@ -190,6 +196,7 @@
{"Name","名"}.
{"Name:","名前: "}.
{"Never","無し"}.
{"New Password:","新しいパスワード:"}.
{"Nickname","ニックネーム"}.
{"Nickname Registration at ","ニックネーム登録: "}.
{"Nickname ~s does not exist in the room","ニックネーム ~s はこのチャットルームに居ません"}.
@ -214,6 +221,7 @@
{"Offline Messages:","オフラインメッセージ"}.
{"Offline Messages","オフラインメッセージ"}.
{"OK","OK"}.
{"Old Password:","古いパスワード:"}.
{"Online","オンライン"}.
{"Online Users:","オンラインユーザー:"}.
{"Online Users","オンラインユーザー"}.
@ -234,6 +242,7 @@
{"Password:","パスワード"}.
{"Password","パスワード"}.
{"Password ~b","パスワード ~b"}.
{"Password Verification:","パスワード(確認):"}.
{"Password Verification","パスワード(確認)"}.
{"Path to Dir","ディレクトリのパス"}.
{"Path to File","ファイルパス"}.
@ -257,8 +266,10 @@
{"Raw","Raw"}.
{"Really delete message of the day?","本当にお知らせメッセージを削除しますか?"}.
{"Recipient is not in the conference room","受信者がカンファレンスルームに居ません"}.
{"Register a Jabber account","Jabberアカウントを登録"}.
{"Registered Users:","登録ユーザー:"}.
{"Registered Users","登録ユーザー"}.
{"Register","登録"}.
{"Registration in mod_irc for ","mod_irc での登録: "}.
{"Remote copy","リモートコピー"}.
{"Remove All Offline Messages","すべてのオフラインメッセージを削除します"}.
@ -274,7 +285,7 @@
{"Restore binary backup immediately:","直ちにバイナリバックアップからリストア"}.
{"Restore plain text backup immediately:","直ちにプレーンテキストバックアップからリストア"}.
{"Room Configuration","チャットルーム設定"}.
{"Room creation is denied by service policy","サービスポリシーによってチャットルームの作成が禁止されています"}.
{"Room creation is denied by service policy","サービスポリシーによってチャットルームの作成が禁止されています"}.
{"Room description","チャットルームの詳細"}.
{"Room Occupants","居住者の数"}.
{"Room title","チャットルームタイトル"}.
@ -294,6 +305,7 @@
{"Send announcement to all users on all hosts","アナウンスを全ホストのユーザーに送信"}.
{"Send announcement to all users","アナウンスを全てのユーザーに送信"}.
{"September","9月"}.
{"Server:","サーバー:"}.
{"Server ~b","サーバー ~b"}.
{"Set message of the day and send to online users","お知らせメッセージを設定し、オンラインユーザーに送信する"}.
{"Set message of the day on all hosts and send to online users","全ホストのお知らせメッセージを設定し、オンラインユーザーに送信する"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Ordinaryテーブルを表示"}.
{"Shut Down Service","サービスを停止"}.
{"~s invites you to the room ~s","~s はあなたをチャットルーム ~s に招待しています"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Jabberクライアントはコンピューターにあなたのパスワード記憶出来ます。この機能を使用する場合コンピューターが安全であることを確認して下さい。"}.
{"Specify the access model","アクセスモデルを設定する"}.
{"Specify the event message type","イベントメッセージ種別を設定"}.
{"Specify the publisher model","公開モデルを指定する"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","ニックネームは既に他の移住者によって使用されています"}.
{"That nickname is registered by another person","ニックネームは他の人によって登録されています"}.
{"The captcha is valid.","キャプチャは有効です。"}.
{"The CAPTCHA verification has failed","キャプチャ検証は失敗しました"}.
{"The collections with which a node is affiliated","提携されたノードの集合です"}.
{"the password is","パスワードは"}.
{"The password is too weak","このパスワードは単純過ぎます"}.
{"The password of your Jabber account was successfully changed.","Jabberアカウントのパスワード変更に成功しました。"}.
{"There was an error changing the password: ","パスワードの変更中にエラーが発生しました: "}.
{"There was an error creating the account: ","アカウントの作成中にエラーが発生しました: "}.
{"There was an error deleting the account: ","アカウントの削除中にエラーが発生しました: "}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","大文字と小文字は区別しません: macbeth は MacBeth や Macbeth と同じです。"}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","ここはJabberサーバーにアカウント作成を行うページです。あなたのJID(JabberID)は username@server の様な形式に成ります。注意事項通り、正しく項目に記入して下さい。"}.
{"This page allows to unregister a Jabber account in this Jabber server.","ここはサーバーのJabberアカウントの登録削除を行うページです。"}.
{"This participant is kicked from the room because he sent an error message to another participant","他の参加者にエラーメッセージを送信したため、この参加者はキックされました"}.
{"This participant is kicked from the room because he sent an error message","エラーメッセージを送信したため、この参加者はキックされました"}.
{"This participant is kicked from the room because he sent an error presence","エラープレゼンスを送信したため、この参加者はキックされました"}.
@ -344,8 +366,11 @@
{"Transactions Logged:","トランザクションのログ: "}.
{"Transactions Restarted:","トランザクションの再起動:"}.
{"Tuesday","火曜日"}.
{"Unable to generate a captcha","チャプタを生成することが出来ません。"}.
{"Unable to generate a captcha","キャプチャを生成することが出来ません。"}.
{"Unable to generate a CAPTCHA","キャプチャを生成出来ませんでした"}.
{"Unauthorized","認証されていません"}.
{"Unregister a Jabber account","Jabberアカウントの登録解除"}.
{"Unregister","登録解除"}.
{"Update message of the day (don't send)","お知らせメッセージを更新する(送信しない)"}.
{"Update message of the day on all hosts (don't send)","全ホストのお知らせメッセージを更新する"}.
{"Update plan","更新計画"}.
@ -357,6 +382,7 @@
{"User ","ユーザー "}.
{"User","ユーザー"}.
{"User Management","ユーザー管理"}.
{"Username:","ユーザー名:"}.
{"Users","ユーザー"}.
{"Users are not allowed to register accounts so quickly","早すぎるユーザーアカウント登録は許可されていません"}.
{"Users Last Activity","ユーザーの活動履歴"}.
@ -367,11 +393,16 @@
{"Wednesday","水曜日"}.
{"When to send the last published item","最後の公開アイテムを送信するタイミングで"}.
{"Whether to allow subscriptions","購読を許可するかどうか"}.
{"You can later change your password using a Jabber client.","あなたは後からJabberクライアントを使用してパスワードを変更する事が出来ます。"}.
{"You have been banned from this room","あなたはチャットルームからバンされています"}.
{"You must fill in field \"Nickname\" in the form","フォームの\"ニックネーム\"フィールドを入力する必要があります"}.
{"You need a client that supports x:data and CAPTCHA to register","登録を行うにはクライアントがx:dataとキャプチャをサポートする必要があります"}.
{"You need a client that supports x:data to register the nickname","ニックネームを登録するにはクライアントが x:data をサポートする必要があります"}.
{"You need an x:data capable client to configure mod_irc settings","mod_irc の設定にはクライアントが x:data をサポートする必要があります"}.
{"You need an x:data capable client to configure room","チャットルームを設定するにはにはクライアントが x:data をサポートする必要があります"}.
{"You need an x:data capable client to register nickname","ニックネームを登録するにはクライアントが x:data をサポートする必要があります"}.
{"You need an x:data capable client to search","検索を行うためにはクライアントが x:data をサポートする必要があります"}.
{"Your active privacy list has denied the routing of this stanza.","あなたのプライバシーリストはこのスタンザのルーティングを拒否しました。"}.
{"Your contact offline message queue is full. The message has been discarded.","宛先のオフラインメッセージキューが一杯です。このメッセージは破棄されます。"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","~s 宛のメッセージはブロックされています、解除するためにはこちらを見てください ~s"}.
{"Your Jabber account was successfully created.","Jabberアカウントの作成に成功しました。"}.
{"Your Jabber account was successfully deleted.","Jabberアカウントの削除に成功しました。"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","~s 宛のメッセージはブロックされています、解除するにはこちらを見てください ~s"}.

View File

@ -7,29 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Japanese (日本語)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "STARTTLS を使用"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "リソースが提供されませんでした"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "新しいコネクションによって置き換えられました"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "あなたのプライバシーリストはこのスタンザのルーティングを拒否しました。"
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "見えているテキストを入力してください"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"~s 宛のメッセージはブロックされています、解除するためにはこちらを見てくださ"
"い ~s"
"~s 宛のメッセージはブロックされています、解除するにはこちらを見てください ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "ここにキャプチャ画像が表示されない場合、WEBページを参照してください。"
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "キャプチャWEBページ"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "キャプチャは有効です。"
@ -361,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "パスワード"
@ -432,15 +443,15 @@ msgstr "IRC トランスポート"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC module"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "mod_irc の設定にはクライアントが x:data をサポートする必要があります"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "mod_irc での登録: "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -448,11 +459,11 @@ msgstr ""
"IRCサーバーに接続先する為に、使用するユーザー名、文字エンコーディング、ポー"
"ト、パスワードを入力して下さい"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRCユーザー名"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -464,7 +475,7 @@ msgstr ""
"フォルトでエンコーディングは \"~s\" を使用し、ポートは ~p、パスワードは空に"
"なっています。"
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -472,35 +483,35 @@ msgstr ""
"例: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net"
"\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "接続パラメータ"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "IRCチャンネルに参加"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRCチャンネル(先頭に#は不要)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRCサーバー"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "このIRCチャンネルに参加"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Jabber ID: ~s でIRCチャンネルに参加"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC設定"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -510,23 +521,23 @@ msgstr ""
"い。'Next' を押して次の項目に進みます。'Complete' を押すと設定が保存されま"
"す。"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRCユーザー名"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "パスワード ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "ポート ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "サーバーのエンコーディング ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "サーバー ~b"
@ -536,7 +547,7 @@ msgstr "カービス管理者のみがサービスメッセージを送信出来
#: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy"
msgstr "サービスポリシーによってチャットルームの作成が禁止されています"
msgstr "サービスポリシーによってチャットルームの作成が禁止されています"
#: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist"
@ -547,7 +558,7 @@ msgid "Chatrooms"
msgstr "チャットルーム"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"ニックネームを登録するにはクライアントが x:data をサポートする必要があります"
@ -565,8 +576,8 @@ msgstr "登録するニックネームを入力して下さい"
msgid "Nickname"
msgstr "ニックネーム"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "ニックネームは他の人によって登録されています"
@ -615,7 +626,7 @@ msgid "is now known as"
msgstr "は名前を変更しました: "
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " は件名を設定しました: "
@ -719,10 +730,6 @@ msgstr "チャットルーム設定"
msgid "Room Occupants"
msgstr "居住者の数"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "チャットルームタイトル"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "トラフィックレートの制限を超えました"
@ -755,8 +762,8 @@ msgstr "種別が\"groupchat\" であるプライベートメッセージは許
msgid "Recipient is not in the conference room"
msgstr "受信者がカンファレンスルームに居ません"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "移住者のみがカンファレンスに"
@ -773,210 +780,214 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"このチャットルームではカンファレンスメンバーへのクエリーは禁止されています"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr ""
"モデレーターと参加者のみがチャットルームの件名を変更する事を許可されています"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "モデレーターのみがチャットルームの件名を変更出来ます"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ビジターが移住者ににメッセージを送ることは許可されていません"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "エラープレゼンスを送信したため、この参加者はキックされました"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"ビジターはこのチャットルームでニックネームを変更することは許可されていません"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "ニックネームは既に他の移住者によって使用されています"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "あなたはチャットルームからバンされています"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "チャットルームに入るにはメンバーでなければなりません"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "このチャットルームは非匿名です"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "チャットルームに入るにはパスワードが必要です"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "チャプタを生成することが出来ません。"
msgstr "キャプチャを生成することが出来ません。"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "パスワードが違います"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "管理者権限が必要です"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "モデレーター権限が必要です"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s は無効です"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "ニックネーム ~s はこのチャットルームに居ません"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "無効な提携です: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "無効なロールです: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "オーナー権限が必要です"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "チャットルーム ~s の設定"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "チャットルームタイトル"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "チャットルームの詳細"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "チャットルームを永続化します"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "チャットルームを検索可能にします"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "参加者一覧を公開します"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "チャットルームにパスワードを設定します"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "最大移住者数"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "制限無し"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "本当の Jabber ID を公開する"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "モデレーターのみ"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "誰でも"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "チャットルームをメンバーのみに制限する"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "チャットルームをモデレートする"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "デフォルトのユーザーは参加者にする"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "ユーザーによる件名の変更を許可する"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "ユーザーによるプライベートメッセージの送信を許可する"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "ユーザーによる他のユーザーへの問い合わせを許可する"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "ユーザーによる招待を許可する"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "ビジターがプレゼンス更新のステータス文を送信する事を許可する"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "ビジターがニックネームを変更する事を許可します"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "チャットルームをキャプチャで保護します"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "ロギングを有効にする"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"チャットルームを設定するにはにはクライアントが x:data をサポートする必要があ"
"ります"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "居住者の数"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "プライベート"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s はあなたをチャットルーム ~s に招待しています"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "パスワードは"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"宛先のオフラインメッセージキューが一杯です。このメッセージは破棄されます。"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's オフラインメッセージキュー"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -998,20 +1009,20 @@ msgstr "差出人"
msgid "To"
msgstr "宛先"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "パケット"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "選択した項目を削除"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "オフラインメッセージ"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "すべてのオフラインメッセージを削除します"
@ -1019,111 +1030,133 @@ msgstr "すべてのオフラインメッセージを削除します"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubSub 購読リクエスト"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "このエントリを承認するかどうかを選択して下さい"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ードID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "購読アドレス"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "この Jabber ID をこの pubsubードへ購読することを許可しますか"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "イベント通知と同時にペイロードを配送します"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "イベント通知を配送します"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "ノード設定に変更があった時に購読者へ通知します"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "ノードが削除された時に購読者へ通知します"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "アイテムがノードから消された時に購読者へ通知します"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "アイテムをストレージに保存する"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "ノードの為のフレンドリネーム"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "アイテムの最大保存数 #"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "購読を許可するかどうか"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "アクセスモデルを設定する"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "名簿グループは購読を許可しました"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "公開モデルを指定する"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "公開者がオフラインになる時に、全てののアイテムを削除"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "イベントメッセージ種別を設定"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "最大ぺイロードサイズ(byte)"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "最後の公開アイテムを送信するタイミングで"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "有効なユーザーにのみ告知を送信する"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "提携されたノードの集合です"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "キャプチャ検証は失敗しました"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"登録を行うにはクライアントがx:dataとキャプチャをサポートする必要があります"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "サーバーに登録するユーザー名とパスワードを選択して下さい"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "ユーザー"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "キャプチャを生成出来ませんでした"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "このパスワードは単純過ぎます"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "早すぎるユーザーアカウント登録は許可されていません"
@ -1157,13 +1190,13 @@ msgstr "削除"
msgid "Roster of "
msgstr "名簿: "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "不正なフォーマット"
@ -1175,37 +1208,37 @@ msgstr "Jabber ID の追加"
msgid "Roster"
msgstr "名簿"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "共有名簿グループ"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "新規追加"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "名前: "
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "詳細:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "メンバー:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "表示グループ"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "グループ"
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1277,11 +1310,6 @@ msgstr "部署名"
msgid "Search users in "
msgstr "ユーザーの検索: "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "ユーザー"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "検索を行うためにはクライアントが x:data をサポートする必要があります"
@ -1404,7 +1432,9 @@ msgstr "外向き s2s コネクション:"
msgid "Outgoing s2s Servers:"
msgstr "外向き s2s サービス:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "パスワードの変更"
@ -1416,7 +1446,8 @@ msgstr "ユーザー "
msgid "Connected Resources:"
msgstr "接続リソース:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "パスワード"
@ -1625,6 +1656,131 @@ msgstr "削除"
msgid "Start"
msgstr "開始"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Jabberアカウントの作成に成功しました。"
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "アカウントの作成中にエラーが発生しました: "
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Jabberアカウントの削除に成功しました。"
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "アカウントの削除中にエラーが発生しました: "
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Jabberアカウントのパスワード変更に成功しました。"
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "パスワードの変更中にエラーが発生しました: "
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Jabberアカウント登録"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Jabberアカウントを登録"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Jabberアカウントの登録解除"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"ここはJabberサーバーにアカウント作成を行うページです。あなたのJID(JabberID)"
"は username@server の様な形式に成ります。注意事項通り、正しく項目に記入して下"
"さい。"
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "ユーザー名:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"大文字と小文字は区別しません: macbeth は MacBeth や Macbeth と同じです。"
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "許可されていない文字:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "サーバー:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"パスワードは誰にも教えないようにして下さい。Jabberサーバーの管理者があなたに"
"パスワードを尋ねることはありません。"
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
"あなたは後からJabberクライアントを使用してパスワードを変更する事が出来ます。"
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Jabberクライアントはコンピューターにあなたのパスワード記憶出来ます。この機能"
"を使用する場合コンピューターが安全であることを確認して下さい。"
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"パスワードは記憶するか、紙に書いて安全な場所に保管して下さい。もしあなたがパ"
"スワードを忘れてしまった場合、Jabberではパスワードのリカバリを自動的に行うこ"
"とは出来ません。"
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "パスワード(確認):"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "登録"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "古いパスワード:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "新しいパスワード:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "ここはサーバーのJabberアカウントの登録削除を行うページです。"
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "登録解除"
#~ msgid "Captcha test failed"
#~ msgstr "キャプチャのテストに失敗しました"
#~ msgid "Encodings"
#~ msgstr "エンコーディング"

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","U moet het veld \"bijnaam\" invullen"}.
{"You need an x:data capable client to configure mod_irc settings","U hebt een client nodig die x:data ondersteunt om dit IRC-transport in te stellen"}.
{"You need an x:data capable client to configure room","U hebt een client nodig die x:data ondersteunt om deze chatruimte in te stellen"}.
{"You need an x:data capable client to register nickname","U hebt een client nodig die x:data ondersteunt om een bijnaam te registreren"}.
{"You need an x:data capable client to search","U hebt een client nodig die x:data ondersteunt om te zoeken"}.
{"Your contact offline message queue is full. The message has been discarded.","Te veel offline berichten voor dit contactpersoon. Het bericht is niet opgeslagen."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Uw berichten aan ~s worden geblokkeerd. Om ze te deblokkeren, ga naar ~s"}.

View File

@ -11,28 +11,40 @@ msgstr ""
"X-Language: Dutch (nederlands)\n"
"X-Additional-Translator: Sander Devrieze\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Gebruik van STARTTLS is vereist"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Geen bron opgegeven"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Vervangen door een nieuwe verbinding"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Voer de getoonde tekst in"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Uw berichten aan ~s worden geblokkeerd. Om ze te deblokkeren, ga naar ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "De geautomatiseerde Turing-test is geslaagd."
@ -366,7 +378,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Wachtwoord"
@ -437,17 +449,17 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module"
msgstr "ejabberd's IRC-module"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om dit IRC-transport in te "
"stellen"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registratie van "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -455,11 +467,11 @@ msgstr ""
"Voer de gebruikersnaam, coderingen, poorten en wachtwoorden in die U wilt "
"gebruiken voor het verbinden met IRC-servers"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Gebruikersnaam voor IRC:"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -471,7 +483,7 @@ msgstr ""
"\", \"codering\", poort, \"wachtwoord\"}'. Standaard gebruikt deze service "
"de codering \"~s\", poort ~p, leeg wachtwoord."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -479,35 +491,35 @@ msgstr ""
"Voorbeeld: [{\"irc.example.org\", \"koi8-r\", 6667, \"geheim\"}, {\"vendetta."
"example.net\", \"iso8859-1\", 7000}, {irc,testserver.nl\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Verbindingsparameters"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Ga IRC kanaal binnen"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanaal (zonder eerste #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC-server"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Ga het IRC kanaal binnen"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Ga het IRC kanaal van deze Jabber ID binnen: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC instellingen"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -517,23 +529,23 @@ msgstr ""
"verbindingen met IRC-servers. Klik op 'Volgende' om meer velden aan te "
"maken. Klik op \"Voltooi' om de instellingen op te slaan."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Gebruikersnaam voor IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Wachtwoord ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Poort ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Karakterset voor server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -558,7 +570,8 @@ msgid "Chatrooms"
msgstr "Groepsgesprekken"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om een bijnaam te registreren"
@ -576,8 +589,8 @@ msgstr "Voer de bijnaam in die u wilt registreren"
msgid "Nickname"
msgstr "Bijnaam"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Deze bijnaam is al geregistreerd door iemand anders"
@ -628,7 +641,7 @@ msgid "is now known as"
msgstr "heet nu"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " veranderde het onderwerp in: "
@ -732,10 +745,6 @@ msgstr "Instellingen van de chatruimte"
msgid "Room Occupants"
msgstr "Aantal aanwezigen"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Naam van de chatruimte"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Dataverkeerslimiet overschreden"
@ -772,8 +781,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr "De ontvanger is niet in de chatruimte"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Alleen aanwezigen mogen berichten naar de chatruimte verzenden"
@ -790,7 +799,7 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Er mogen geen verzoeken verzenden worden naar deelnemers in deze chatruimte"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -798,205 +807,209 @@ msgstr ""
"Alleen moderators en deelnemers mogen het onderwerp van deze chatruimte "
"veranderen"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Alleen moderators mogen het onderwerp van deze chatruimte veranderen"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Bezoekers mogen geen berichten verzenden naar alle aanwezigen"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmelding-"
"aanwezigheid"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Het is bezoekers niet toegestaan hun naam te veranderen in dit kanaal"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Deze bijnaam is al in gebruik door een andere aanwezige"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "U werd verbannen uit deze chatruimte"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "U moet lid zijn om deze chatruimte te kunnen betreden"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Deze chatruimte is niet anoniem"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "U hebt een wachtwoord nodig om deze chatruimte te kunnen betreden"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Het generen van een gautomatiseerde Turing test is mislukt"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Foutief wachtwoord"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "U hebt beheerdersprivileges nodig"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "U hebt moderatorprivileges nodig"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "De Jabber ID ~s is ongeldig"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "De bijnaam ~s bestaat niet in deze chatruimte"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Ongeldige affiliatie: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Ongeldige rol: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "U hebt eigenaarsprivileges nodig"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Instellingen van chatruimte ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Naam van de chatruimte"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Beschrijving"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Chatruimte blijvend maken"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Chatruimte doorzoekbaar maken"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Deelnemerslijst publiek maken"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Chatruimte beveiligen met een wachtwoord"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Maximum aantal aanwezigen"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Geen limiet"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Jabber ID's kunnen achterhaald worden door"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "moderators"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "iedereen"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Chatruimte enkel toegankelijk maken voor leden"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Chatruimte gemodereerd maken"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Gebruikers standaard instellen als deelnemers"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Sta gebruikers toe het onderwerp te veranderen"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Gebruikers mogen privéberichten verzenden"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Gebruikers mogen naar andere gebruikers verzoeken verzenden"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Gebruikers mogen uitnodigingen verzenden"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Sta bezoekers toe hun statusbericht in te stellen"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Sta bezoekers toe hun naam te veranderen"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Chatruimte beveiligen met een geautomatiseerde Turing test"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Logs aanzetten"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om deze chatruimte in te "
"stellen"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Aantal aanwezigen"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privé, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s nodigt je uit voor het groepsgesprek ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "het wachtwoord is"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Te veel offline berichten voor dit contactpersoon. Het bericht is niet "
"opgeslagen."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "offline berichten van ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1018,20 +1031,20 @@ msgstr "Van"
msgid "To"
msgstr "Aan"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pakket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Geselecteerde verwijderen"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Offline berichten:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Verwijder alle offline berichten"
@ -1039,112 +1052,137 @@ msgstr "Verwijder alle offline berichten"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubSub abonnee verzoek"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Beslis of dit verzoek tot abonneren zal worden goedgekeurd"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Node ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Abonnee Adres"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Berichten bezorgen samen met gebeurtenisnotificaties"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Gebeurtenisbevestigingen Sturen"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnees informeren wanneer de instellingen van de node veranderen"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Abonnees informeren wanneer de node verwijderd word"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnees informeren wanneer items verwijderd worden uit de node"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Items in het geheugen bewaren"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Bijnaam voor deze knoop"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maximum aantal in het geheugen te bewaren items"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Abonnementsaanvraag toestaan"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Geef toegangsmodel"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Contactlijst-groepen die mogen abonneren"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Publicatietype opgeven"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Verwijder alle items wanneer de gerelateerde publiceerder offline gaat"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Geef type van eventbericht"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maximumgrootte van bericht in bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Wanneer het laatst gepubliceerde item verzonden moet worden"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Notificaties alleen verzenden naar online gebruikers"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "De collecties waar een node mee is gerelateerd"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"U hebt een client nodig die x:data ondersteunt om een bijnaam te registreren"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Kies een gebruikersnaam en een wachtwoord om u te registreren op deze server"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Gebruiker"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Het generen van een gautomatiseerde Turing test is mislukt"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "het wachtwoord is"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Het is gebruikers niet toegestaan zo snel achter elkaar te registreren"
@ -1178,13 +1216,13 @@ msgstr "Verwijderen"
msgid "Roster of "
msgstr "Roster van "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Slecht formaat"
@ -1196,37 +1234,37 @@ msgstr "Jabber ID toevoegen"
msgid "Roster"
msgstr "Roster"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Gedeelde rostergroepen"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Toevoegen"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Naam:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Beschrijving:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Groepsleden:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Weergegeven groepen:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Groep "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1298,11 +1336,6 @@ msgstr "Afdeling"
msgid "Search users in "
msgstr "Gebruikers zoeken in "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Gebruiker"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "U hebt een client nodig die x:data ondersteunt om te zoeken"
@ -1425,7 +1458,9 @@ msgstr "Uitgaande s2s-verbindingen:"
msgid "Outgoing s2s Servers:"
msgstr "Uitgaande s2s-verbindingen:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Wachtwoord wijzigen"
@ -1437,7 +1472,8 @@ msgstr "Gebruiker "
msgid "Connected Resources:"
msgstr "Verbonden bronnen:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Wachtwoord:"
@ -1649,3 +1685,123 @@ msgstr "Verwijderen"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starten"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Gebruikersnaam voor IRC:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Server ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Wachtwoord Bevestiging"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Roster"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Wachtwoord:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Wachtwoord:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "De geautomatiseerde Turing-test is geslaagd."

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","Du må fylle inn feltet \"Nickname\" i skjemaet"}.
{"You need an x:data capable client to configure mod_irc settings","Du trenger en x:data kompatibel klient for å konfigurere mod_irc instillinger"}.
{"You need an x:data capable client to configure room","Du trenger en klient som støtter x:data for å "}.
{"You need an x:data capable client to register nickname","Du trenger en klient som støtter x:data for å "}.
{"You need an x:data capable client to search","Du tregner en klient som støtter x:data for å kunne "}.
{"Your contact offline message queue is full. The message has been discarded.","Kontaktens frakoblede meldingskø er full. Meldingen har blitt kassert."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Dine meldinger til ~s blir blokkert. For å åpne igjen, besøk ~s"}.

View File

@ -7,27 +7,39 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Norwegian (bokmål)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Bruk av STARTTLS kreves"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Ingen ressurs angitt"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Erstattet av en ny tilkobling"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Skriv inn teksten du ser"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Dine meldinger til ~s blir blokkert. For å åpne igjen, besøk ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Captchaen er ikke gyldig"
@ -359,7 +371,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Passord"
@ -430,16 +442,16 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Du trenger en x:data kompatibel klient for å konfigurere mod_irc instillinger"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registrering i mod_irc for "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -447,11 +459,11 @@ msgstr ""
"Skriv brukernavn, tekstkoding, porter og passord du ønsker å bruke for "
"tilkobling til IRC servere"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC Brukernavn"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -462,7 +474,7 @@ msgstr ""
"liste med verdier i formatet '{\"irc server\", \"encoding\", port, \"password"
"\"}'. Denne tjenesten bruker \"~s\" som standard, port ~p, empty password."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -470,35 +482,35 @@ msgstr ""
"Eksempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Tilkoblings parametere"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Bli med i IRC kanal"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanal (ikke skriv den første #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC server"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Bli med i IRC kanalen her. "
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Bli med i IRC kanalen med denne Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC instillinger"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -508,23 +520,23 @@ msgstr ""
"Trykk 'Neste' for å få flere felt for å fylle i. Trykk 'Fullfør' for å lagre "
"innstillingene."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC brukernavn"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Passord ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Tekstkoding for server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -545,7 +557,8 @@ msgid "Chatrooms"
msgstr "Samtalerom"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "Du trenger en klient som støtter x:data for å "
#: mod_muc/mod_muc.erl:717
@ -562,8 +575,8 @@ msgstr "Skriv inn kallenavnet du ønsker å registrere"
msgid "Nickname"
msgstr "Kallenavn"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Det kallenavnet er registrert av en annen person"
@ -613,7 +626,7 @@ msgid "is now known as"
msgstr "er nå kjent som"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " har satt emnet til: "
@ -717,10 +730,6 @@ msgstr "Rom Konfigurasjon"
msgid "Room Occupants"
msgstr "Samtalerom Deltakere"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Romtittel"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikkmengde grense overskredet"
@ -755,8 +764,8 @@ msgstr "Det er ikke tillatt å sende private meldinger med typen "
msgid "Recipient is not in the conference room"
msgstr "Mottakeren er ikke i konferanserommet"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Bare deltakere får sende normale meldinger til konferansen"
@ -772,207 +781,211 @@ msgstr "Bare deltakere er tillatt å sende forespørsler til "
msgid "Queries to the conference members are not allowed in this room"
msgstr "Forespørsler til konferanse medlemmene er ikke tillat i dette rommet"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Bare redaktører og deltakere kan endre emnet i dette rommet"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Bare ordstyrer tillates å endre emnet i dette rommet"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besøkende får ikke sende meldinger til alle deltakere"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Denne deltakeren er kastet ut av rommet fordi han sendte feil "
"tilstederværelse"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Besøkende får ikke lov å endre kallenavn i dette "
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Det kallenavnet er allerede i bruk av en annen deltaker"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Du har blitt bannlyst i dette rommet."
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Medlemskap kreves for tilgang til samtalerommet"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Dette rommet er ikke anonymt"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Et passord kreves for tilgang til samtalerommet"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Umulig å generere en captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Feil passord"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Administratorprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Redaktørprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Ugyldig Jabber ID ~s"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Kallenavn ~s eksisterer ikke i dette rommet"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Ugyldig rang: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Ugyldig rolle: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Eierprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfigurasjon for rom ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Romtittel"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Rom beskrivelse"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Gjør rommet permanent"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Gjør rommet offentlig søkbart"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Gjør deltakerlisten offentlig"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Passordbeskytt rommet"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Maksimum Antall Deltakere"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Ingen grense"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Presenter ekte Jabber IDer til"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "kun for redaktører"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "hvem som helst"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Gjør rommet tilgjengelig kun for medlemmer"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Gjør rommet redaktørstyrt"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Standard brukere som deltakere"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Tillat brukere å endre emne"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Tillat brukere å sende private meldinger"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Tillat brukere å sende forespørsel til andre brukere"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Tillat brukere å sende invitasjoner"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Tillat besøkende å sende status tekst i "
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Tillat besøkende å endre kallenavn"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Gjør rommet captcha beskyttet"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Slå på logging"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Du trenger en klient som støtter x:data for å "
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Antall deltakere"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s inviterer deg til rommet ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "passordet er"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Kontaktens frakoblede meldingskø er full. Meldingen har blitt kassert."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~ss kø for Frakoblede Meldinger"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -994,20 +1007,20 @@ msgstr "Fra"
msgid "To"
msgstr "Til"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pakke"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Slett valgte"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Frakoblede Meldinger:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Fjern Alle Frakoblede Meldinger"
@ -1015,111 +1028,135 @@ msgstr "Fjern Alle Frakoblede Meldinger"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubSub abonements forespørsel"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Velg om du vil godkjenne denne eksistensens abonement"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Node ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Abonnements Adresse"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillat denne Jabber ID å abonnere på denne pubsub "
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Send innhold sammen med kunngjøringer"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Lever begivenhets kunngjøringer"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Informer abonnenter når node konfigurasjonen endres"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Informer abonnenter når noden slettes"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Informer abonnenter når elementer fjernes fra noden"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Vedvarende elementer til lagring"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Et vennlig navn for noden"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Høyeste # elementer som skal lagres"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Om man skal tillate abonnenter"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Spesifiser aksess modellen"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Kontaktliste grupper som tillates å abonnere"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Angi publiserings modell"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Rydd alle elementer når den aktuelle utgiveren logger av"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Spesifiser hendelsesbeskjed type"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Største innholdsstørrelse i byte"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Når skal siste publiserte artikkel sendes"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Send kunngjøringer bare til tilgjengelige brukere"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Samlingene som en node er assosiert med"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Du trenger en klient som støtter x:data for å "
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Velg et brukernavn og passord for å registrere på "
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Bruker"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Umulig å generere en captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "passordet er"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Brukere får ikke lov til registrere kontoer så fort"
@ -1153,13 +1190,13 @@ msgstr "Fjern"
msgid "Roster of "
msgstr "Kontaktliste for "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Feil format"
@ -1171,37 +1208,37 @@ msgstr "Legg til Jabber ID"
msgid "Roster"
msgstr "Kontaktliste"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Delte Kontaktgrupper"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Legg til ny"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Navn:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Beskrivelse:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Medlemmer:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Viste grupper:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Gruppe "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1273,11 +1310,6 @@ msgstr "Organisasjonsenhet"
msgid "Search users in "
msgstr "Søk etter brukere i "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Bruker"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Du tregner en klient som støtter x:data for å kunne "
@ -1400,7 +1432,9 @@ msgstr "Utgående s2s Koblinger"
msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s Tjenere"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Endre Passord"
@ -1412,7 +1446,8 @@ msgstr "Bruker "
msgid "Connected Resources:"
msgstr "Tilkoblede Ressurser:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Passord:"
@ -1620,3 +1655,123 @@ msgstr "Slett"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Start"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "IRC Brukernavn"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Server ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Passord Bekreftelse"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Kontaktliste"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Passord:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Passord:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Captchaen er ikke gyldig"

View File

@ -1,7 +1,7 @@
{"Access Configuration","Konfiguracja dostępu"}.
{"Access Control List Configuration","Konfiguracja listy dostępowej"}.
{"Access control lists","Lista dostępowa"}.
{"Access Control Lists","Lista dostępowa"}.
{"Access control lists","Listy dostępowe"}.
{"Access denied by service policy","Dostęp zabroniony zgodnie z zasadami usługi"}.
{"Access rules","Reguły dostępu"}.
{"Access Rules","Zasady dostępu"}.
@ -33,8 +33,10 @@
{"Backup","Wykonaj kopie"}.
{"Bad format","Błędny format"}.
{"Birthday","Data urodzenia"}.
{"CAPTCHA web page","Strona internetowa CAPTCHA"}.
{"Change Password","Zmień hasło"}.
{"Change User Password","Zmień hasło użytkownika"}.
{"Characters not allowed:","Te znaki są niedozwolone:"}.
{"Chatroom configuration modified","Konfiguracja pokoju zmodyfikowana"}.
{"Chatroom is created","Pokój został stworzony"}.
{"Chatroom is destroyed","Pokój został usunięty"}.
@ -69,6 +71,7 @@
{"Description:","Opis:"}.
{"Disc only copy","Kopia tylko na dysku"}.
{"Displayed Groups:","Wyświetlane grupy:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Nie podawaj swojego hasła nikomu, nawet administratorowi serwera Jabber."}.
{"Dump Backup to Text File at ","Zapisz kopię zapasową w pliku tekstowym na "}.
{"Dump to Text File","Wykonaj kopie do pliku tekstowego"}.
{"Edit Properties","Edytuj właściwości"}.
@ -120,6 +123,7 @@
{"has been kicked","został wyrzucony"}.
{" has set the subject to: "," zmienił temat na: "}.
{"Host","Host"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Jeśli nie widzisz obrazka CAPTCHA, odwiedź stronę internetową."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Jeśli chcesz ustawić inne hasła, porty lub kodowania dla poszczególnych serwerów IRC, wypełnij tą listę wartościami w formacie '{\"irc server\",\"encoding\", port, \"password\"}'. Domyślne ta usługa używa kodowania \"~s\", portu ~p, bez hasła."}.
{"Import Directory","Importuj katalog"}.
{"Import File","Importuj plik"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages of type \"groupchat\"","Nie można wysyłać prywatnych wiadomości typu \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Nie wolno wysyłac prywatnych wiadomości na konferencję"}.
{"It is not allowed to send private messages","Wysyłanie prywatnych wiadomości jest zabronione"}.
{"Jabber Account Registration","Zakładanie konta Jabber"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s jest niepoprawny"}.
{"January","Styczeń"}.
@ -177,6 +182,7 @@
{"May","Maj"}.
{"Members:","Członkowie:"}.
{"Membership is required to enter this room","Musisz być na liście członków tego pokoju aby do niego wejść"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Zapamiętaj swoje hasło lub zapisz je na kartce i zachowaj w bezpiecznym miejscu. Na Jabberze nie ma zautomatyzowanego systemu odzyskiwania haseł."}.
{"Memory","Pamięć"}.
{"Message body","Treść wiadomości"}.
{"Middle Name","Drugie imię"}.
@ -190,6 +196,7 @@
{"Name","Imię"}.
{"Name:","Nazwa:"}.
{"Never","Nigdy"}.
{"New Password:","Nowe hasło:"}.
{"Nickname","Nazwa użytkownika"}.
{"Nickname Registration at ","Rejestracja nazwy użytkownika na "}.
{"Nickname ~s does not exist in the room","Nie ma nicka ~s w tym pokoju"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Wiadomości offline:"}.
{"Offline Messages","Wiadomości offline"}.
{"OK","OK"}.
{"Old Password:","Stare hasło:"}.
{"Online","Dostępny"}.
{"Online Users:","Użytkownicy zalogowani:"}.
{"Online Users","Użytkownicy zalogowani"}.
@ -234,6 +242,7 @@
{"Password ~b","Hasło ~b"}.
{"Password:","Hasło:"}.
{"Password","Hasło"}.
{"Password Verification:","Weryfikacja hasła:"}.
{"Password Verification","Weryfikacja hasła"}.
{"Path to Dir","Ścieżka do katalogu"}.
{"Path to File","Scieżka do pliku"}.
@ -257,8 +266,10 @@
{"Raw","Żródło"}.
{"Really delete message of the day?","Na pewno usunąć wiadomość dnia?"}.
{"Recipient is not in the conference room","Odbiorcy nie ma w pokoju"}.
{"Register a Jabber account","Załóż konto Jabber"}.
{"Registered Users:","Użytkownicy zarejestrowani:"}.
{"Registered Users","Użytkownicy zarejestrowani"}.
{"Register","Zarejestruj"}.
{"Registration in mod_irc for ","Rejestracja w mod_irc dla "}.
{"Remote copy","Kopia zdalna"}.
{"Remove All Offline Messages","Usuń wszystkie wiadomości typu 'Offline'"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Wyślij powiadomienie do wszystkich użytkowników"}.
{"September","Wrzesień"}.
{"Server ~b","Serwer ~b"}.
{"Server:","Serwer:"}.
{"Set message of the day and send to online users","Wyślij wiadomość dnia do wszystkich zalogowanych użytkowników"}.
{"Set message of the day on all hosts and send to online users","Ustaw wiadomość dnia dla wszystkich hostów i wyślij do zalogowanych uzytkowników"}.
{"Shared Roster Groups","Wspólne grupy kontaktów"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Pokaż zwykłą tabelę"}.
{"Shut Down Service","Wyłącz usługę"}.
{"~s invites you to the room ~s","~s zaprasza Cię do pokoju ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Niektóre klienty Jabber mogą zapisywać Twoje hasło na komputerze. Używaj tej opcji tylko jeśli ufasz komputerowi na którym pracujesz."}.
{"Specify the access model","Określ model dostępu"}.
{"Specify the event message type","Określ typ wiadomości"}.
{"Specify the publisher model","Określ model publikującego"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Ta nazwa użytkownika jest używana przez kogoś innego"}.
{"That nickname is registered by another person","Ta nazwa użytkownika jest już zarejestrowana przez inną osobę"}.
{"The captcha is valid.","Captcha jest poprawna."}.
{"The CAPTCHA verification has failed","Weryfikacja CAPTCHA nie powiodła się."}.
{"The collections with which a node is affiliated","Grupy, do których należy węzeł"}.
{"the password is","hasło to:"}.
{"The password is too weak","Hasło nie jest wystarczająco trudne"}.
{"The password of your Jabber account was successfully changed.","Hasło do Twojego konta zostało zmienione."}.
{"There was an error changing the password: ","Podczas próby zmiany hasła wystąpił błąd:"}.
{"There was an error creating the account: ","Wystąpił błąd podczas tworzenia konta:"}.
{"There was an error deleting the account: ","Podczas usuwania konta wystąpił błąd:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Pole nie rozróżnia wielkości liter: słowo Hanna jest takie samo jak hAnna lub haNNa."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Niniejsza strona pozwala na założenie konta Jabber na tym serwerze. Twój JID (Jabber IDentyfikator) będzie miał postać: nazwa_użytkownika@serwer. Przeczytaj dokładnie instrukcję i wypełnij pola."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Ta strona pozwala usunąć konto Jabber z tego serwera."}.
{"This participant is kicked from the room because he sent an error message","Ten uczestnik został wyrzucony z pokoju ponieważ wysłał komunikat błędu"}.
{"This participant is kicked from the room because he sent an error message to another participant","Ten uczestnik został wyrzucony z pokoju ponieważ wysłał komunikat błędu do innego uczestnika"}.
{"This participant is kicked from the room because he sent an error presence","Ten uczestnik został wyrzucony z pokoju ponieważ jego informacja o statusie zawierała błędy"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Transakcje uruchomione ponownie:"}.
{"Tuesday","Wtorek"}.
{"Unable to generate a captcha","Nie można wygenerować captcha"}.
{"Unable to generate a CAPTCHA","Nie można wygenerować CAPTCHA"}.
{"Unauthorized","Nie autoryzowano"}.
{"Unregister a Jabber account","Usuń konto Jabber"}.
{"Unregister","Wyrejestruj"}.
{"Update","Aktualizuj"}.
{"Update message of the day (don't send)","Aktualizuj wiadomość dnia (bez wysyłania)"}.
{"Update message of the day on all hosts (don't send)","Aktualizuj wiadomość dnia na wszystkich hostach (bez wysyłania)"}.
@ -355,6 +380,7 @@
{"Uptime:","Czas pracy:"}.
{"Use of STARTTLS required","Wymagane użycie STARTTLS"}.
{"User Management","Zarządzanie użytkownikami"}.
{"Username:","Nazwa użytkownika:"}.
{"Users are not allowed to register accounts so quickly","Użytkowncy nie mogą tak szybko rejestrować nowych kont"}.
{"Users Last Activity","Ostatnia aktywność użytkowników"}.
{"Users","Użytkownicy"}.
@ -367,11 +393,16 @@
{"Wednesday","Środa"}.
{"When to send the last published item","Kiedy wysłać ostatnio opublikowaną rzecz"}.
{"Whether to allow subscriptions","Czy pozwolić na subskrypcje"}.
{"You can later change your password using a Jabber client.","Możesz później zmienić swoje hasło za pomocą dowolnego klienta Jabber."}.
{"You have been banned from this room","Zostałeś wykluczony z tego pokoju"}.
{"You must fill in field \"Nickname\" in the form","Musisz wypełnić pole \"Nazwa użytkownika\" w formularzu"}.
{"You need a client that supports x:data and CAPTCHA to register","Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"}.
{"You need a client that supports x:data to register the nickname","Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"}.
{"You need an x:data capable client to configure mod_irc settings","Potrzebujesz klienta obsługującego x:data aby skonfigurować mod_irc"}.
{"You need an x:data capable client to configure room","Potrzebujesz klienta obsługującego x:data aby skonfigurować pokój"}.
{"You need an x:data capable client to register nickname","Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"}.
{"You need an x:data capable client to search","Potrzebujesz klienta obsługującego x:data aby wyszukiwać"}.
{"Your active privacy list has denied the routing of this stanza.","Twoja aktywna lista prywatności zabrania"}.
{"Your contact offline message queue is full. The message has been discarded.","Kolejka wiadomości offline adresata jest pełna. Wiadomość została odrzucona."}.
{"Your Jabber account was successfully created.","Twoje konto zostało stworzone."}.
{"Your Jabber account was successfully deleted.","Twoje konto zostało usunięte."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Twoje wiadomości do ~s są blokowane. Aby je odblokować, odwiedź ~s"}.

View File

@ -14,27 +14,39 @@ msgstr ""
"X-Additional-Translator: Andrzej Smyk\n"
"X-Additional-Translator: Mateusz Gajewski\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Wymagane użycie STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Nie podano zasobu"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Zastąpione przez nowe połączenie"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "Twoja aktywna lista prywatności zabrania"
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Przepisz tekst z obrazka"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Twoje wiadomości do ~s są blokowane. Aby je odblokować, odwiedź ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Jeśli nie widzisz obrazka CAPTCHA, odwiedź stronę internetową."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Strona internetowa CAPTCHA"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Captcha jest poprawna."
@ -351,7 +363,7 @@ msgstr "Konfiguracja listy dostępowej"
#: mod_configure.erl:1147
msgid "Access control lists"
msgstr "Lista dostępowa"
msgstr "Listy dostępowe"
#: mod_configure.erl:1171
msgid "Access Configuration"
@ -370,7 +382,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Hasło"
@ -441,15 +453,15 @@ msgstr "Transport IRC"
msgid "ejabberd IRC module"
msgstr "Moduł IRC ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Potrzebujesz klienta obsługującego x:data aby skonfigurować mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Rejestracja w mod_irc dla "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -457,11 +469,11 @@ msgstr ""
"Wprowadź nazwę użytkownika, port i kodowanie, których chcesz używać do "
"łączenia z serwerami IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nazwa użytkownika IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -473,7 +485,7 @@ msgstr ""
"\"encoding\", port, \"password\"}'. Domyślne ta usługa używa kodowania \"~s"
"\", portu ~p, bez hasła."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -481,35 +493,35 @@ msgstr ""
"Przykład: [{\"wroclaw.irc.pl\",\"utf-8\"}, {\"warszawa.irc.pl\", \"iso8859-2"
"\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parametry połączeń"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Dołącz do kanału IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Kanał IRC (nie używaj #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Serwer IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Dołącz do kanału IRC."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Dołącz do kanału IRC pod tym Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Ustawienia IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -519,23 +531,23 @@ msgstr ""
"serwerami IRC. Wciśnij \"Dalej\" aby ustawić więcej parametrów połączenia. "
"Wciśnij \"Zakończ\" aby zapisać ustawienia."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Nazwa użytkownika IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Hasło ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Kodowanie znaków dla serwera ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Serwer ~b"
@ -556,7 +568,7 @@ msgid "Chatrooms"
msgstr "Pokoje rozmów"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr "Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"
#: mod_muc/mod_muc.erl:717
@ -573,8 +585,8 @@ msgstr "Wprowadz nazwę użytkownika którego chcesz zarejestrować"
msgid "Nickname"
msgstr "Nazwa użytkownika"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Ta nazwa użytkownika jest już zarejestrowana przez inną osobę"
@ -623,7 +635,7 @@ msgid "is now known as"
msgstr "jest teraz znany jako"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " zmienił temat na: "
@ -727,10 +739,6 @@ msgstr "Konfiguracja pokoju"
msgid "Room Occupants"
msgstr "Lista uczestników"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Tytuł pokoju"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Limit transferu przekroczony"
@ -765,8 +773,8 @@ msgstr "Nie można wysyłać prywatnych wiadomości typu \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "Odbiorcy nie ma w pokoju"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Tylko uczestnicy mogą wysyłać wiadomości na konferencję"
@ -782,208 +790,212 @@ msgstr "Tylko uczestnicy mogą wysyłać zapytania do konferencji"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Informacje o członkach konferencji nie są dostępne w tym pokoju"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Tylko moderatorzy i uczestnicy mogą zmienić temat tego pokoju"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Tylko moderatorzy mogą zmienić temat tego pokoju"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Odwiedzający nie mogą wysyłać wiadomości do wszystkich obecnych"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ten uczestnik został wyrzucony z pokoju ponieważ jego informacja o statusie "
"zawierała błędy"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Uczestnicy tego pokoju nie mogą zmieniać swoich nicków"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Ta nazwa użytkownika jest używana przez kogoś innego"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Zostałeś wykluczony z tego pokoju"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Musisz być na liście członków tego pokoju aby do niego wejść"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Ten pokój nie jest anonimowy"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Aby wejść do pokoju wymagane jest hasło"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Nie można wygenerować captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Nieprawidłowe hasło"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Wymagane uprawnienia administratora"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Wymagane uprawnienia moderatora"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s jest niepoprawny"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Nie ma nicka ~s w tym pokoju"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Nieprawidłowa przynależność: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Nieprawidłowa rola: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Wymagane uprawnienia właściciela"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfiguracja pokoju ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Tytuł pokoju"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Opis pokoju"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Utwórz pokój na stałe"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Pozwól wyszukiwać pokój"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Upublicznij listę uczestników"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Pokój zabezpieczony hasłem"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Maksymalna liczba uczestników"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Prawdziwe Jabber ID widoczne dla"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "tylko moderatorzy"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "wszystkich"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Pokój tylko dla członków"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Pokój moderowany"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Domyślni użytkownicy jako uczestnicy"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Pozwól użytkownikom zmieniać temat"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Pozwól użytkownikom wysyłać prywatne wiadomości"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Pozwól użytkownikom pobierać informacje o innych użytkownikach"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Pozwól użytkownikom wysyłać zaproszenia"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Pozwól uczestnikom na wysyłanie statusów opisowych"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Pozwól uczestnikom na zmianę nicka"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Pokój zabezpieczony captchą"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Włącz logowanie"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Potrzebujesz klienta obsługującego x:data aby skonfigurować pokój"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Liczba uczestników"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "prywatny, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s zaprasza Cię do pokoju ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "hasło to:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Kolejka wiadomości offline adresata jest pełna. Wiadomość została odrzucona."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Kolejka wiadomości offline użytkownika ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1005,20 +1017,20 @@ msgstr "Od"
msgid "To"
msgstr "Do"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pakiet"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Usuń zaznaczone"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Wiadomości offline:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Usuń wszystkie wiadomości typu 'Offline'"
@ -1026,112 +1038,133 @@ msgstr "Usuń wszystkie wiadomości typu 'Offline'"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Moduł SOCKS5 Bytestreams"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "PubSub"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Moduł Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Żądanie subskrybcji PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Wybierz, czy akceptować subskrypcję tej jednostki"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID węzła"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adres subskrybenta"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Pozwól temu Jabber ID na zapisanie się do tego węzła PubSub"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Dostarczaj zawartość publikacji wraz z powiadomieniami o zdarzeniach"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Dostarczaj powiadomienia o zdarzeniach"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Informuj subskrybentów o zmianach konfiguracji węzła"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Informuj subskrybentów o usunięciu węzła"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Informuj subskrybentów o usunięciu elementów węzła"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Przechowuj na stałe dane PubSub"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Przyjazna nazwa węzła"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maksymalna liczba przechowywanych przedmiotów"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Czy pozwolić na subskrypcje"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Określ model dostępu"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Grupy kontaktów uprawnione do subskrypcji"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Określ model publikującego"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Usuń wszystkie elementy w momencie kiedy publikujący rozłączy się"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Określ typ wiadomości"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maksymalna wielkość powiadomienia w bajtach"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Kiedy wysłać ostatnio opublikowaną rzecz"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Dostarczaj powiadomienia tylko dostępnym użytkownikom"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Grupy, do których należy węzeł"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Weryfikacja CAPTCHA nie powiodła się."
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Wybierz nazwę użytkownika i hasło aby zarejestrować się na tym serwerze"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Użytkownik"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Nie można wygenerować CAPTCHA"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Hasło nie jest wystarczająco trudne"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Użytkowncy nie mogą tak szybko rejestrować nowych kont"
@ -1165,13 +1198,13 @@ msgstr "Usuń"
msgid "Roster of "
msgstr "Lista kontaktów "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Błędny format"
@ -1183,37 +1216,37 @@ msgstr "Dodaj Jabber ID"
msgid "Roster"
msgstr "Lista kontaktów"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Wspólne grupy kontaktów"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Dodaj nowe"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Nazwa:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Opis:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Członkowie:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Wyświetlane grupy:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grupa "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1285,11 +1318,6 @@ msgstr "Dział"
msgid "Search users in "
msgstr "Wyszukaj użytkowników w "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Użytkownik"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Potrzebujesz klienta obsługującego x:data aby wyszukiwać"
@ -1412,7 +1440,9 @@ msgstr "Wychodzące połączenia s2s:"
msgid "Outgoing s2s Servers:"
msgstr "Serwery zewnętrzne s2s:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Zmień hasło"
@ -1424,7 +1454,8 @@ msgstr "Użytkownik "
msgid "Connected Resources:"
msgstr "Zasoby zalogowane:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Hasło:"
@ -1636,3 +1667,127 @@ msgstr "Usuń"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Uruchom"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Twoje konto zostało stworzone."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Wystąpił błąd podczas tworzenia konta:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Twoje konto zostało usunięte."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Podczas usuwania konta wystąpił błąd:"
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Hasło do Twojego konta zostało zmienione."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Podczas próby zmiany hasła wystąpił błąd:"
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Zakładanie konta Jabber"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Załóż konto Jabber"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Usuń konto Jabber"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Niniejsza strona pozwala na założenie konta Jabber na tym serwerze. Twój JID "
"(Jabber IDentyfikator) będzie miał postać: nazwa_użytkownika@serwer. "
"Przeczytaj dokładnie instrukcję i wypełnij pola."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Nazwa użytkownika:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Pole nie rozróżnia wielkości liter: słowo Hanna jest takie samo jak hAnna "
"lub haNNa."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Te znaki są niedozwolone:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Serwer:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
"Nie podawaj swojego hasła nikomu, nawet administratorowi serwera Jabber."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr "Możesz później zmienić swoje hasło za pomocą dowolnego klienta Jabber."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Niektóre klienty Jabber mogą zapisywać Twoje hasło na komputerze. Używaj tej "
"opcji tylko jeśli ufasz komputerowi na którym pracujesz."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Zapamiętaj swoje hasło lub zapisz je na kartce i zachowaj w bezpiecznym "
"miejscu. Na Jabberze nie ma zautomatyzowanego systemu odzyskiwania haseł."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Weryfikacja hasła:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Zarejestruj"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Stare hasło:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Nowe hasło:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Ta strona pozwala usunąć konto Jabber z tego serwera."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Wyrejestruj"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Captcha jest poprawna."

View File

@ -3,8 +3,8 @@
{"Access control lists","Listas de Controle de Acesso"}.
{"Access Control Lists","Listas de Controle de Acesso"}.
{"Access denied by service policy","Aceso denegado por la política do serviço"}.
{"Access Rules","Regras de Aceso"}.
{"Access rules","Regras de acesso"}.
{"Access Rules","Regras de Acesso"}.
{"Action on user","Ação no usuário"}.
{"Add Jabber ID","Adicionar ID jabber"}.
{"Add New","Adicionar novo"}.
@ -13,8 +13,8 @@
{"Administration of ","Administração de "}.
{"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 Jabber ID to subscribe to this pubsub node?","Autorizar este Jabber ID para a inscrição neste tópico pubsub ?"}.
{"All activity","Todas atividades"}.
{"Allow this Jabber ID to subscribe to this pubsub node?","Autorizar este Jabber ID para a inscrição neste tópico pubsub?"}.
{"Allow users to change the 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"}.
@ -27,14 +27,15 @@
{"A password is required to enter this room","Se necessita senha para entrar em esta sala"}.
{"April","Abril"}.
{"August","Agosto"}.
{"Backup Management","Gestão de copia de segurança"}.
{"Backup of ","Backup de"}.
{"Backup Management","Gestão de Backup"}.
{"Backup of ","Backup de "}.
{"Backup","Salvar cópia de segurança"}.
{"Backup to File at ","Salvar cópia de segurança para arquivo em "}.
{"Backup to File at ","Salvar backup para arquivo em "}.
{"Bad format","Formato incorreto"}.
{"Birthday","Aniversário"}.
{"Change Password","Mudar senha"}.
{"Change User Password","Alterar Senha do Usuário"}.
{"Characters not allowed:","Caracteres não aceitos:"}.
{"Chatroom configuration modified","Configuração da sala de bate-papo modificada"}.
{"Chatroom is created","A sala de chat está criada"}.
{"Chatroom is destroyed","A sala de chat está destruída"}.
@ -51,11 +52,11 @@
{"Configuration","Configuração"}.
{"Configuration of room ~s","Configuração para ~s"}.
{"Connected Resources:","Recursos conectados:"}.
{"Connections parameters","Parametros para as Conexões"}.
{"Connections parameters","Parâmetros para as Conexões"}.
{"Country","País"}.
{"CPU Time:","Tempo de CPU"}.
{"Database","Base de dados"}.
{"Database Tables at ","Tabelas de base de dados em"}.
{"Database Tables at ","Tabelas de base de dados em "}.
{"Database Tables Configuration at ","Configuração de Tabelas de Base de dados em "}.
{"December","Dezembro"}.
{"Default users as participants","Usuários padrões como participantes"}.
@ -67,9 +68,9 @@
{"Deliver event notifications","Entregar as notificações de evento"}.
{"Deliver payloads with event notifications","Enviar payloads junto com as notificações de eventos"}.
{"Description:","Descrição:"}.
{"Disc only copy","Copia em disco somente"}.
{"Displayed Groups:","Grupos Indicados"}.
{"Dump Backup to Text File at ","Exporta cópia de segurança para arquivo de texto em "}.
{"Disc only copy","Somente copia em disco"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Não revele o seu computador a ninguém, mesmo para o administrador deste servidor Jabber."}.
{"Dump Backup to Text File at ","Exportar backup para texto em "}.
{"Dump to Text File","Exportar para arquivo de texto"}.
{"Edit Properties","Editar propriedades"}.
{"ejabberd IRC module","Módulo de IRC para ejabberd"}.
@ -77,28 +78,28 @@
{"ejabberd Publish-Subscribe module","Módulo para Publicar Tópicos do ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Modulo ejabberd SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Módulo vCard para ejabberd"}.
{"ejabberd virtual hosts","Maquinas virtuais de ejabberd"}.
{"ejabberd virtual hosts","Hosts virtuais de ejabberd"}.
{"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elementos"}.
{"Email","e-mail"}.
{"Email","Email"}.
{"Enable logging","Permitir criação de logs"}.
{"Encoding for server ~b","Codificação para o servidor ~b"}.
{"End User Session","Terminar Sessão do Usuário"}.
{"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 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 path to backup file","Introduza o caminho do arquivo de backup"}.
{"Enter path to jabberd14 spool dir","Introduza o caminho para o diretório de fila do jabberd14"}.
{"Enter path to jabberd14 spool file","Insira o caminho para a fila (arquivo) do jabberd14"}.
{"Enter path to text file","Introduza caminho para o arquivo texto"}.
{"Enter the text you see","Insira o texto que você vê"}.
{"Enter username and encodings you wish to use for connecting to IRC servers. Press 'Next' to get more fields to fill in. Press 'Complete' to save settings.","Insira o nome de usuário e codificações que você deseja usar para conectar-se aos servidores de IRC. Depois, presione 'Next' ('Próximo') para exibir mais campos que devem ser preenchidos. Ao final, pressione 'Complete' ('Completar') para salvar a configuração."}.
{"Enter username, encodings, ports and passwords you wish to use for connecting to IRC servers","Insira o nome de usuário, codificações, portas e senhas que vocêdeseja para usar nos servidores IRC"}.
{"Erlang Jabber Server","Servidor Jabber em Erlang"}.
{"Error","Erro"}.
{"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].","Exemplo: [{\"irc.teste.net\", \"koi8-r\"}, 6667, \"senha\"}, {\"dominio.foo.net\", \"iso8859-1\", 7000}, {\"irc.servidordeteste.net\", \"utf-8\"}]."}.
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Exportar dados de todos os usuários no servidor para arquivos PIEFXIS files (XEP-0227):"}.
{"Export data of all users in the server to PIEFXIS files (XEP-0227):","Exportar todos os dados de todos os usuários no servidor, para arquivos formato PIEFXIS (XEP-0227):"}.
{"Export data of users in a host to PIEFXIS files (XEP-0227):","Exportar dados dos usuários em um host, para arquivos PIEFXIS (XEP-0227):"}.
{"Family Name","Nome de família"}.
{"Family Name","Sobrenome"}.
{"February","Fevereiro"}.
{"Fill in fields to search for any matching Jabber User","Preencha campos para buscar usuários Jabber que concordem"}.
{"Fill in the form to search for any matching Jabber User (Add * to the end of field to match substring)","Preencha o formulário para buscar usuários Jabber. Agrega * ao final de um campo para buscar sub-palavras."}.
@ -123,10 +124,10 @@
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Se você deseja especificar portas diferentes, senhas ou codifações para servidores de IRC, complete esta lista com os valores no formato: '{\"servidor IRC\", \"codificação\", porta, \"senha\"}'. Por padrão, este serviço usa a codificação \"~s\", porta \"~p\", e senha em branco (vazia)"}.
{"Import Directory","Importar diretório"}.
{"Import File","Importar arquivo"}.
{"Import user data from jabberd14 spool file:","Importar usuário de arquivo jabberd14:"}.
{"Import user data from jabberd14 spool file:","Importar dados dos usuários de uma fila jabberd14:"}.
{"Import User from File at ","Importar usuário a partir do arquivo em "}.
{"Import users data from a PIEFXIS file (XEP-0227):","Importar usuários de um arquivo PIEFXIS (XEP-0227): "}.
{"Import users data from jabberd14 spool directory:","Importar dados dos usuários a partir da fila jabberd14"}.
{"Import users data from jabberd14 spool directory:","Importar dados dos usuários de um diretório-fila jabberd14:"}.
{"Import Users from Dir at ","Importar usuários a partir do diretório em "}.
{"Import Users From jabberd14 Spool Files","Importar usuários de arquivos jabberd14"}.
{"Improper message type","Tipo de mensagem incorreto"}.
@ -138,19 +139,20 @@
{"IRC channel (don't put the first #)","Canal IRC (não coloque o #)"}.
{"IRC server","Servidor IRC"}.
{"IRC settings","Configurações do IRC"}.
{"IRC Transport","IRC Transport"}.
{"IRC username","Nome de usuário no IRC"}.
{"IRC Username","Nome de usuário no IRC"}.
{"IRC Transport","Transporte IRC"}.
{"IRC username","Usuário IRC"}.
{"IRC Username","Usuário IRC"}.
{"is now known as","é agora conhecido como"}.
{"It is not allowed to send private messages","Não é permitido enviar mensagens privadas"}.
{"It is not allowed to send private messages of type \"groupchat\"","No está permitido enviar mensagens privados do tipo \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Impedir o envio de mensagens privados a la sala"}.
{"Jabber Account Registration","Registros de Contas Jabber"}.
{"Jabber ID","ID Jabber"}.
{"Jabber ID ~s is invalid","O Jabber ID ~s não es válido"}.
{"January","Janeiro"}.
{"Join IRC channel","Entrar no canal IRC"}.
{"Join IRC channel","Juntar-se ao canal IRC"}.
{"joins the room","Entrar na sala"}.
{"Join the IRC channel here.","Entrar no canal IRC."}.
{"Join the IRC channel here.","Aqui! Juntar-se ao canal IRC."}.
{"Join the IRC channel in this Jabber ID: ~s","Entrar no canal IRC, neste ID Jabber: ~s"}.
{"July","Julho"}.
{"June","Junho"}.
@ -159,7 +161,7 @@
{"Last month","Último mês"}.
{"Last year","Último ano"}.
{"leaves the room","Sair da sala"}.
{"Listened Ports at ","Portas de escuta em "}.
{"Listened Ports at ","Portas ouvintes em "}.
{"Listened Ports","Portas escutadas"}.
{"List of modules to start","Listas de módulos para inicializar"}.
{"Low level update script","Script de atualização low level"}.
@ -177,9 +179,10 @@
{"May","Maio"}.
{"Membership is required to enter this room","Necessitas ser membro de esta sala para poder entrar"}.
{"Members:","Miembros:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Memorize a sua senha, ou escreva-a em um papel e guarde-o em um lugar seguro. Jabber não é uma maneira automatizada para recuperar a sua senha, se você a esquecer eventualmente."}.
{"Memory","Memória"}.
{"Message body","Corpo da mensagem"}.
{"Middle Name","Apelido"}.
{"Middle Name","Nome do meio"}.
{"Moderator privileges required","Se necessita privilégios de moderador"}.
{"moderators only","apenas moderadores"}.
{"Modified modules","Módulos atualizados"}.
@ -202,7 +205,7 @@
{"No limit","Ilimitado"}.
{"None","Nenhum"}.
{"No resource provided","Recurso não foi fornecido"}.
{"Not Found","Nào encontrado"}.
{"Not Found","Não encontrado"}.
{"Notify subscribers when items are removed from the node","Notificar subscritores quando os elementos se eliminem do nodo"}.
{"Notify subscribers when the node configuration changes","Notificar subscritores quando cambia la configuração do nodo"}.
{"Notify subscribers when the node is deleted","Notificar subscritores quando o nodo se elimine"}.
@ -225,7 +228,7 @@
{"Only service administrators are allowed to send service messages","Apenas administradores possuem permissão para enviar mensagens de serviço"}.
{"Options","Opções"}.
{"Organization Name","Nome da organização"}.
{"Organization Unit","Unidade da organização"}.
{"Organization Unit","Departamento/Unidade"}.
{"Outgoing s2s Connections","Conexões que partam de s2s"}.
{"Outgoing s2s Connections:","Conexões que partem de s2s"}.
{"Outgoing s2s Servers:","Servidores que partem de s2s"}.
@ -252,14 +255,15 @@
{"PubSub subscriber request","PubSub requisição de assinante"}.
{"Purge all items when the relevant publisher goes offline","Descartar todos os itens quando o publicante principal estiver offline"}.
{"Queries to the conference members are not allowed in this room","Nesta sala não se permite consultas aos membros da sala"}.
{"RAM and disc copy","Copia em RAM y disco"}.
{"RAM and disc copy","Copias na RAM e disco rígido"}.
{"RAM copy","Copia em RAM"}.
{"Raw","Intocado"}.
{"Really delete message of the day?","Deletar realmente a mensagem do dia?"}.
{"Recipient is not in the conference room","O receptor não está em la sala de conferencia"}.
{"Register a Jabber account","Registrar uma conta Jabber"}.
{"Registered Users:","Usuários registrados"}.
{"Registered Users","Usuários Registrados"}.
{"Registration in mod_irc for ","Registro em mod_irc para"}.
{"Registration in mod_irc for ","Registro em mod_irc para "}.
{"Remote copy","Copia remota"}.
{"Remove All Offline Messages","Remover Todas as Mensagens Offline"}.
{"Remove","Borrar"}.
@ -268,10 +272,10 @@
{"Resources","Recursos"}.
{"Restart","Reiniciar"}.
{"Restart Service","Reiniciar Serviço"}.
{"Restore Backup from File at ","Restaura cópia de segurança a partir do arquivo em "}.
{"Restore Backup from File at ","Restaurar backup a partir do arquivo em "}.
{"Restore binary backup after next ejabberd restart (requires less memory):","Restaurar backup binário após próximo reinicialização do ejabberd (requer menos memória):"}.
{"Restore binary backup immediately:","Restaurar backup binário imediatamente"}.
{"Restore plain text backup immediately:","Restaurar backup plain text imediatamente:"}.
{"Restore plain text backup immediately:","Restaurar backup formato texto imediatamente:"}.
{"Restore","Restaurar"}.
{"Room Configuration","Configuração de salas"}.
{"Room creation is denied by service policy","Se te a denegado criar la sala por política do serviço"}.
@ -287,7 +291,7 @@
{"~s access rule configuration","Configuração da Regra de Acesso ~s"}.
{"Saturday","Sábado"}.
{"Script check","Verificação de Script"}.
{"Search Results for ","Resultados de pesquisa para"}.
{"Search Results for ","Resultados de pesquisa para "}.
{"Search users in ","Procurar usuários em "}.
{"Send announcement to all online users","Enviar anúncio a todos os usuárions online"}.
{"Send announcement to all online users on all hosts","Enviar anúncio a todos usuários online em todas as máquinas"}.
@ -302,6 +306,7 @@
{"Show Ordinary Table","Mostrar Tabela Ordinária"}.
{"Shut Down Service","Parar Serviço"}.
{"~s invites you to the room ~s","~s convidou você para a sala ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Alguns clientes jabber podem salvar a sua senha no seu computador. Use recurso somente se você considera este computador seguro o suficiente."}.
{"Specify the access model","Especificar os modelos de acesso"}.
{"Specify the event message type","Especificar o tipo de mensagem para o evento"}.
{"Specify the publisher model","Especificar o modelo do publicante"}.
@ -317,11 +322,11 @@
{"Stopped Nodes","Nos parados"}.
{"Storage Type","Tipo de armazenamento"}.
{"Store binary backup:","Armazenar backup binário:"}.
{"Store plain text backup:","Armazenar backup plain text"}.
{"Store plain text backup:","Armazenar backup em texto:"}.
{"Subject","Assunto"}.
{"Submit","Enviar"}.
{"Submitted","Submetido"}.
{"Subscriber Address","Enderço dos Assinantes"}.
{"Subscriber Address","Endereço dos Assinantes"}.
{"Subscription","Subscrição"}.
{"Sunday","Domingo"}.
{"That nickname is already in use by another occupant","O apelido (nick) já está sendo utilizado"}.
@ -329,24 +334,33 @@
{"The captcha is valid.","O captcha é inválido."}.
{"The collections with which a node is affiliated","As coleções com as quais o nó está relacionado"}.
{"the password is","a senha é"}.
{"The password of your Jabber account was successfully changed.","A senha da sua conta Jabber foi mudada com sucesso."}.
{"There was an error changing the password: ","Houveram erros ao mudar a senha: "}.
{"There was an error creating the account: ","Houveram erras ao criar esta conta: "}.
{"There was an error deleting the account: ","Erro ao deletar esta conta: "}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Não é 'case insensitive': macbeth é o mesmo que MacBeth e ainda Macbeth. "}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Esta pagina aceita criações de novas contas Jabber neste servidor. A sua JID (Identificador Jabber) será da seguinte forma: 'usuário@servidor'. Por favor, leia cuidadosamente as instruções para preencher corretamente os campos."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Esta página aceita para deletar uma conta Jabber neste servidor."}.
{"This participant is kicked from the room because he sent an error message","Este participante foi desconectado da sala de chat por ter enviado uma mensagem de erro."}.
{"This participant is kicked from the room because he sent an error message to another participant","Este participante foi desconectado da sala de chat por ter enviado uma mensagem de erro para outro usuário."}.
{"This participant is kicked from the room because he sent an error presence","Este participante foi desconectado da sala de chat por ter enviado uma notificação errônea de presença."}.
{"This room is not anonymous","Essa sala não é anônima"}.
{"Thursday","Quinta"}.
{"Time delay","Intervalo de Tempo"}.
{"Time delay","Intervalo (Tempo)"}.
{"Time","Fecha"}.
{"To","Para"}.
{"To ~s","Para ~s"}.
{"Traffic rate limit is exceeded","Limite de banda excedido"}.
{"Transactions Aborted:","Transações abortadas:"}.
{"Transactions Committed:","Transações:"}.
{"Transactions Committed:","Transações salvas:"}.
{"Transactions Logged:","Transações de log:"}.
{"Transactions Restarted:","Transações restauradas:"}.
{"Transactions Restarted:","Transações reiniciadas:"}.
{"Tuesday","Terça"}.
{"Unable to generate a captcha","Impossível gerar um captcha"}.
{"Unauthorized","Não Autorizado"}.
{"Update ","Atualizar"}.
{"Unregister a Jabber account","Deletar conta Jabber"}.
{"Unregister","Deletar registro"}.
{"Update ","Atualizar "}.
{"Update","Atualizar"}.
{"Update message of the day (don't send)","Atualizar mensagem do dia (não enviar)"}.
{"Update message of the day on all hosts (don't send)","Atualizar a mensagem do dia em todos os host (não enviar)"}.
@ -358,7 +372,7 @@
{"Users are not allowed to register accounts so quickly","Usuários não estão autorizados a registrar contas imediatamente"}.
{"Users Last Activity","Ultimas atividades dos usuários"}.
{"Users","Usuários"}.
{"User ","Usuário"}.
{"User ","Usuário "}.
{"User","Usuário"}.
{"Validate","Validar"}.
{"vCard User Search","Busca de Usuário vCard"}.
@ -367,11 +381,14 @@
{"Wednesday","Quarta"}.
{"When to send the last published item","Quando enviar o último tópico publicado"}.
{"Whether to allow subscriptions","Permitir subscrições"}.
{"You can later change your password using a Jabber client.","Mais tarde você pode alterar a sua senha usando um cliente Jabber."}.
{"You have been banned from this room","As sido bloqueado em esta sala"}.
{"You must fill in field \"Nickname\" in the form","Você deve completar o campo \"Apelido\" no formulário"}.
{"You need an x:data capable client to configure mod_irc settings","Necessitas um cliente com suporte de x:data para configurar las opções de mod_irc"}.
{"You need an x:data capable client to configure room","Necessitas um cliente com suporte de x:data para configurar la sala"}.
{"You need an x:data capable client to register nickname","Você precisa de um cliente com suporte de x:data para poder registrar o nick"}.
{"You need an x:data capable client to search","Necessitas um cliente com suporte de x:data para poder buscar"}.
{"Your active privacy list has denied the routing of this stanza.","Sua lista de privacidade ativa negou o roteamento desta estada."}.
{"Your contact offline message queue is full. The message has been discarded.","Sua fila de mensagens offline esta cheia. Sua mensagem foi descartada"}.
{"Your Jabber account was successfully created.","Sua conta jabber foi criada corretamente."}.
{"Your Jabber account was successfully deleted.","Sua conta Jabber foi deletada com sucesso."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Suas mensagens para ~s estão bloqueadas. Para desbloquea-las, visite: ~s"}.

File diff suppressed because it is too large Load Diff

View File

@ -134,5 +134,4 @@
{"You have been banned from this room","Foi banido desta sala"}.
{"You need an x:data capable client to configure mod_irc settings","É necessário um cliente com suporte de x:data para configurar as opções do mod_irc"}.
{"You need an x:data capable client to configure room","É necessário um cliente com suporte de x:data para configurar a sala"}.
{"You need an x:data capable client to register nickname","É necessário um cliente com suporte de x:data para poder registar a alcunha"}.
{"You need an x:data capable client to search","É necessário um cliente com suporte de x:data para poder procurar"}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Portuguese (português)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr ""
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Não foi passado nenhum recurso"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr ""
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
#, fuzzy
msgid "Enter the text you see"
msgstr "Introduza caminho para o ficheiro de texto"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr ""
@ -374,7 +386,7 @@ msgid "Jabber ID"
msgstr ""
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Palavra-chave"
@ -449,17 +461,17 @@ msgstr ""
msgid "ejabberd IRC module"
msgstr "Módulo de IRC ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"É necessário um cliente com suporte de x:data para configurar as opções do "
"mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registo no mod_irc para"
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
#, fuzzy
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
@ -468,11 +480,11 @@ msgstr ""
"Introduza o nome de utilizador e codificações de caracteres que quer usar ao "
"conectar-se aos servidores de IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Nome do utilizador de IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
#, fuzzy
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
@ -484,42 +496,42 @@ msgstr ""
"servidor IRC preencha esta lista con valores no formato '{\"servidor irc\", "
"\"codificação\"}'. Este serviço usa por omissão a codificação \"~s\"."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
msgstr ""
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr ""
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr ""
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr ""
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
#, fuzzy
msgid "IRC server"
msgstr "Nome do utilizador de IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr ""
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr ""
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr ""
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
#, fuzzy
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
@ -529,26 +541,26 @@ msgstr ""
"Introduza o nome de utilizador e codificações de caracteres que quer usar ao "
"conectar-se aos servidores de IRC"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
#, fuzzy
msgid "IRC username"
msgstr "Nome do utilizador de IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
#, fuzzy
msgid "Password ~b"
msgstr "Palavra-chave"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
#, fuzzy
msgid "Port ~b"
msgstr "Porta"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr ""
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr ""
@ -572,7 +584,8 @@ msgid "Chatrooms"
msgstr ""
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"É necessário um cliente com suporte de x:data para poder registar a alcunha"
@ -590,8 +603,8 @@ msgstr "Introduza a alcunha que quer registar"
msgid "Nickname"
msgstr "Alcunha"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "A alcunha já está registada por outra pessoa"
@ -643,7 +656,7 @@ msgid "is now known as"
msgstr ""
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " colocou o tópico: "
@ -750,10 +763,6 @@ msgstr "Configuração"
msgid "Room Occupants"
msgstr ""
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Título da sala"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr ""
@ -785,8 +794,8 @@ msgstr "Não é permitido enviar mensagens privadas do tipo \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "O destinatário não está na sala"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes podem enviar mensagens para a sala"
@ -803,230 +812,234 @@ msgstr "Só os ocupantes podem enviar consultas para a sala"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala não são permitidas consultas aos seus membros"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Só os moderadores e os participantes podem mudar o tópico desta sala"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "A alcunha já está a ser usado por outro ocupante"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Foi banido desta sala"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "É necessário ser membro desta sala para poder entrar"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
#, fuzzy
msgid "This room is not anonymous"
msgstr "Tornar a sala anónima?"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
#, fuzzy
msgid "A password is required to enter this room"
msgstr "É necessária a palavra-chave para poder entrar nesta sala"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr ""
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Palavra-chave incorrecta"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "São necessários privilégios de administrador"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "São necessários privilégios de moderador"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não é válido"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "A alcunha ~s não existe na sala"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Afiliação inválida: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Papel inválido: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "São necessários privilégios de dono"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Configuração para "
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Título da sala"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
#, fuzzy
msgid "Room description"
msgstr "Subscrição"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
#, fuzzy
msgid "Make room persistent"
msgstr "Tornar a sala permanente?"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
#, fuzzy
msgid "Make room public searchable"
msgstr "Tornar a sala publicamente visível?"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
#, fuzzy
msgid "Make participants list public"
msgstr "Tornar pública a lista de participantes?"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
#, fuzzy
msgid "Make room password protected"
msgstr "Proteger a sala com palavra-chave?"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr ""
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr ""
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr ""
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr ""
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
#, fuzzy
msgid "anyone"
msgstr "Nenhum"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
#, fuzzy
msgid "Make room members-only"
msgstr "Tornar a sala exclusiva a membros?"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Tornar a sala moderada"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
#, fuzzy
msgid "Default users as participants"
msgstr "Os utilizadores são membros por omissão?"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Permitir aos utilizadores mudar o tópico?"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
#, fuzzy
msgid "Allow users to send private messages"
msgstr "Permitir que os utilizadores enviem mensagens privadas?"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
#, fuzzy
msgid "Allow users to query other users"
msgstr "Permitir aos utilizadores consultar outros utilizadores?"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
#, fuzzy
msgid "Allow users to send invites"
msgstr "Permitir que os utilizadores enviem convites?"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "Permitir aos utilizadores mudar o tópico?"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
#, fuzzy
msgid "Make room captcha protected"
msgstr "Proteger a sala com palavra-chave?"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
#, fuzzy
msgid "Enable logging"
msgstr "Guardar históricos?"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "É necessário um cliente com suporte de x:data para configurar a sala"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr ""
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr ""
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
#, fuzzy
msgid "the password is"
msgstr "Mudar palavra-chave"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
#, fuzzy
msgid "~s's Offline Messages Queue"
msgstr "~s fila de mensagens diferidas"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1049,21 +1062,21 @@ msgstr "De"
msgid "To"
msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Pacote"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Eliminar os seleccionados"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Offline Messages:"
msgstr "Mensagens diferidas:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Mensagens diferidas"
@ -1073,114 +1086,138 @@ msgstr "Mensagens diferidas"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo vCard de ejabberd"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
#, fuzzy
msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo pub/sub de ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
#, fuzzy
msgid "Node ID"
msgstr "Nodo"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"É necessário um cliente com suporte de x:data para poder registar a alcunha"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Escolha um nome de utilizador e palavra-chave para se registar neste servidor"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utilizador"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr ""
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "Mudar palavra-chave"
#: mod_register.erl:358
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes"
@ -1215,13 +1252,13 @@ msgstr "Remover"
msgid "Roster of "
msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
#, fuzzy
msgid "Bad format"
msgstr "formato inválido"
@ -1235,41 +1272,41 @@ msgstr "Adicionar Jabber ID"
msgid "Roster"
msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
#, fuzzy
msgid "Shared Roster Groups"
msgstr "Lista de contactos partilhada"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Adicionar novo"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
#, fuzzy
msgid "Name:"
msgstr "Nome"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
#, fuzzy
msgid "Description:"
msgstr "Subscrição"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr ""
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr ""
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
#, fuzzy
msgid "Group "
msgstr "Grupos"
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1341,11 +1378,6 @@ msgstr "Unidade da organização"
msgid "Search users in "
msgstr "Procurar utilizadores em "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Utilizador"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "É necessário um cliente com suporte de x:data para poder procurar"
@ -1483,7 +1515,9 @@ msgstr "Conexões S2S para fora"
msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S de saída"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Mudar palavra-chave"
@ -1495,7 +1529,8 @@ msgstr "Utilizador"
msgid "Connected Resources:"
msgstr "Recursos conectados:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Palavra-chave:"
@ -1723,6 +1758,122 @@ msgstr "Eliminar"
msgid "Start"
msgstr "Reiniciar"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
#, fuzzy
msgid "Jabber Account Registration"
msgstr "Configuração das Listas de Controlo de Acesso do ejabberd"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Nome do utilizador de IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Nunca"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr ""
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Lista de contactos"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Palavra-chave:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Palavra-chave:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#~ msgid "Encodings"
#~ msgstr "Codificações"
@ -1781,9 +1932,6 @@ msgstr "Reiniciar"
#~ msgid "ejabberd (c) 2002-2005 Alexey Shchepin, 2005 Process One"
#~ msgstr "ejabberd (c) 2002-2005 Alexey Shchepin, 2005 Process One"
#~ msgid "ejabberd access control lists configuration"
#~ msgstr "Configuração das Listas de Controlo de Acesso do ejabberd"
#~ msgid "ejabberd access rules configuration"
#~ msgstr "Configuração das Regras de Acesso do ejabberd"

View File

@ -33,8 +33,10 @@
{"Backup","Резервное копирование"}.
{"Bad format","Неправильный формат"}.
{"Birthday","День рождения"}.
{"CAPTCHA web page","Ссылка на капчу"}.
{"Change Password","Сменить пароль"}.
{"Change User Password","Изменить пароль пользователя"}.
{"Characters not allowed:","Недопустимые символы:"}.
{"Chatroom configuration modified","Конфигурация комнаты изменилась"}.
{"Chatroom is created","Комната создана"}.
{"Chatroom is destroyed","Комната уничтожена"}.
@ -69,6 +71,7 @@
{"Description:","Описание:"}.
{"Disc only copy","только диск"}.
{"Displayed Groups:","Видимые группы:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Не говорите никому свой пароль, даже администраторам сервера."}.
{"Dump Backup to Text File at ","Копирование в текстовый файл на "}.
{"Dump to Text File","Копирование в текстовый файл"}.
{"Edit Properties","Изменить параметры"}.
@ -120,6 +123,7 @@
{"has been kicked","выгнали из комнаты"}.
{" has set the subject to: "," установил(а) тему: "}.
{"Host","Хост"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Если вы не видите изображение капчи, перейдите по ссылке."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Чтобы указать различные порты, пароли, кодировки для разных серверов IRC, заполните список значениями в формате '{\"сервер IRC\", \"кодировка\", порт, \"пароль\"}'. По умолчанию сервис использует кодировку \"~s\", порт ~p, пустой пароль."}.
{"Import Directory","Импорт из директории"}.
{"Import File","Импорт из файла"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages of type \"groupchat\"","Нельзя посылать частные сообщения типа \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Не разрешается посылать частные сообщения прямо в конференцию"}.
{"It is not allowed to send private messages","Запрещено посылать приватные сообщения"}.
{"Jabber Account Registration","Регистрация Jabber-аккаунта"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s недопустимый"}.
{"January","января"}.
@ -177,6 +182,7 @@
{"May","мая"}.
{"Membership is required to enter this room","В эту конференцию могут входить только её члены"}.
{"Members:","Члены:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Запомните пароль или запишите его на бумаге, которую сохраните в безопасном месте. В Jabber'е нет автоматизированного средства восстановления пароля в том случае, если Вы его забудете."}.
{"Memory","Память"}.
{"Message body","Тело сообщения"}.
{"Middle Name","Отчество"}.
@ -190,6 +196,7 @@
{"Name:","Название:"}.
{"Name","Название"}.
{"Never","Никогда"}.
{"New Password:","Новый пароль:"}.
{"Nickname Registration at ","Регистрация псевдонима на "}.
{"Nickname ~s does not exist in the room","Псевдоним ~s в комнате отсутствует"}.
{"Nickname","Псевдоним"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Офлайновые сообщения:"}.
{"Offline Messages","Офлайновые сообщения"}.
{"OK","Продолжить"}.
{"Old Password:","Старый пароль:"}.
{"Online Users:","Подключённые пользователи:"}.
{"Online Users","Подключённые пользователи"}.
{"Online","Подключён"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Требуются права владельца"}.
{"Packet","Пакет"}.
{"Password ~b","Пароль ~b"}.
{"Password Verification:","Проверка пароля:"}.
{"Password Verification","Проверка пароля"}.
{"Password:","Пароль:"}.
{"Password","Пароль"}.
@ -257,8 +266,10 @@
{"Raw","Необработанный формат"}.
{"Really delete message of the day?","Действительно удалить сообщение дня?"}.
{"Recipient is not in the conference room","Адресата нет в конференции"}.
{"Register a Jabber account","Зарегистрировать Jabber-аккаунт"}.
{"Registered Users:","Зарегистрированные пользователи:"}.
{"Registered Users","Зарегистрированные пользователи"}.
{"Register","Зарегистрировать"}.
{"Registration in mod_irc for ","Регистрация в mod_irc для "}.
{"Remote copy","не хранится локально"}.
{"Remove All Offline Messages","Удалить все офлайновые сообщения"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Разослать объявление всем пользователям"}.
{"September","сентября"}.
{"Server ~b","Сервер ~b"}.
{"Server:","Сервер:"}.
{"Set message of the day and send to online users","Установить сообщение дня и разослать его подключённым пользователям"}.
{"Set message of the day on all hosts and send to online users","Установить сообщение дня на всех виртуальных серверах и разослать его подключённым пользователям"}.
{"Shared Roster Groups","Группы общих контактов"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Показать обычную таблицу"}.
{"Shut Down Service","Остановить службу"}.
{"~s invites you to the room ~s","~s приглашает вас в комнату ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Некоторые Jabber-клиенты могут сохранять пароль на Вашем компьютере. Используйте эту функцию только в том случае, если считаете это безопасным."}.
{"Specify the access model","Укажите механизм управления доступом"}.
{"Specify the event message type","Укажите тип сообщения о событии"}.
{"Specify the publisher model","Условия публикации"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Этот псевдоним уже занят другим участником"}.
{"That nickname is registered by another person","Этот псевдоним зарегистрирован кем-то другим"}.
{"The captcha is valid.","Проверка капчи прошла успешно."}.
{"The CAPTCHA verification has failed","Проверка капчи не пройдена"}.
{"The collections with which a node is affiliated","Имя коллекции, в которую входит узел"}.
{"The password is too weak","Слишком слабый пароль"}.
{"the password is","пароль:"}.
{"The password of your Jabber account was successfully changed.","Пароль Вашего Jabber-аккаунта был успешно изменен."}.
{"There was an error changing the password: ","Ошибка при смене пароля:"}.
{"There was an error creating the account: ","Ошибка при создании аккаунта:"}.
{"There was an error deleting the account: ","Ошибка при удалении аккаунта:"}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Регистр не имеет значения: \"маша\" и \"МАША\" будет считаться одним и тем же именем."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Здесь Вы можете создать Jabber-аккаунт на этом Jabber-сервере. Ваш JID (Jabber-идентификатор) будет в виде: \"пользователь@сервер\". Пожалуйста, внимательно читайте инструкции для правильного заполнения полей."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Здесь Вы можете удалить Jabber-аккаунт с этого сервера."}.
{"This participant is kicked from the room because he sent an error message to another participant","Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке другому участнику"}.
{"This participant is kicked from the room because he sent an error message","Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке"}.
{"This participant is kicked from the room because he sent an error presence","Этого участника выгнали из комнаты за то, что он послал присутствие с ошибкой"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Транзакции перезапущенные:"}.
{"Tuesday","Вторник"}.
{"Unable to generate a captcha","Не получилось создать капчу"}.
{"Unable to generate a CAPTCHA","Не получилось создать капчу"}.
{"Unauthorized","Не авторизован"}.
{"Unregister a Jabber account","Удалить Jabber-аккаунт"}.
{"Unregister","Удалить"}.
{"Update message of the day (don't send)","Обновить сообщение дня (не рассылать)"}.
{"Update message of the day on all hosts (don't send)","Обновить сообщение дня на всех виртуальных серверах (не рассылать)"}.
{"Update plan","План обновления"}.
@ -355,6 +380,7 @@
{"Uptime:","Время работы:"}.
{"Use of STARTTLS required","Вы обязаны использовать STARTTLS"}.
{"User Management","Управление пользователями"}.
{"Username:","Имя пользователя:"}.
{"Users are not allowed to register accounts so quickly","Пользователи не могут регистрировать учётные записи так быстро"}.
{"Users Last Activity","Статистика последнего подключения пользователей"}.
{"Users","Пользователи"}.
@ -367,11 +393,16 @@
{"Wednesday","Среда"}.
{"When to send the last published item","Когда посылать последний опубликованный элемент"}.
{"Whether to allow subscriptions","Разрешить подписку"}.
{"You can later change your password using a Jabber client.","Позже Вы можете изменить пароль через Jabber-клиент."}.
{"You have been banned from this room","Вам запрещено входить в эту конференцию"}.
{"You must fill in field \"Nickname\" in the form","Вы должны заполнить поле \"Псевдоним\" в форме"}.
{"You need a client that supports x:data and CAPTCHA to register","Чтобы зарегистрироваться, требуется x:data-совместимый клиент"}.
{"You need a client that supports x:data to register the nickname","Чтобы зарегистрировать псевдоним, требуется x:data-совместимый клиент"}.
{"You need an x:data capable client to configure mod_irc settings","Чтобы настроить параметры mod_irc, требуется x:data-совместимый клиент"}.
{"You need an x:data capable client to configure room","Чтобы сконфигурировать комнату, требуется x:data-совместимый клиент"}.
{"You need an x:data capable client to register nickname","Чтобы зарегистрировать псевдоним, требуется x:data-совместимый клиент"}.
{"You need an x:data capable client to search","Чтобы воспользоваться поиском, требуется x:data-совместимый клиент"}.
{"Your active privacy list has denied the routing of this stanza.","Маршрутизация этой строфы запрещена вашим активным списком приватности."}.
{"Your contact offline message queue is full. The message has been discarded.","Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не было сохранено."}.
{"Your Jabber account was successfully created.","Ваш Jabber-аккаунт был успешно создан."}.
{"Your Jabber account was successfully deleted.","Ваш Jabber-аккаунт был успешно удален."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Ваши сообщения к ~s блокируются. Для снятия блокировки перейдите по ссылке ~s"}.

View File

@ -1,36 +1,55 @@
# , 2010.
msgid ""
msgstr ""
"Project-Id-Version: 2.1.0-alpha\n"
"PO-Revision-Date: 2010-11-19 22:46+0900\n"
"Last-Translator: Evgeniy Khramtsov\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Russian (русский)\n"
"X-Additional-Translator: Konstantin Khomoutov\n"
"X-Additional-Translator: Sergei Golovan\n"
"X-Generator: Lokalize 1.0\n"
"Plural-Forms: nplurals=3; plural=(n%10==1 && n%100!=11 ? 0 : n%10>=2 && n%"
"10<=4 && (n%100<10 || n%100>=20) ? 1 : 2);\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Вы обязаны использовать STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Не указан ресурс"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Заменено новым соединением"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
"Маршрутизация этой строфы запрещена вашим активным списком приватности."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Введите увиденный текст"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Ваши сообщения к ~s блокируются. Для снятия блокировки перейдите по ссылке ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Если вы не видите изображение капчи, перейдите по ссылке."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Ссылка на капчу"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Проверка капчи прошла успешно."
@ -366,7 +385,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Пароль"
@ -437,15 +456,15 @@ msgstr "IRC Транспорт"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC модуль"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Чтобы настроить параметры mod_irc, требуется x:data-совместимый клиент"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Регистрация в mod_irc для "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -453,11 +472,11 @@ msgstr ""
"Введите имя пользователя, кодировки, порты и пароли, которые будут "
"использоваться при подключении к IRC-серверам"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Имя пользователя IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -469,7 +488,7 @@ msgstr ""
"\"пароль\"}'. По умолчанию сервис использует кодировку \"~s\", порт ~p, "
"пустой пароль."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -477,35 +496,35 @@ msgstr ""
"Пример: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Параметры соединения"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Присоединиться к каналу IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Канал IRC (без символа #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "Сервер IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Присоединяйтесь к каналу IRC"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Присоединиться к каналу IRC с Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Настройки IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -515,23 +534,23 @@ msgstr ""
"подключении к IRC-серверам. Нажмите 'Далее' для получения дополнительных "
"полей для заполнения. Нажмите 'Завершить' для сохранения настроек."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Имя пользователя IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Пароль ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Порт ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Кодировка сервера ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Сервер ~b"
@ -552,7 +571,7 @@ msgid "Chatrooms"
msgstr "Комнаты"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr "Чтобы зарегистрировать псевдоним, требуется x:data-совместимый клиент"
#: mod_muc/mod_muc.erl:717
@ -569,8 +588,8 @@ msgstr "Введите псевдоним, который Вы хотели бы
msgid "Nickname"
msgstr "Псевдоним"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Этот псевдоним зарегистрирован кем-то другим"
@ -619,7 +638,7 @@ msgid "is now known as"
msgstr "изменил(а) имя на"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " установил(а) тему: "
@ -723,10 +742,6 @@ msgstr "Конфигурация комнаты"
msgid "Room Occupants"
msgstr "Участники комнаты"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Название комнаты"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Превышен лимит скорости посылки информации"
@ -761,8 +776,8 @@ msgstr "Нельзя посылать частные сообщения типа
msgid "Recipient is not in the conference room"
msgstr "Адресата нет в конференции"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Только присутствующим разрешается посылать сообщения в конференцию"
@ -778,209 +793,213 @@ msgstr "Только присутствующим разрешается пос
msgid "Queries to the conference members are not allowed in this room"
msgstr "Запросы к пользователям в этой конференции запрещены"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Только модераторы и участники могут изменять тему в этой комнате"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Только модераторы могут изменять тему в этой комнате"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Посетителям не разрешается посылать сообщения всем присутствующим"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Этого участника выгнали из комнаты за то, что он послал присутствие с ошибкой"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Посетителям запрещено изменять свои псевдонимы в этой комнате"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Этот псевдоним уже занят другим участником"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Вам запрещено входить в эту конференцию"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "В эту конференцию могут входить только её члены"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Эта комната не анонимная"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Чтобы войти в эту конференцию, нужен пароль"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Не получилось создать капчу"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Неправильный пароль"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Требуются права администратора"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Требуются права модератора"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимый"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Псевдоним ~s в комнате отсутствует"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Недопустимый ранг: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Недопустимая роль: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Требуются права владельца"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Конфигурация комнаты ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Название комнаты"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Описание комнаты"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Сделать комнату постоянной"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Сделать комнату видимой всем"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Сделать список участников видимым всем"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Сделать комнату защищённой паролем"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Максимальное количество участников"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Не ограничено"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Сделать реальные Jabber ID участников видимыми"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "только модераторам"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "всем участникам"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Комната только для зарегистрированных участников"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Сделать комнату модерируемой"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Сделать пользователей участниками по умолчанию"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Разрешить пользователям изменять тему"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Разрешить приватные сообщения"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Разрешить iq-запросы к пользователям"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Разрешить пользователям посылать приглашения"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Разрешить посетителям вставлять текcт статуса в сообщения о присутствии"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Разрешить посетителям изменять псевдоним"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Сделать комнату защищённой капчей"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Включить журналирование"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Чтобы сконфигурировать комнату, требуется x:data-совместимый клиент"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Число присутствующих"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "приватная, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s приглашает вас в комнату ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "пароль:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Очередь недоставленных сообщений Вашего адресата переполнена. Сообщение не "
"было сохранено."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Oчередь офлайновых сообщений ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1002,20 +1021,20 @@ msgstr "От кого"
msgid "To"
msgstr "Кому"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Пакет"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Удалить выделенные"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Офлайновые сообщения:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Удалить все офлайновые сообщения"
@ -1023,111 +1042,132 @@ msgstr "Удалить все офлайновые сообщения"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Публикация-Подписка"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публикации-Подписки"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Запрос подписчика PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Решите: предоставить ли подписку этому объекту."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID узла"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Адрес подписчика"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Разрешить этому Jabber ID подписаться на данный узел?"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Доставлять вместе с уведомлениями o публикациях сами публикации"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Доставлять уведомления о событиях"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Уведомлять подписчиков об изменении конфигурации сборника"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Уведомлять подписчиков об удалении сборника"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Уведомлять подписчиков об удалении публикаций из сборника"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Сохранять публикации в хранилище"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Легко запоминаемое имя для узла"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Максимальное число сохраняемых публикаций"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Разрешить подписку"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Укажите механизм управления доступом"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Группы списка контактов, которым разрешена подписка"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Условия публикации"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr "Очищать все записи автора публикации когда он отключается"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Укажите тип сообщения о событии"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Максимальный размер полезной нагрузки в байтах"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Когда посылать последний опубликованный элемент"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Доставлять уведомления только доступным пользователям"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Имя коллекции, в которую входит узел"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Проверка капчи не пройдена"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Чтобы зарегистрироваться, требуется x:data-совместимый клиент"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Выберите имя пользователя и пароль для регистрации на этом сервере"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Пользователь"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Не получилось создать капчу"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Слишком слабый пароль"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Пользователи не могут регистрировать учётные записи так быстро"
@ -1161,13 +1201,13 @@ msgstr "Удалить"
msgid "Roster of "
msgstr "Ростер пользователя "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Неправильный формат"
@ -1179,37 +1219,37 @@ msgstr "Добавить Jabber ID"
msgid "Roster"
msgstr "Ростер"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Группы общих контактов"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Добавить"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Название:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Описание:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Члены:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Видимые группы:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Группа "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1281,11 +1321,6 @@ msgstr "Отдел организации"
msgid "Search users in "
msgstr "Поиск пользователей в "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Пользователь"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Чтобы воспользоваться поиском, требуется x:data-совместимый клиент"
@ -1408,7 +1443,9 @@ msgstr "Исходящие s2s-серверы:"
msgid "Outgoing s2s Servers:"
msgstr "Исходящие s2s-серверы:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Сменить пароль"
@ -1420,7 +1457,8 @@ msgstr "Пользователь "
msgid "Connected Resources:"
msgstr "Подключённые ресурсы:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Пароль:"
@ -1632,3 +1670,127 @@ msgstr "Удалить"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Запустить"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Ваш Jabber-аккаунт был успешно создан."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Ошибка при создании аккаунта:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Ваш Jabber-аккаунт был успешно удален."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Ошибка при удалении аккаунта:"
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Пароль Вашего Jabber-аккаунта был успешно изменен."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Ошибка при смене пароля:"
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Регистрация Jabber-аккаунта"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Зарегистрировать Jabber-аккаунт"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Удалить Jabber-аккаунт"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Здесь Вы можете создать Jabber-аккаунт на этом Jabber-сервере. Ваш JID "
"(Jabber-идентификатор) будет в виде: \"пользователь@сервер\". Пожалуйста, "
"внимательно читайте инструкции для правильного заполнения полей."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Имя пользователя:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Регистр не имеет значения: \"маша\" и \"МАША\" будет считаться одним и тем "
"же именем."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Недопустимые символы:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Сервер:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr "Не говорите никому свой пароль, даже администраторам сервера."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr "Позже Вы можете изменить пароль через Jabber-клиент."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Некоторые Jabber-клиенты могут сохранять пароль на Вашем компьютере. "
"Используйте эту функцию только в том случае, если считаете это безопасным."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Запомните пароль или запишите его на бумаге, которую сохраните в безопасном "
"месте. В Jabber'е нет автоматизированного средства восстановления пароля в "
"том случае, если Вы его забудете."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Проверка пароля:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Зарегистрировать"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Старый пароль:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Новый пароль:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Здесь Вы можете удалить Jabber-аккаунт с этого сервера."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Удалить"
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Проверка капчи прошла успешно."

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","Musíte vyplniť políčko \"Prezývka\" vo formulári"}.
{"You need an x:data capable client to configure mod_irc settings","Pre konfiguráciu mod_irc potrebujete klienta podporujúceho x:data"}.
{"You need an x:data capable client to configure room","Na konfiguráciu miestnosti potrebujete klienta podporujúceho x:data"}.
{"You need an x:data capable client to register nickname","Na registráciu prezývky potrebujete klienta podporujúceho z x:data"}.
{"You need an x:data capable client to search","Na vyhľadávanie potrebujete klienta podporujúceho x:data"}.
{"Your contact offline message queue is full. The message has been discarded.","Fronta offline správ tohoto kontaktu je plná. Správa bola zahodená."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Správa určená pre ~s bola zablokovaná. Oblokovať ju môžete na ~s"}.

View File

@ -9,27 +9,39 @@ msgstr ""
"X-Additional-Translator: Juraj Michalek\n"
"X-Additional-Translator: SkLUG\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Použitie STARTTLS je vyžadované"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Nebol poskytnutý žiadny zdroj"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Nahradené novým spojením"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Zadajte zobrazený text"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Správa určená pre ~s bola zablokovaná. Oblokovať ju môžete na ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Platná captcha."
@ -362,7 +374,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Heslo"
@ -433,15 +445,15 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Pre konfiguráciu mod_irc potrebujete klienta podporujúceho x:data"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Registrácia do mod_irc na "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -449,11 +461,11 @@ msgstr ""
"Vložte meno používateľa, kódovanie, porty a heslo ktoré chcete používať pri "
"pripojení na IRC server"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC prezývka"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -465,7 +477,7 @@ msgstr ""
"\"}'. Predvolenéi hodnoty pre túto službu sú: kódovanie \"~s\", port ~p a "
"žiadne heslo."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -473,35 +485,35 @@ msgstr ""
"Príklad: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Parametre spojenia"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Pripojit IRC kanál"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanál (bez počiatočnej #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC server"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Propojiť IRC kanál sem."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Pripojit IRC kanál k tomuto Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Nastavania IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -511,23 +523,23 @@ msgstr ""
"IRC servery. Kliknutím na tlačítko 'Ďalej' môžete zadať niektoré ďalšie "
"hodnoty. Pomocou 'Ukončiť ' uložíte nastavenia."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC prezývka"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Heslo ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Kódovanie pre server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -548,7 +560,8 @@ msgid "Chatrooms"
msgstr "Diskusné miestnosti"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "Na registráciu prezývky potrebujete klienta podporujúceho z x:data"
#: mod_muc/mod_muc.erl:717
@ -565,8 +578,8 @@ msgstr "Zadajte prezývku, ktorú chcete registrovať"
msgid "Nickname"
msgstr "Prezývka"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Prezývka je už zaregistrovaná inou osobou"
@ -615,7 +628,7 @@ msgid "is now known as"
msgstr "sa premenoval(a) na"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr "zmenil(a) tému na: "
@ -719,10 +732,6 @@ msgstr "Nastavenia miestnosti"
msgid "Room Occupants"
msgstr "Ľudí v miestnosti"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Názov miestnosti"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Bol prekročený prenosový limit"
@ -756,8 +765,8 @@ msgstr "Nie je dovolené odoslanie súkromnej správy typu \"Skupinová správa\
msgid "Recipient is not in the conference room"
msgstr "Príjemca sa nenachádza v konferenčnej miestnosti"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Len členovia majú povolené zasielať správy do konferencie"
@ -773,208 +782,212 @@ msgstr "Len členovia majú povolené dotazovať sa o konferencii"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Dotazovať sa o členoch nie je v tejto miestnosti povolené"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Len moderátori a zúčastnený majú povolené meniť tému tejto miestnosti"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Len moderátori majú povolené meniť tému miestnosti"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Návštevníci nemajú povolené zasielať správy všetkým prihláseným do "
"konferencie"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Účastník bol vyhodený z miestnosti, pretože poslal chybovú správu o stave"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "V tejto miestnosti nieje povolené meniť prezývky"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Prezývka je už používaná iným členom"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Boli ste vylúčený z tejto miestnosti"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné byť členom"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Táto miestnosť nie je anonymná"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné heslo"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Nepodarilo sa vygenerovat captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Nesprávne heslo"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Sú potrebné práva administrátora"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Sú potrebné práva moderátora"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Prezývka ~s v miestnosti neexistuje"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Neplatné priradenie: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Neplatná rola: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Sú vyžadované práva vlastníka"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfigurácia miestnosti ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Názov miestnosti"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Popis miestnosti"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Nastaviť miestnosť ako trvalú"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Nastaviť miestnosť ako verejne prehľadávateľnú"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Nastaviť zoznam zúčastnených ako verejný"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Chrániť miestnosť heslom"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Počet účastníkov"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Zobrazovať skutočné Jabber ID"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "moderátorom"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "všetkým"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Nastaviť miestnosť len pre členov"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Nastaviť miestnosť ako moderovanú"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Užívatelia sú implicitne členmi"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Povoliť užívateľom meniť tému"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Povoliť užívateľom odosielať súkromné správy"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Povoliť užívateľom dotazovať sa informácie o iných užívateľoch"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Povoliť používateľom posielanie pozvánok"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Návštevníci môžu posielať textové informácie v stavových správach"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Návštevníci môžu meniť prezývky"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Chrániť miestnosť systémom captcha"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Zapnúť zaznamenávanie histórie"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Na konfiguráciu miestnosti potrebujete klienta podporujúceho x:data"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Počet zúčastnených"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "súkromná, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s Vás pozýva do miestnosti ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "heslo je"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Fronta offline správ tohoto kontaktu je plná. Správa bola zahodená."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s Offline správy"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -996,20 +1009,20 @@ msgstr "Od"
msgid "To"
msgstr "Pre"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Zmazať vybrané"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Offline správy"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Odstrániť všetky offline správy"
@ -1017,112 +1030,136 @@ msgstr "Odstrániť všetky offline správy"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publish-Subscribe"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Žiadosť odberateľa PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, či chcete povoliť toto odoberanie"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID uzlu"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adresa odberateľa"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dovoliť tomuto Jabber ID odoberať PubSub uzol?"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Doručiť náklad s upozornením na udalosť"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Doručiť oznamy o udalosti"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Upozorniť prihlásených používateľov na zmenu nastavenia uzlu"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Upozorniť prihlásených používateľov na zmazanie uzlu"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Upozorniť prihlásených používateľov na odstránenie položiek z uzlu"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Uložiť položky natrvalo do úložiska"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Prístupný názov pre uzol"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Maximálny počet položiek, ktoré je možné natrvalo uložiť"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Povoliť prihlasovanie"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Uveďte model prístupu"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktov, ktoré môžu odoberať"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Špecifikovať model publikovania"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
"Odstrániť všetky relevantné položky, keď užívateľ prejde do módu offline"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Uveďte typ pre správu o udalosti"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Maximálny náklad v bajtoch"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Kedy odoslať posledne publikovanú položku"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Doručovať upozornenia len aktuálne prihláseným používateľom"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Kolekcie asociované s uzlom"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Na registráciu prezývky potrebujete klienta podporujúceho z x:data"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Zvolte meno užívateľa a heslo pre registráciu na tomto servere"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Užívateľ"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Nepodarilo sa vygenerovat captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "heslo je"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Nieje dovolené vytvárať účty tak rýchlo po sebe"
@ -1156,13 +1193,13 @@ msgstr "Odstrániť"
msgid "Roster of "
msgstr "Zoznam kontaktov "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Zlý formát"
@ -1174,37 +1211,37 @@ msgstr "Pridať Jabber ID"
msgid "Roster"
msgstr "Zoznam kontaktov"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Skupiny pre zdieľaný zoznam kontaktov"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Pridať nový"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Meno:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Popis:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Členovia:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Skupina "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1276,11 +1313,6 @@ msgstr "Organizačná jednotka: "
msgid "Search users in "
msgstr "Hľadať užívateľov v "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Užívateľ"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Na vyhľadávanie potrebujete klienta podporujúceho x:data"
@ -1403,7 +1435,9 @@ msgstr "Odchádzajúce s2s spojenia:"
msgid "Outgoing s2s Servers:"
msgstr "Odchádzajúce s2s servery:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Zmeniť heslo"
@ -1415,7 +1449,8 @@ msgstr "Používateľ "
msgid "Connected Resources:"
msgstr "Pripojené zdroje:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Heslo:"
@ -1627,6 +1662,126 @@ msgstr "Zmazať"
msgid "Start"
msgstr "Štart"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "IRC prezývka"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Server ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Overenie hesla"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Zoznam kontaktov"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Heslo:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Heslo:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Platná captcha."
#~ msgid "Encodings"
#~ msgstr "Kódovania"

View File

@ -357,7 +357,6 @@
{"You must fill in field \"Nickname\" in the form","Du måste fylla i fält \"smeknamn\" i formen"}.
{"You need an x:data capable client to configure mod_irc settings","Du behöer en klient som stöjer x:data för att konfigurera mod_irc"}.
{"You need an x:data capable client to configure room","Du behöver en klient som stödjer x:data för att konfiguera detta rum"}.
{"You need an x:data capable client to register nickname","Du behöver en klient som stödjer x:data för att registrera smeknamn"}.
{"You need an x:data capable client to search","Du behöver en klient som stödjer x:data, för att kunna söka"}.
{"Your contact offline message queue is full. The message has been discarded.","Din kontaktkö for offlinekontakter ar full"}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Dina meddelanden till ~s är blockerade. För att avblockera dem, gå till ~s"}.

View File

@ -11,28 +11,40 @@ msgstr ""
"X-Additional-Translator: Magnus Henoch\n"
"X-Additional-Translator: Jonas Ådahl\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Du måste använda STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Ingen resurs angiven"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Ersatt av ny anslutning"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Skriv in sökväg till textfil"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"Dina meddelanden till ~s är blockerade. För att avblockera dem, gå till ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Din captcha är godkänd."
@ -365,7 +377,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Lösenord"
@ -436,15 +448,15 @@ msgstr "IRC transport"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC-modul"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Du behöer en klient som stöjer x:data för att konfigurera mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "mod_irc-registrering för "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -452,11 +464,11 @@ msgstr ""
"Skriv in användarnamn och textkodning du vill använda för att ansluta till "
"IRC-servrar"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC-användarnamn"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -467,7 +479,7 @@ msgstr ""
"i formatet '{\"irc server\", \"encoding\", port, \"password\"}'. Som "
"standard används \"~s\", port ~p, no password."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -475,35 +487,35 @@ msgstr ""
"Exempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Uppkopplingsparametrar"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Lägg till IRC kanal"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanal (skriv inte första #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC-användarnamn"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Lägg till IRC kanal här."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Lägg till IRC kanal till detta Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC Inställningar"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
#, fuzzy
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
@ -513,23 +525,23 @@ msgstr ""
"Skriv in användarnamn och textkodning du vill använda för att ansluta till "
"IRC-servrar"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC-användarnamn"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Lösenord ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Encoding för server ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Server ~b"
@ -550,7 +562,8 @@ msgid "Chatrooms"
msgstr "Chattrum"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "Du behöver en klient som stödjer x:data för att registrera smeknamn"
#: mod_muc/mod_muc.erl:717
@ -567,8 +580,8 @@ msgstr "Skriv in smeknamnet du vill registrera"
msgid "Nickname"
msgstr "Smeknamn"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Smeknamnet är reserverat"
@ -617,7 +630,7 @@ msgid "is now known as"
msgstr "är känd som"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " har satt ämnet till: "
@ -725,10 +738,6 @@ msgstr "Rumkonfiguration"
msgid "Room Occupants"
msgstr "Antal besökare"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Rumstitel"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafikgränsen har överstigits"
@ -766,8 +775,8 @@ msgstr ""
msgid "Recipient is not in the conference room"
msgstr "Mottagaren finns inte i rummet"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Utomstående får inte skicka medelanden till den här konferensen"
@ -783,7 +792,7 @@ msgstr "Utomstående får inte skicka iq-queries till den här konferensen"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Det är förbjudet att skicka iq-queries till konferensdeltagare"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -791,205 +800,209 @@ msgstr ""
"Endast moderatorer och deltagare har tillåtelse att ändra ämnet i det här "
"rummet"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Endast moderatorer får ändra ämnet i det här rummet"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besökare får inte skicka medelande till alla"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Denna deltagaren är kickad från rummet p.g.a att han skickade en errorstatus"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Det är inte tillåtet for gäster att ändra sina smeknamn i detta rummet"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Smeknamnet används redan"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Du har blivit bannlyst från det här rummet"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Du måste vara medlem för att komma in i det här rummet"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Detta rum är inte anonymt"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
#, fuzzy
msgid "A password is required to enter this room"
msgstr "Lösenord erfordras"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Kunde inte generera ett captcha"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Fel lösenord"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Administrationsprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Moderatorprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Otillåtet Jabber ID ~s"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Smeknamnet ~s existerar inte i det här rummet"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Ogiltlig rang: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Ogiltlig roll: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Ägarprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Konfiguration för ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Rumstitel"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
#, fuzzy
msgid "Room description"
msgstr "Beskrivning:"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Gör rummet permanent"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Gör rummet publikt sökbart"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Gör deltagarlistan publik"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Gör losenorden i rummet publika"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Maximalt antal av användare"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Ingen gräns"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Nuvarande äkta Jabber IDs till"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "endast moderatorer"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "Vemsomhelst"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Gör om rummet till endast medlemmar"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Gör rummet modererat"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Gör om användare till deltagare"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Tillåt användare att byta ämne"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Tillåt användare att skicka privata meddelanden"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Tillåt användare att söka efter andra användare"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Tillåt användare att skicka inbjudningar"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr "Tillåt gäster att skicka statustext som uppdatering"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Tillåt gäster att kunna ändra smeknamn"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
#, fuzzy
msgid "Make room captcha protected"
msgstr "Gör losenorden i rummet publika"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Möjliggör login"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "Du behöver en klient som stödjer x:data för att konfiguera detta rum"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Antal besökare"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s bjöd in dig till rummet ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "Lösenordet är"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Din kontaktkö for offlinekontakter ar full"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's offline meddelandekö"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1011,20 +1024,20 @@ msgstr "Från"
msgid "To"
msgstr "Till"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Tabort valda"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Offline meddelanden:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Offline meddelanden"
@ -1033,112 +1046,136 @@ msgstr "Offline meddelanden"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestrem modul"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Publikprenumeration"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd publikprenumerations modul"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Pubsub prenumerationsforfrågan"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Välj om du vill godkänna hela denna prenumertion."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Node ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Prenumerationsadress"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Skicka innehåll tillsammans med notifikationer"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Skicka eventnotifikation"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Meddela prenumeranter när nodens konfiguration ändras"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Meddela prenumeranter när noden tas bort"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Meddela prenumeranter när dataposter tas bort från noden"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Spara dataposter permanent"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Ett vänligt namn for noden"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Högsta antal dataposter som sparas"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Tillåta prenumerationer?"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Specificera accessmodellen"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Rostergrupper tillåts att prenumerera"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Ange publiceringsmodell"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "Specificera accessmodellen"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Högsta innehållsstorlek i bytes"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "När att skicka senast publicerade ämne"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Skicka notifikationer bara till uppkopplade användare"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "Du behöver en klient som stödjer x:data för att registrera smeknamn"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Välj ett användarnamn och lösenord för att registrera mot denna server"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Användarnamn"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "Kunde inte generera ett captcha"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "Lösenordet är"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Det är inte tillåtet för användare att skapa konton så fort"
@ -1172,13 +1209,13 @@ msgstr "Ta bort"
msgid "Roster of "
msgstr "Kontaktlista för "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Dåligt format"
@ -1190,37 +1227,37 @@ msgstr "Lägg till Jabber ID"
msgid "Roster"
msgstr "Kontaktlista"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Delade Rostergrupper"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Lägg till ny"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Namn:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Beskrivning:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Medlemmar:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Visade grupper:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Grupp "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1292,11 +1329,6 @@ msgstr "Organisationsenhet"
msgid "Search users in "
msgstr "Sök efter användare på "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Användarnamn"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Du behöver en klient som stödjer x:data, för att kunna söka"
@ -1419,7 +1451,9 @@ msgstr "Utgående s2s anslutning"
msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s server"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Ändra lösenord"
@ -1431,7 +1465,8 @@ msgstr "Användare "
msgid "Connected Resources:"
msgstr "Anslutna resurser:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Lösenord:"
@ -1639,3 +1674,123 @@ msgstr "Ta bort"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Starta"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "IRC-användarnamn"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Server ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Lösenordsverifikation"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Kontaktlista"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Lösenord:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Lösenord:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "Din captcha är godkänd."

View File

@ -305,6 +305,5 @@
{"You must fill in field \"Nickname\" in the form","คุณต้องกรอกฟิลด์ \"Nickname\" ในแบบฟอร์ม"}.
{"You need an x:data capable client to configure mod_irc settings","คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดการตั้งค่า mod_irc"}.
{"You need an x:data capable client to configure room","คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดค่าห้องสนทนา "}.
{"You need an x:data capable client to register nickname","คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อลงทะเบียนชื่อเล่น"}.
{"You need an x:data capable client to search","คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา"}.
{"Your contact offline message queue is full. The message has been discarded.","ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว"}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Thai (ภาษาไทย)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "ต้องใช้ STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "ไม่ได้ระบุข้อมูล"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "แทนที่ด้วยการเชื่อมต่อใหม่"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
#, fuzzy
msgid "Enter the text you see"
msgstr "ป้อนพาธของไฟล์ข้อความ"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr ""
@ -360,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "รหัสผ่าน"
@ -431,26 +443,26 @@ msgstr "การส่ง IRC"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC module"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดการตั้งค่า mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "การลงทะเบียนใน mod_irc สำหรับ"
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
#, fuzzy
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "ชื่อผู้ใช้ IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
#, fuzzy
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
@ -462,7 +474,7 @@ msgstr ""
"server\", \"encoding\"}' ลงในรายการ การบริการนี้ใช้การเข้ารหัสในรูปแบบ \"~s\" "
"โดยค่าดีฟอลต์ "
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
#, fuzzy
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
@ -471,36 +483,36 @@ msgstr ""
"ตัวอย่าง: [{\"irc.lucky.net\", \"koi8-r\"}, {\"vendetta.fef.net\", \"iso8859-1"
"\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr ""
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr ""
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr ""
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
#, fuzzy
msgid "IRC server"
msgstr "ชื่อผู้ใช้ IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr ""
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr ""
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr ""
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
#, fuzzy
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
@ -508,26 +520,26 @@ msgid ""
"settings."
msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
#, fuzzy
msgid "IRC username"
msgstr "ชื่อผู้ใช้ IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
#, fuzzy
msgid "Password ~b"
msgstr "รหัสผ่าน"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
#, fuzzy
msgid "Port ~b"
msgstr "พอร์ท"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr ""
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr ""
@ -548,7 +560,8 @@ msgid "Chatrooms"
msgstr "ห้องสนทนา"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อลงทะเบียนชื่อเล่น"
#: mod_muc/mod_muc.erl:717
@ -565,8 +578,8 @@ msgstr "ป้อนชื่อเล่นที่คุณต้องกา
msgid "Nickname"
msgstr "ชื่อเล่น"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "ชื่อเล่นถูกลงทะเบียนใช้งานโดยบุคคลอื่น"
@ -616,7 +629,7 @@ msgid "is now known as"
msgstr "ซึ่งรู้จักกันในชื่อ"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " ตั้งหัวข้อว่า: "
@ -725,10 +738,6 @@ msgstr "การกำหนดค่าห้องสนทนา"
msgid "Room Occupants"
msgstr "จำนวนผู้ครอบครองห้อง"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "ชื่อห้อง"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "อัตราของปริมาณการเข้าใช้เกินขีดจำกัด"
@ -760,8 +769,8 @@ msgstr "ไม่อนุญาตให้ส่งข้อความส่
msgid "Recipient is not in the conference room"
msgstr "ผู้รับไม่ได้อยู่ในห้องประชุม"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "ผู้ครอบครองห้องเท่านั้นที่ได้รับอนุญาตให้ส่งข้อความไปยังห้องประชุม"
@ -778,218 +787,222 @@ msgstr "ผู้ครอบครองห้องเท่านั้นท
msgid "Queries to the conference members are not allowed in this room"
msgstr "ห้องนี้ไม่อนุญาตให้ส่งกระทู้ถามถึงสมาชิกในห้องประชุม"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "ผู้ดูแลการสนทนาและผู้เข้าร่วมเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "ชื่อเล่นถูกใช้งานอยู่โดยผู้ครอบครองห้อง"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "คุณถูกสั่งห้ามไมให้เข้าห้องนี้"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "ต้องเป็นสมาชิกจึงจะสามารถเข้าห้องนี้ได้"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "ห้องนี้ไม่ปิดบังชื่อ"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
#, fuzzy
msgid "A password is required to enter this room"
msgstr "ต้องใส่รหัสผ่านเพื่อเข้าห้องนี้"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr ""
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "รหัสผ่านไม่ถูกต้อง"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลระบบ"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลการสนทนา"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s ไม่ถูกต้อง"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "ไม่มีชื่อเล่น ~s อยู่ในห้องนี้"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "การเข้าร่วมที่ไม่ถูกต้อง: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "บทบาทไม่ถูกต้อง: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "ต้องมีสิทธิพิเศษของเจ้าของ"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
#, fuzzy
msgid "Configuration of room ~s"
msgstr "การกำหนดค่าสำหรับ "
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "ชื่อห้อง"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
#, fuzzy
msgid "Room description"
msgstr "รายละเอียด:"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "สร้างเป็นห้องถาวร"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "สร้างเป็นห้องที่บุคคลทั่วไปสามารถค้นหาได้"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "สร้างรายการผู้เข้าร่วมสำหรับใช้งานโดยบุคคลทั่วไป"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "จำนวนผู้ครอบครองห้องสูงสุด"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "ไม่จำกัด"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "แสดง Jabber IDs ที่ถูกต้องแก่"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "สำหรับผู้ดูแลการสนทนาเท่านั้น"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "ทุกคน"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "สร้างห้องสำหรับสมาชิกเท่านั้น"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Make room moderated"
msgstr "สร้างเป็นห้องถาวร"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "ผู้ใช้เริ่มต้นเป็นผู้เข้าร่วม"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
#, fuzzy
msgid "Allow users to change the subject"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "อนุญาตให้ผู้ใช้ถามคำถามกับผู้ใช้คนอื่นๆ ได้"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "อนุญาตให้ผู้ใช้ส่งคำเชิญถึงกันได้"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
#, fuzzy
msgid "Allow visitors to send status text in presence updates"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
#, fuzzy
msgid "Make room captcha protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "เปิดใช้งานการบันทึก"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดค่าห้องสนทนา "
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "จำนวนผู้ครอบครองห้อง"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "ส่วนตัว, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s เชิญคุณเข้าร่วมสนทนาในห้อง ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "รหัสผ่านคือ"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว"
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's ลำดับข้อความออฟไลน์"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1011,20 +1024,20 @@ msgstr "จาก"
msgid "To"
msgstr "ถึง"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "แพ็กเก็ต"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "ลบข้อความที่เลือก"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "ข้อความออฟไลน์:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "ข้อความออฟไลน์"
@ -1033,112 +1046,135 @@ msgstr "ข้อความออฟไลน์"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams module"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "เผยแพร่-สมัครเข้าใช้งาน"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe module"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "คำร้องขอของผู้สมัครเข้าใช้งาน PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "เลือกว่าจะอนุมัติการสมัครเข้าใช้งานของเอนทิตี้นี้หรือไม่"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID โหนด"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "ที่อยู่ของผู้สมัคร"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "อนุญาตให้ Jabber ID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "ส่งส่วนของข้อมูล (payload) พร้อมกับการแจ้งเตือนเหตุการณ์"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "ส่งการแจ้งเตือนเหตุการณ์"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อการกำหนดค่าโหนดเปลี่ยนแปลง"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อโหนดถูกลบ"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อรายการถูกลบออกจากโหนด"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "ยืนยันรายการที่จะจัดเก็บ"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "จำนวนสูงสุดของรายการที่ยืนยัน"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "อนุญาตให้เข้าร่วมเป็นสมาชิกหรือไม่"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "ระบุโมเดลการเข้าถึง"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "ระบุโมเดลผู้เผยแพร่"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "ระบุโมเดลการเข้าถึง"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "ขนาดสูงสุดของส่วนของข้อมูล (payload) มีหน่วยเป็นไบต์"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "เวลาที่ส่งรายการที่เผยแพร่ครั้งล่าสุด"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "ส่งการแจ้งเตือนถึงผู้ใช้ที่สามารถติดต่อได้เท่านั้น"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อลงทะเบียนชื่อเล่น"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "เลือกชื่อผู้ใช้และรหัสผ่านเพื่อลงทะเบียนกับเซิร์ฟเวอร์นี้"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "ผู้ใช้"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr ""
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "รหัสผ่านคือ"
#: mod_register.erl:358
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
@ -1173,13 +1209,13 @@ msgstr "ลบ"
msgid "Roster of "
msgstr "บัญชีรายชื่อของ "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "รูปแบบที่ไม่ถูกต้อง"
@ -1191,37 +1227,37 @@ msgstr "เพิ่ม Jabber ID"
msgid "Roster"
msgstr "บัญชีรายชื่อ"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "กลุ่มบัญชีรายชื่อที่ใช้งานร่วมกัน"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "เพิ่มผู้ใช้ใหม่"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "ชื่อ:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "รายละเอียด:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "สมาชิก:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "กลุ่มที่แสดง:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "กลุ่ม"
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1293,11 +1329,6 @@ msgstr "หน่วยขององค์กร"
msgid "Search users in "
msgstr "ค้นหาผู้ใช้ใน "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "ผู้ใช้"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา"
@ -1422,7 +1453,9 @@ msgstr "การเชื่อมต่อ s2s ขาออก:"
msgid "Outgoing s2s Servers:"
msgstr "เซิร์ฟเวอร์ s2s ขาออก:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "เปลี่ยนรหัสผ่าน"
@ -1434,7 +1467,8 @@ msgstr "ผู้ใช้"
msgid "Connected Resources:"
msgstr "ทรัพยากรที่เชื่อมต่อ:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "รหัสผ่าน:"
@ -1647,6 +1681,122 @@ msgstr "ลบ"
msgid "Start"
msgstr "เริ่ม"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "ชื่อผู้ใช้ IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "ไม่เคย"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "การตรวจสอบรหัสผ่าน"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "บัญชีรายชื่อ"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "รหัสผ่าน:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "รหัสผ่าน:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#~ msgid "Encodings"
#~ msgstr "การเข้ารหัส"

View File

@ -365,7 +365,6 @@
{"You must fill in field \"Nickname\" in the form","Formda \"Takma isim\" alanını doldurmanız gerekiyor"}.
{"You need an x:data capable client to configure mod_irc settings","mod_irc ayarlarını düzenlemek için x:data becerisine sahip bir istemciye gereksinimiz var"}.
{"You need an x:data capable client to configure room","Odayı ayarlamak için x:data becerisine sahip bir istemciye gereksinimiz var"}.
{"You need an x:data capable client to register nickname","Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye gereksinimiz var"}.
{"You need an x:data capable client to search","Arama yapabilmek için x:data becerisine sahip bir istemciye gereksinimiz var"}.
{"Your contact offline message queue is full. The message has been discarded.","Çevirim-dışı mesaj kuyruğunuz dolu. Mesajını dikkate alınmadı."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","~s kullanıcısına mesajlarınız engelleniyor. Durumu düzeltmek için ~s adresini ziyaret ediniz."}.

View File

@ -12,29 +12,41 @@ msgstr ""
"X-Language: Turkish (türkçe)\n"
"X-Generator: KBabel 1.11.4\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "STARTTLS kullanımı gereklidir"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Hiç kaynak sağlanmadı"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Eski bağlantı yenisi ile değiştirildi"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Gördüğünüz metni giriniz"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
"~s kullanıcısına mesajlarınız engelleniyor. Durumu düzeltmek için ~s "
"adresini ziyaret ediniz."
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "İnsan doğrulaması (captcha) geçerli."
@ -367,7 +379,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Parola"
@ -438,17 +450,17 @@ msgstr "IRC Nakli (Transport)"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC modülü"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"mod_irc ayarlarını düzenlemek için x:data becerisine sahip bir istemciye "
"gereksinimiz var"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "mod_irc'ye kayıt : "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -456,11 +468,11 @@ msgstr ""
"IRC sunuculara bağlanmak için kullanmak istediğiniz kullanıcı ismi, "
"kodlamalar, kapılar (portlar) ve parolaları giriniz"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "IRC Kullanıcı İsmi"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -472,7 +484,7 @@ msgstr ""
"\"}' biçeminde değerlerle bu listeyi doldurunuz. Öntanımlı olarak bu servis "
"\"~s\" kodlamasını, ~p \"kapısını\", \"boş\" parolasını kullanıyor."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -480,35 +492,35 @@ msgstr ""
"Örnek: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"gizli\"}, {\"vendetta.fef.net"
"\", \"iso8859-1\", 7000}], {\"irc.sometestserver.net\", \"utf-8\"}]"
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Bağlantı parametreleri"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "IRC kanalına katıl"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "IRC kanalı (ilk # işaretini koymayın)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC sunucusu"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Buradaki IRC kanalına katıl."
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "IRC kanalına bu Jabber ID'si ile katıl: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "IRC ayarları"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -518,23 +530,23 @@ msgstr ""
"kodlamaları giriniz. 'İleri' tuşuna basınca karşınıza dolduracak daha fazla "
"alan çıkacak. 'Tamamla' tuşuna basarak ayarları kaydedin."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "IRC kullanıcı ismi"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Parola ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Kapı (Port) ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Sunucu için kodlama ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Sunucu ~b"
@ -555,7 +567,8 @@ msgid "Chatrooms"
msgstr "Sohbet Odaları"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye "
"gereksinimiz var"
@ -574,8 +587,8 @@ msgstr "Kaydettirmek istediğiniz takma ismi giriniz"
msgid "Nickname"
msgstr "Takma isim"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "O takma isim başka biri tarafından kaydettirilmiş"
@ -624,7 +637,7 @@ msgid "is now known as"
msgstr "isim değiştirdi :"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " konuyu değiştirdi: "
@ -732,10 +745,6 @@ msgstr "Oda Ayarları"
msgid "Room Occupants"
msgstr "Oda Sakini Sayısı"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Oda başlığı"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Trafik oran sınırııldı"
@ -769,8 +778,8 @@ msgstr "\"groupchat\" tipinde özel mesajlar gönderilmesine izin verilmiyor"
msgid "Recipient is not in the conference room"
msgstr "Alıcı konferans odasında değil"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sadece oda sakinlerinin konferansa mesaj göndermesine izin veriliyor"
@ -786,7 +795,7 @@ msgstr "Sadece oda sakinlerinin konferansa sorgu göndermesine izin veriliyor"
msgid "Queries to the conference members are not allowed in this room"
msgstr "Bu odada konferans üyelerine sorgu yapılmasına izin verilmiyor"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
@ -794,204 +803,208 @@ msgstr ""
"Sadece moderatörlerin ve katılımcıların bu odanın konusunu değiştirmesine "
"izin veriliyor"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Sadece moderatörlerin bu odanın konusunu değiştirmesine izin veriliyor"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr ""
"Ziyaretçilerin odadaki tüm sakinlere mesaj göndermesine izin verilmiyor"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr "Bu katılımcı bir hata varlığı (presence) gönderdiği için odadan atıldı"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr ""
"Bu odada ziyaretçilerin takma isimlerini değiştirmesine izin verilmiyor"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Takma isim odanın başka bir sakini tarafından halihazırda kullanımda"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Bu odaya girmeniz yasaklandı"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "Bu odaya girmek için üyelik gerekiyor"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Bu oda anonim değil"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Bu odaya girmek için parola gerekiyor"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "İnsan doğrulaması (captcha) oluşturulamadı"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Yanlış parola"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Yönetim yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Moderatör yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s geçersiz"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "~s takma ismi odada yok"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Geçersiz ilişki: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Geçersiz rol: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Sahip yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "~s odasının ayarları"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Oda başlığı"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Oda tanımı"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Odayı kalıcı hale getir"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Odayı herkes tarafından aranabilir hale getir"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Katılımcı listesini herkese açık hale getir"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Odayı parola korumalı hale getir"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Odada En Fazla Bulunabilecek Kişi Sayısı"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Sınırsız"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Gerçek Jabber ID'lerini göster :"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "sadece moderatörler"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "herkes"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Odayı sadece üyelere açık hale getir"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Odayı moderasyonlu hale getir"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Kullanıcılar öntanımlı olarak katılımcı olsun"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Kullanıcıların konu değiştirmesine izin ver"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Kullanıcıların özel mesaj göndermelerine izin ver"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Kullanıcıların diğer kullanıcıları sorgulamalarına izin ver"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Kullanıcıların davetiye göndermelerine izin ver"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Ziyaretçilerin varlık (presence) güncellemelerinde durum metni "
"göndermelerine izin ver"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Ziyaretçilerin takma isim değiştirmelerine izin ver"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Odayı insan doğrulaması (captcha) korumalı hale getir"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Kayıt tutma özelliğini aç"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Odayı ayarlamak için x:data becerisine sahip bir istemciye gereksinimiz var"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Oda sakini sayısı"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "özel"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s sizi ~s odasına davet ediyor"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "parola :"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr "Çevirim-dışı mesaj kuyruğunuz dolu. Mesajını dikkate alınmadı."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s Kullanıcısının Mesaj Kuyruğu"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1013,20 +1026,20 @@ msgstr "Kimden"
msgid "To"
msgstr "Kime"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Seçilenleri Sil"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Çevirim-dışı Mesajlar:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Tüm Çevirim-dışı Mesajları Kaldır"
@ -1034,112 +1047,138 @@ msgstr "Tüm Çevirim-dışı Mesajları Kaldır"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modülü"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Yayınla-Üye Ol"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modülü"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "PubSub üye isteği"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Bu varlığın üyeliğini onaylayıp onaylamamayı seçiniz."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "Düğüm ID"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Üye Olanın Adresi"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Yükleri (payload) olay uyarıları ile beraber gönder"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Olay uyarıları gönderilsin"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Düğüm ayarları değiştiğinde üyeleri uyar"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Bir düğüm silindiğinde üyeleri uyar"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Düğümden öğeler kaldırıldığında üyeleri uyar"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Öğeleri depoda kalıcı hale getir"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Düğüm için dostane bir isim"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Kalıcı hale getirilecek en fazla öğe sayısı"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Üyeliklere izin verilsin mi"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Erişim modelini belirtiniz"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Üye olunmasına izin verilen kontak listesi grupları"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Yayıncı modelini belirtiniz"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "Erişim modelini belirtiniz"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "En fazla yük (payload) boyutu (bayt olarak)"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Son yayınlanan öğe ne zaman gönderilsin"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Uyarıları sadece durumu uygun kullanıcılara ulaştır"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Bir düğüm ile bağlantılı koleksiyonlar"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye "
"gereksinimiz var"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Bu sunucuya kayıt olmak için bir kullanıcı ismi ve parola seçiniz"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Kullanıcı"
#: mod_register.erl:244
#, fuzzy
msgid "Unable to generate a CAPTCHA"
msgstr "İnsan doğrulaması (captcha) oluşturulamadı"
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "parola :"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Kullanıcıların bu kadar hızlı hesap açmalarına izin verilmiyor"
@ -1173,13 +1212,13 @@ msgstr "Kaldır"
msgid "Roster of "
msgstr "Kontak Listesi : "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Kötü biçem"
@ -1191,37 +1230,37 @@ msgstr "Jabber ID'si Ekle"
msgid "Roster"
msgstr "Kontak Listesi"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Paylaşımlı Kontak Listesi Grupları"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Yeni Ekle"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "İsim:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Tanım:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Üyeler:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Gösterilen Gruplar:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Group "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1293,11 +1332,6 @@ msgstr "Kurumun İlgili Birimi"
msgid "Search users in "
msgstr "Kullanıcılarda arama yap : "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Kullanıcı"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
@ -1421,7 +1455,9 @@ msgstr "Giden s2s Bağlantıları:"
msgid "Outgoing s2s Servers:"
msgstr "Giden s2s Sunucuları"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Parola Değiştir"
@ -1433,7 +1469,8 @@ msgstr "Kullanıcı "
msgid "Connected Resources:"
msgstr "Bağlı Kaynaklar:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Parola:"
@ -1646,3 +1683,123 @@ msgstr "Sil"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Başlat"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "IRC Kullanıcı İsmi"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Sunucu ~b"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Parola Doğrulaması"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Kontak Listesi"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Parola:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Parola:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#, fuzzy
#~ msgid "Captcha test failed"
#~ msgstr "İnsan doğrulaması (captcha) geçerli."

View File

@ -33,8 +33,10 @@
{"Backup","Резервне копіювання"}.
{"Bad format","Неправильний формат"}.
{"Birthday","День народження"}.
{"CAPTCHA web page","Адреса капчі"}.
{"Change Password","Змінити пароль"}.
{"Change User Password","Змінити Пароль Користувача"}.
{"Characters not allowed:","Заборонені символи:"}.
{"Chatroom configuration modified","Конфігурація кімнати змінилась"}.
{"Chatroom is created","Створено кімнату"}.
{"Chatroom is destroyed","Знищено кімнату"}.
@ -69,6 +71,7 @@
{"Description:","Опис:"}.
{"Disc only copy","Тільки диск"}.
{"Displayed Groups:","Видимі групи:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Нікому не кажіть свій пароль, навіть адміністраторам сервера."}.
{"Dump Backup to Text File at ","Копіювання в текстовий файл на "}.
{"Dump to Text File","Копіювання в текстовий файл"}.
{"Edit Properties","Змінити параметри"}.
@ -120,6 +123,7 @@
{"has been kicked","вигнали з кімнати"}.
{" has set the subject to: "," встановив(ла) тему: "}.
{"Host","Хост"}.
{"If you don't see the CAPTCHA image here, visit the web page.","Якщо ви не бачите зображення капчі, перейдіть за за цією адресою."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","Щоб вказати різні порти, паролі та кодування для різних серверів IRC, заповніть список значеннями в форматі '{\"irc server\", \"encoding\", port, \"password\"}'. За замовчуванням ця служба використовує \"~s\" кодування, порт ~p, пустий пароль."}.
{"Import Directory","Імпорт з директорії"}.
{"Import File","Імпорт з файла"}.
@ -145,6 +149,7 @@
{"It is not allowed to send private messages of type \"groupchat\"","Не дозволяється надсилати приватні повідомлення типу \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Не дозволяється надсилати приватні повідомлення в конференцію"}.
{"It is not allowed to send private messages","Приватні повідомлення не дозволені"}.
{"Jabber Account Registration","Реєстрація Jabber-акаунту"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s недопустимий"}.
{"January","січня"}.
@ -177,6 +182,7 @@
{"May","травня"}.
{"Membership is required to enter this room","В цю конференціию можуть входити тільки її члени"}.
{"Members:","Члени:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","Запам'ятайте пароль, або запишіть його на папері, який треба зберегти у безпечному місці. У Jabber'і немає автоматизованих засобів відновлення пароля на той випадок, якщо ви його забудете."}.
{"Memory","Пам'ять"}.
{"Message body","Тіло повідомлення"}.
{"Middle Name","По-батькові"}.
@ -190,6 +196,7 @@
{"Name:","Назва:"}.
{"Name","Назва"}.
{"Never","Ніколи"}.
{"New Password:","Новий Пароль:"}.
{"Nickname Registration at ","Реєстрація псевдоніма на "}.
{"Nickname ~s does not exist in the room","Псевдонім ~s в кімнаті відсутній"}.
{"Nickname","Псевдонім"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Офлайнові повідомлення:"}.
{"Offline Messages","Офлайнові повідомлення"}.
{"OK","Продовжити"}.
{"Old Password:","Старий пароль:"}.
{"Online Users:","Підключені користувачі:"}.
{"Online Users","Підключені користувачі"}.
{"Online","Підключений"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Необхідні права власника"}.
{"Packet","Пакет"}.
{"Password ~b","Пароль ~b"}.
{"Password Verification:","Перевірка Пароля:"}.
{"Password Verification","Перевірка Пароля"}.
{"Password:","Пароль:"}.
{"Password","Пароль"}.
@ -257,8 +266,10 @@
{"Raw","необроблений формат"}.
{"Really delete message of the day?","Насправді видалити повідомлення дня?"}.
{"Recipient is not in the conference room","Адресата немає в конференції"}.
{"Register a Jabber account","Зареєструвати Jabber-акаунт"}.
{"Registered Users:","Зареєстровані користувачі:"}.
{"Registered Users","Зареєстровані користувачі"}.
{"Register","Реєстрація"}.
{"Registration in mod_irc for ","Реєстрація в mod_irc для "}.
{"Remote copy","не зберігаеться локально"}.
{"Remove All Offline Messages","Видалити всі офлайнові повідомлення"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Надіслати сповіщення всім користувачам"}.
{"September","вересня"}.
{"Server ~b","Сервер ~b"}.
{"Server:","Сервер:"}.
{"Set message of the day and send to online users","Встановити повідомлення дня та надіслати його підключеним користувачам"}.
{"Set message of the day on all hosts and send to online users","Встановити повідомлення дня на всіх хостах та надійслати його підключеним користувачам"}.
{"Shared Roster Groups","Спільні групи контактів"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Показати звичайну таблицю"}.
{"Shut Down Service","Вимкнути Сервіс"}.
{"~s invites you to the room ~s","~s запрошує вас до кімнати ~s"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","Деякі Jabber-клієнти можуть зберігати пароль на вашому комп'ютері. Користуйтесь цією функцією тільки у тому випадку, якщо вважаєте її безпечною."}.
{"Specify the access model","Визначити модель доступу"}.
{"Specify the event message type","Вкажіть тип повідомлень зі сповіщеннями про події"}.
{"Specify the publisher model","Умови публікації"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Псевдонім зайнято кимось з присутніх"}.
{"That nickname is registered by another person","Псевдонім зареєстровано кимось іншим"}.
{"The captcha is valid.","Перевірку капчею закінчено успішно"}.
{"The CAPTCHA verification has failed","Перевірку капчею не пройдено"}.
{"The collections with which a node is affiliated","Колекція, до якої входить вузел"}.
{"The password is too weak","Пароль дуже простий"}.
{"the password is","пароль:"}.
{"The password of your Jabber account was successfully changed.","Пароль вашого Jabber-акаунту був успішно змінений."}.
{"There was an error changing the password: ","Помилка при зміні пароля: "}.
{"There was an error creating the account: ","Помилка при створенні акаунту:"}.
{"There was an error deleting the account: ","Помилка при видаленні акаунту: "}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","Регістр не має значення: \"МАША\" та \"маша\" буде сприйматися як одне й те саме ім'я."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","Тут ви можете зареєструвати обліковий запис Jabber на цьому сервері. Ваш JID (ідентифікатор Jabber) матиме вигляд \"користувач@сервер\". Щоб вірно заповнити поля нижче, будь ласка, уважно читайте інструкції до них."}.
{"This page allows to unregister a Jabber account in this Jabber server.","Ця сторінка дозволяє видалити свій акаунт з Jabber-сервера."}.
{"This participant is kicked from the room because he sent an error message to another participant","Цього учасника було відключено від кімнати через те, що він надіслав помилкове повідомлення іншому учаснику"}.
{"This participant is kicked from the room because he sent an error message","Цього учасника було відключено від кімнати через те, що він надіслав помилкове повідомлення"}.
{"This participant is kicked from the room because he sent an error presence","Цього учасника було відключено від кімнати через те, що він надіслав помилковий статус присутності"}.
@ -345,8 +367,11 @@
{"Transactions Restarted:","Транзакції перезапущені:"}.
{"Tuesday","Вівторок"}.
{"Unable to generate a captcha","Не має можливості сгенерувати капчу"}.
{"Unable to generate a CAPTCHA","Нема можливості сгенерувати капчу"}.
{"Unauthorized","Не авторізован"}.
{"Update message of the day (don't send)","Поновити повідомлення дня (не надсилати)"}.
{"Unregister a Jabber account","Видалити Jabber-акаунт"}.
{"Unregister","Видалити"}.
{"Update message of the day (don't send)","Оновити повідомлення дня (не надсилати)"}.
{"Update message of the day on all hosts (don't send)","Оновити повідомлення дня на всіх хостах (не надсилати)"}.
{"Update plan","План поновлення"}.
{"Update script","Сценарій поновлення"}.
@ -355,6 +380,7 @@
{"Uptime:","Час роботи:"}.
{"Use of STARTTLS required","Ви мусите використовувати STARTTLS"}.
{"User Management","Управління Користувачами"}.
{"Username:","Ім'я користувача:"}.
{"Users are not allowed to register accounts so quickly","Користувачам не дозволено так часто реєструвати облікові записи"}.
{"Users Last Activity","Статистика останнього підключення користувачів"}.
{"Users","Користувачі"}.
@ -367,11 +393,16 @@
{"Wednesday","Середа"}.
{"When to send the last published item","Коли надсилати останній опублікований елемент"}.
{"Whether to allow subscriptions","Дозволити передплату"}.
{"You can later change your password using a Jabber client.","Пізніше можна змінити пароль через Jabber-клієнт."}.
{"You have been banned from this room","Вам заборонено входити в цю конференцію"}.
{"You must fill in field \"Nickname\" in the form","Вам необхідно заповнити поле \"Псевдонім\" у формі"}.
{"You need a client that supports x:data and CAPTCHA to register","Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"}.
{"You need a client that supports x:data to register the nickname","Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"}.
{"You need an x:data capable client to configure mod_irc settings","Для налагодження параметрів mod_irc необхідно використовувати клієнт, що має підтримку x:data"}.
{"You need an x:data capable client to configure room","Для конфігурування кімнати потрібно використовувати клієнт з підтримкою x:data"}.
{"You need an x:data capable client to register nickname","Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"}.
{"You need an x:data capable client to search","Для пошуку необхідний x:data-придатний клієнт"}.
{"Your active privacy list has denied the routing of this stanza.","Маршрутизація цієї строфи була відмінена активним списком приватності."}.
{"Your contact offline message queue is full. The message has been discarded.","Черга повідомлень, що не були доставлені, переповнена. Повідомлення не було збережено."}.
{"Your Jabber account was successfully created.","Ваш Jabber-акаунт було успішно створено."}.
{"Your Jabber account was successfully deleted.","Ваш Jabber-акаунт було успішно видалено."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","Ваші повідомлення до ~s блокуються. Для розблокування відвідайте ~s"}.

View File

@ -13,27 +13,39 @@ msgstr ""
"X-Additional-Translator: Stoune\n"
"X-Additional-Translator: Sergei Golovan\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Ви мусите використовувати STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Не вказаний ресурс"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Замінено новим з'єднанням"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr "Маршрутизація цієї строфи була відмінена активним списком приватності."
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
msgid "Enter the text you see"
msgstr "Введіть текст, що ви бачите"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Ваші повідомлення до ~s блокуються. Для розблокування відвідайте ~s"
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr "Якщо ви не бачите зображення капчі, перейдіть за за цією адресою."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Адреса капчі"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr "Перевірку капчею закінчено успішно"
@ -99,7 +111,7 @@ msgstr ""
#: mod_announce.erl:648
msgid "Update message of the day (don't send)"
msgstr "Поновити повідомлення дня (не надсилати)"
msgstr "Оновити повідомлення дня (не надсилати)"
#: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)"
@ -369,7 +381,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Пароль"
@ -440,17 +452,17 @@ msgstr "IRC Транспорт"
msgid "ejabberd IRC module"
msgstr "ejabberd IRC модуль"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Для налагодження параметрів mod_irc необхідно використовувати клієнт, що має "
"підтримку x:data"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Реєстрація в mod_irc для "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers"
@ -458,11 +470,11 @@ msgstr ""
"Введіть ім'я користувача, кодування, порти та паролі, що будуть "
"використовуватися при підключенні до IRC-серверів"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Ім'я користувача IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -474,7 +486,7 @@ msgstr ""
"\"password\"}'. За замовчуванням ця служба використовує \"~s\" кодування, "
"порт ~p, пустий пароль."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -482,35 +494,35 @@ msgstr ""
"Приклад: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr "Параметри з'єднання"
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr "Приєднатися до каналу IRC"
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr "Канал IRC (не використовуйте спереду #)"
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
msgid "IRC server"
msgstr "IRC-сервер"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr "Приєднатися до каналу IRC"
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Приєднатися до каналу IRC з Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr "Парметри IRC"
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
"Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -520,23 +532,23 @@ msgstr ""
"підключенні до IRC-серверів Натисніть 'Далі' для заповнення додаткових "
"полів. Натисніть 'Завершити' для збереження параметрів."
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
msgid "IRC username"
msgstr "Ім'я користувача IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
msgid "Password ~b"
msgstr "Пароль ~b"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
msgid "Port ~b"
msgstr "Порт ~b"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr "Кодування для сервера ~b"
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr "Сервер ~b"
@ -557,7 +569,7 @@ msgid "Chatrooms"
msgstr "Кімнати"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"
@ -575,8 +587,8 @@ msgstr "Введіть псевдонім, який ви хочете зареє
msgid "Nickname"
msgstr "Псевдонім"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person"
msgstr "Псевдонім зареєстровано кимось іншим"
@ -625,7 +637,7 @@ msgid "is now known as"
msgstr "змінив(ла) им'я на"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " встановив(ла) тему: "
@ -729,10 +741,6 @@ msgstr "Конфігурація кімнати"
msgid "Room Occupants"
msgstr "Учасники кімнати"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Назва кімнати"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Швидкість передачі інформації було перевищено"
@ -768,8 +776,8 @@ msgstr "Не дозволяється надсилати приватні пов
msgid "Recipient is not in the conference room"
msgstr "Адресата немає в конференції"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Тільки присутнім дозволяється надсилати повідомленняя в конференцію"
@ -785,212 +793,216 @@ msgstr "Тільки присутнім дозволяється відправ
msgid "Queries to the conference members are not allowed in this room"
msgstr "Запити до користувачів в цій конференції зоборонені"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
msgid ""
"Only moderators and participants are allowed to change the subject in this "
"room"
msgstr "Тільки модератори та учасники можуть змінювати тему в цій кімнаті"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Тільки модератори можуть змінювати тему в цій кімнаті"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Відвідувачам не дозволяється надсилати повідомлення всім присутнім"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Цього учасника було відключено від кімнати через те, що він надіслав "
"помилковий статус присутності"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Відвідувачам не дозволяється змінювати псевдонім в цій кімнаті"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
msgid "That nickname is already in use by another occupant"
msgstr "Псевдонім зайнято кимось з присутніх"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Вам заборонено входити в цю конференцію"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room"
msgstr "В цю конференціию можуть входити тільки її члени"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Ця кімната не анонімна"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room"
msgstr "Щоб зайти в цю конференцію, необхідно ввести пароль"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr "Не має можливості сгенерувати капчу"
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Неправильний пароль"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Необхідні права адміністратора"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "Необхідні права модератора"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимий"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Псевдонім ~s в кімнаті відсутній"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Недопустимий ранг: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Недопустима роль: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Необхідні права власника"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s"
msgstr "Конфігурація кімнати ~s"
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Назва кімнати"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
msgid "Room description"
msgstr "Опис кімнати"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Зробити кімнату постійною"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Зробити кімнату видимою всім"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Зробити список учасників видимим всім"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Зробити кімнату захищеною паролем"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Максимальна кількість учасників"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Без обмежень"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Зробити реальні Jabber ID учасників видимими"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "тільки модераторам"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "всім учасникам"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Кімната тільки для зареєтрованых учасників"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Зробити кімнату модерованою"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Зробити користувачів учасниками за замовчуванням"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject"
msgstr "Дозволити користувачам змінювати тему"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Дозволити приватні повідомлення"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Дозволити iq-запити до користувачів"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Дозволити користувачам надсилати запрошення"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Дозволити відвідувачам відсилати текст статусу в оновленнях присутності"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Дозволити відвідувачам змінювати псевдонім"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected"
msgstr "Зробити кімнату захищеною капчею"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Включити журнал роботи"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Для конфігурування кімнати потрібно використовувати клієнт з підтримкою x:"
"data"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Кількість присутніх"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "приватна, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s запрошує вас до кімнати ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "пароль:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Черга повідомлень, що не були доставлені, переповнена. Повідомлення не було "
"збережено."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "Черга офлайнових повідомлень ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1012,20 +1024,20 @@ msgstr "Від кого"
msgid "To"
msgstr "Кому"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Пакет"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Видалити виділені"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Офлайнові повідомлення:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages"
msgstr "Видалити всі офлайнові повідомлення"
@ -1033,112 +1045,134 @@ msgstr "Видалити всі офлайнові повідомлення"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Опублікувати-Абонувати"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публікації-Абонування"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Запит на абонування PubSub"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Вирішіть, чи задовольнити запит цього об'єкту на підписку"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID вузла"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Адреса абонента"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Чи дозволити цьому Jabber ID абонувати новини наданого вузла"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Доставляти разом з повідомленнями про публікації самі публікації"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Доставляти сповіщення про події"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Повідомляти абонентів про зміни в конфігурації збірника"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Повідомляти абонентів про видалення збірника"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Повідомляти абонентів про видалення публікацій із збірника"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Зберегати публікації до сховища"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "Псевдонім для вузла"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Максимальне число збережених публікацій"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Дозволити передплату"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Визначити модель доступу"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Дозволені для абонування групи ростера"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Умови публікації"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
"Видалити всі елементи, коли особа, що їх опублікувала, вимикається від мережі"
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
msgid "Specify the event message type"
msgstr "Вкажіть тип повідомлень зі сповіщеннями про події"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Максимальний розмір корисного навантаження в байтах"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Коли надсилати останній опублікований елемент"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Доставляти повідомленнями тільки доступним користувачам"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr "Колекція, до якої входить вузел"
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr "Перевірку капчею не пройдено"
#: mod_register.erl:218
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Виберіть назву користувача та пароль для реєстрації на цьому сервері"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Користувач"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr "Нема можливості сгенерувати капчу"
#: mod_register.erl:309 mod_register.erl:354
msgid "The password is too weak"
msgstr "Пароль дуже простий"
#: mod_register.erl:358
msgid "Users are not allowed to register accounts so quickly"
msgstr "Користувачам не дозволено так часто реєструвати облікові записи"
@ -1172,13 +1206,13 @@ msgstr "Видалити"
msgid "Roster of "
msgstr "Ростер користувача "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Неправильний формат"
@ -1190,37 +1224,37 @@ msgstr "Додати Jabber ID"
msgid "Roster"
msgstr "Ростер"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Спільні групи контактів"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Додати"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Назва:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Опис:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Члени:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Видимі групи:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Група "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1292,11 +1326,6 @@ msgstr "Відділ організації"
msgid "Search users in "
msgstr "Пошук користувачів в "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Користувач"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Для пошуку необхідний x:data-придатний клієнт"
@ -1419,7 +1448,9 @@ msgstr "Вихідні s2s-з'єднання:"
msgid "Outgoing s2s Servers:"
msgstr "Вихідні s2s-сервери:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Змінити пароль"
@ -1431,7 +1462,8 @@ msgstr "Користувач "
msgid "Connected Resources:"
msgstr "Підключені ресурси:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Пароль:"
@ -1641,3 +1673,126 @@ msgstr "Видалити"
#: web/ejabberd_web_admin.erl:2574
msgid "Start"
msgstr "Запустити"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr "Ваш Jabber-акаунт було успішно створено."
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr "Помилка при створенні акаунту:"
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr "Ваш Jabber-акаунт було успішно видалено."
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr "Помилка при видаленні акаунту: "
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr "Пароль вашого Jabber-акаунту був успішно змінений."
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr "Помилка при зміні пароля: "
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr "Реєстрація Jabber-акаунту"
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr "Зареєструвати Jabber-акаунт"
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr "Видалити Jabber-акаунт"
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
"Тут ви можете зареєструвати обліковий запис Jabber на цьому сервері. Ваш JID "
"(ідентифікатор Jabber) матиме вигляд \"користувач@сервер\". Щоб вірно "
"заповнити поля нижче, будь ласка, уважно читайте інструкції до них."
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
msgid "Username:"
msgstr "Ім'я користувача:"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
"Регістр не має значення: \"МАША\" та \"маша\" буде сприйматися як одне й те "
"саме ім'я."
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr "Заборонені символи:"
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
msgid "Server:"
msgstr "Сервер:"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr "Нікому не кажіть свій пароль, навіть адміністраторам сервера."
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr "Пізніше можна змінити пароль через Jabber-клієнт."
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
"Деякі Jabber-клієнти можуть зберігати пароль на вашому комп'ютері. "
"Користуйтесь цією функцією тільки у тому випадку, якщо вважаєте її безпечною."
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
"Запам'ятайте пароль, або запишіть його на папері, який треба зберегти у "
"безпечному місці. У Jabber'і немає автоматизованих засобів відновлення "
"пароля на той випадок, якщо ви його забудете."
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
msgid "Password Verification:"
msgstr "Перевірка Пароля:"
#: web/mod_register_web.erl:249
msgid "Register"
msgstr "Реєстрація"
#: web/mod_register_web.erl:391
msgid "Old Password:"
msgstr "Старий пароль:"
#: web/mod_register_web.erl:396
msgid "New Password:"
msgstr "Новий Пароль:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr "Ця сторінка дозволяє видалити свій акаунт з Jabber-сервера."
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr "Видалити"
#~ msgid "Captcha test failed"
#~ msgstr "Перевірка капчею закінчилась невдало"

View File

@ -305,6 +305,5 @@
{"You must fill in field \"Nickname\" in the form","Bạn phải điền thông tin vào ô \"Nickname\" trong biểu mẫu này"}.
{"You need an x:data capable client to configure mod_irc settings","Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để xác định các thiết lập mod_irc"}.
{"You need an x:data capable client to configure room","Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để xác định cấu hình phòng họp"}.
{"You need an x:data capable client to register nickname","Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để đăng ký bí danh"}.
{"You need an x:data capable client to search","Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để tìm kiếm"}.
{"Your contact offline message queue is full. The message has been discarded.","Danh sách chờ thư liên lạc ngoại tuyến của bạn đã đầy. Thư này đã bị loại bỏ."}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Vietnamese (tiếng việt)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "Yêu cầu sử dụng STARTTLS"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Không có nguồn lực cung cấp"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Được thay thế bởi kết nối mới"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
#, fuzzy
msgid "Enter the text you see"
msgstr "Nhập đường dẫn đến tập tin văn bản"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr ""
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Mật Khẩu"
@ -434,17 +446,17 @@ msgstr "Truyền tải IRC"
msgid "ejabberd IRC module"
msgstr "Môdun ejabberd IRC Bản quyền"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để xác định "
"các thiết lập mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Đăng ký trong mod_irc cho "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
#, fuzzy
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
@ -453,11 +465,11 @@ msgstr ""
"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"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "Tên truy cập IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
#, fuzzy
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
@ -469,7 +481,7 @@ msgstr ""
"hãy điền vào danh sách này những giá trị theo định dạng '{\"máy chủ irc\", "
"\"mã hóa\"}'. Dịch vụ này mặc định sử dụng định dạng mã hóa \"~s\"."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
#, fuzzy
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
@ -478,36 +490,36 @@ msgstr ""
"Ví dụ: [{\"irc.lucky.net\", \"koi8-r\"}, {\"vendetta.fef.net\", \"iso8859-1"
"\"}]"
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr ""
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr ""
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr ""
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
#, fuzzy
msgid "IRC server"
msgstr "Tên truy cập IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr ""
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr ""
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr ""
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
#, fuzzy
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
@ -517,26 +529,26 @@ msgstr ""
"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"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
#, fuzzy
msgid "IRC username"
msgstr "Tên truy cập IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
#, fuzzy
msgid "Password ~b"
msgstr "Mật Khẩu"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
#, fuzzy
msgid "Port ~b"
msgstr "Cổng"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr ""
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr ""
@ -557,7 +569,8 @@ msgid "Chatrooms"
msgstr "Phòng trò chuyện"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để đăng ký "
"bí danh"
@ -576,8 +589,8 @@ msgstr "Nhập bí danh bạn muốn đăng ký"
msgid "Nickname"
msgstr "Bí danh"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "Một người khác đã đăng ký bí danh này rồi"
@ -627,7 +640,7 @@ msgid "is now known as"
msgstr "bây giờ được biết như"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " đã đặt chủ đề thành: "
@ -736,10 +749,6 @@ msgstr "Cấu Hình Phòng"
msgid "Room Occupants"
msgstr "Số người tham dự"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Tên phòng"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Quá giới hạn tỷ lệ lưu lượng truyền tải"
@ -771,8 +780,8 @@ msgstr "Không được phép gửi những thư riêng loại \"groupchat\""
msgid "Recipient is not in the conference room"
msgstr "Người nhận không có trong phòng họp"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Chỉ có những đối tượng tham gia mới được phép gửi thư đến phòng họp"
@ -791,7 +800,7 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr ""
"Không được phép gửi các yêu cầu gửi đến các thành viên trong phòng họp này"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
@ -800,214 +809,218 @@ msgstr ""
"Chỉ có những người điều phối và những người tham gia được phép thay đổi chủ "
"đề trong phòng này"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Chỉ có những người điều phối được phép thay đổi chủ đề trong phòng này"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Người ghé thăm không được phép gửi thư đến tất cả các người tham dự"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
#, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Chỉ có những người điều phối được phép thay đổi chủ đề trong phòng này"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Bí danh đang do một người tham dự khác sử dụng"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Bạn bị cấm tham gia phòng này"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "Yêu cầu tư cách thành viên khi tham gia vào phòng này"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Phòng này không nặc danh"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
#, fuzzy
msgid "A password is required to enter this room"
msgstr "Yêu cầu nhập mật khẩu để vào phòng này"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr ""
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Mật khẩu sai"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "Yêu cầu đặc quyền của nhà quản trị"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
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:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s không hợp lệ"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Bí danh ~s không tồn tại trong phòng này"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Tư cách không hợp lệ: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Vai trò không hợp lệ: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "Yêu cầu đặc quyền của người sở hữu"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Cấu hình cho "
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Tên phòng"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
#, fuzzy
msgid "Room description"
msgstr "Miêu tả:"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Tạo phòng bền vững"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Tạo phòng có thể tìm kiếm công khai"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Tạo danh sách người tham dự công khai"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Số Lượng Người Tham Dự Tối Đa"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Không giới hạn"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Jabber ID thực tế hiện hành đến"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "nhà điều phối duy nhất"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "bất kỳ ai"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Tạo phòng chỉ cho phép tư cách thành viên tham gia"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
#, fuzzy
msgid "Make room moderated"
msgstr "Tạo phòng bền vững"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Người sử dụng mặc định là người tham dự"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Cho phép người sử dụng thay đổi chủ đề"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Cho phép người sử dụng gửi thư riêng"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Cho phép người sử dụng hỏi người sử dụng khác"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Cho phép người sử dụng gửi lời mời"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
#, fuzzy
msgid "Allow visitors to send status text in presence updates"
msgstr "Cho phép người sử dụng gửi thư riêng"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
#, fuzzy
msgid "Allow visitors to change nickname"
msgstr "Cho phép người sử dụng thay đổi chủ đề"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
#, fuzzy
msgid "Make room captcha protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Cho phép ghi nhật ký"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để xác định "
"cấu hình phòng họp"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Số người tham dự"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "riêng,"
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s mời bạn vào phòng ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "mật khẩu là"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Danh sách chờ thư liên lạc ngoại tuyến của bạn đã đầy. Thư này đã bị loại bỏ."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "~s's Danh Sách Chờ Thư Ngoại Tuyến"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1029,20 +1042,20 @@ msgstr "Từ"
msgid "To"
msgstr "Đến"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Gói thông tin"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Tùy chọn Xóa được Chọn"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Thư Ngoại Tuyến:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Thư Ngoại Tuyến"
@ -1051,112 +1064,137 @@ msgstr "Thư Ngoại Tuyến"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Môdun SOCKS5 Bytestreams Bản quyền"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Xuất Bản-Đăng Ký"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Môdun ejabberd Xuất Bản-Đăng Ký Bản quyền"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Yêu cầu người đăng ký môđun Xuất Bản Đăng Ký"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Chọn có nên chấp nhận sự đăng ký của đối tượng này không"
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID Nút"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Địa Chỉ Người Đăng Ký"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
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:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Đưa ra thông tin dung lượng với các thông báo sự kiện"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Đưa ra các thông báo sự kiện"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Thông báo cho người đăng ký khi nào cấu hình nút thay đổi"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Thông báo cho người đăng ký khi nào nút bị xóa bỏ"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Thông báo cho người đăng ký khi nào các mục chọn bị gỡ bỏ khỏi nút"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Những mục cần để lưu trữ"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Số mục tối đa để lưu trữ"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Xác định nên cho phép đăng ký không"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Xác định mô hình truy cập"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Xác định mô hình nhà xuất bản"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "Xác định mô hình truy cập"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Kích thước dung lượng byte tối đa"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Khi cần gửi mục được xuất bản cuối cùng"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Chỉ gửi thông báo đến những người sử dụng hiện có"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Bạn cần có một trình ứng dụng khách hỗ trợ định dạng dữ liệu x: để đăng ký "
"bí danh"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr "Chọn một tên truy cập và mật khẩu để đăng ký với máy chủ này"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Người sử dụng"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr ""
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "mật khẩu là"
#: mod_register.erl:358
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Người ghé thăm không được phép gửi thư đến tất cả các người tham dự"
@ -1191,13 +1229,13 @@ msgstr "Gỡ bỏ"
msgid "Roster of "
msgstr "Bảng phân công của "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Định dạng hỏng"
@ -1209,37 +1247,37 @@ msgstr "Thêm Jabber ID"
msgid "Roster"
msgstr "Bảng phân công"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Nhóm Phân Công Chia Sẻ"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Thêm Mới"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Tên:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Miêu tả:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Thành viên:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Nhóm được hiển thị:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Nhóm "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1311,11 +1349,6 @@ msgstr "Bộ Phận"
msgid "Search users in "
msgstr "Tìm kiếm người sử dụng trong"
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Người sử dụng"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr ""
@ -1443,7 +1476,9 @@ msgstr "Kết Nối Bên Ngoài s2s:"
msgid "Outgoing s2s Servers:"
msgstr "Máy chủ Bên Ngoài s2s:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Thay Đổi Mật Khẩu"
@ -1455,7 +1490,8 @@ msgstr "Người sử dụng "
msgid "Connected Resources:"
msgstr "Tài Nguyên Được Kết Nối:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Mật Khẩu:"
@ -1670,6 +1706,122 @@ msgstr "Xóa"
msgid "Start"
msgstr "Khởi động"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "Tên truy cập IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Không bao giờ"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Kiểm Tra Mật Khẩu"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Bảng phân công"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Mật Khẩu:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Mật Khẩu:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#~ msgid "Encodings"
#~ msgstr "Mã hóa"

View File

@ -319,6 +319,5 @@
{"You must fill in field \"Nickname\" in the form","Vos dvoz rimpli l' tchamp «Metou no» dins l' formiulaire"}.
{"You need an x:data capable client to configure mod_irc settings","Vos avoz mezåjhe d' on cliyint ki sopoite x:data po candjî ls apontiaedjes di mod_irc"}.
{"You need an x:data capable client to configure room","I vs fåt on cliyint ki sopoite x:data por vos poleur apontyî l' såle"}.
{"You need an x:data capable client to register nickname","Vos avoz mezåjhe d' on cliyint ki sopoite x:data po-z edjîstrer on metou no"}.
{"You need an x:data capable client to search","Vos avoz mezåjhe d' on cliyint ki sopoite x:data po fé on cweraedje"}.
{"Your contact offline message queue is full. The message has been discarded.","Li cawêye di messaedjes e môde disraloyî di vosse soçon est plinne. Li messaedje a stî tapé å diale."}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n"
"X-Language: Walon (Walloon)\n"
#: ejabberd_c2s.erl:373 ejabberd_c2s.erl:676
#: ejabberd_c2s.erl:424 ejabberd_c2s.erl:727
msgid "Use of STARTTLS required"
msgstr "L' eployaedje di STARTTL est oblidjî"
#: ejabberd_c2s.erl:452
#: ejabberd_c2s.erl:503
msgid "No resource provided"
msgstr "Nole rissoûce di dnêye"
#: ejabberd_c2s.erl:1097
#: ejabberd_c2s.erl:1147
msgid "Replaced by new connection"
msgstr "Replaecî pa on novea raloyaedje"
#: ejabberd_captcha.erl:93 ejabberd_captcha.erl:125
#: ejabberd_c2s.erl:1836
msgid "Your active privacy list has denied the routing of this stanza."
msgstr ""
#: ejabberd_captcha.erl:94 ejabberd_captcha.erl:150 ejabberd_captcha.erl:176
#, fuzzy
msgid "Enter the text you see"
msgstr "Dinez l' tchimin viè l' fitchî tecse"
#: ejabberd_captcha.erl:97
#: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr ""
#: ejabberd_captcha.erl:235
#: ejabberd_captcha.erl:132
msgid "If you don't see the CAPTCHA image here, visit the web page."
msgstr ""
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr ""
#: ejabberd_captcha.erl:302
msgid "The captcha is valid."
msgstr ""
@ -361,7 +373,7 @@ msgid "Jabber ID"
msgstr "ID Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2922
#: mod_configure.erl:1865 mod_muc/mod_muc_room.erl:2928 mod_register.erl:233
#: web/ejabberd_web_admin.erl:1517
msgid "Password"
msgstr "Sicret"
@ -432,17 +444,17 @@ msgstr "Transpoirt IRC"
msgid "ejabberd IRC module"
msgstr "Module IRC po ejabberd"
#: mod_irc/mod_irc.erl:557
#: mod_irc/mod_irc.erl:558
msgid "You need an x:data capable client to configure mod_irc settings"
msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po candjî ls apontiaedjes "
"di mod_irc"
#: mod_irc/mod_irc.erl:564
#: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for "
msgstr "Edjîstraedje dins mod_irc po "
#: mod_irc/mod_irc.erl:569
#: mod_irc/mod_irc.erl:570
#, fuzzy
msgid ""
"Enter username, encodings, ports and passwords you wish to use for "
@ -451,11 +463,11 @@ msgstr ""
"Dinez les nos d' uzeu et ls ecôdaedjes ki vos vloz eployî po vs raloyî åzès "
"sierveus IRC"
#: mod_irc/mod_irc.erl:574
#: mod_irc/mod_irc.erl:575
msgid "IRC Username"
msgstr "No d' uzeu IRC"
#: mod_irc/mod_irc.erl:584
#: mod_irc/mod_irc.erl:585
#, fuzzy
msgid ""
"If you want to specify different ports, passwords, encodings for IRC "
@ -467,7 +479,7 @@ msgstr ""
"cisse djivêye ci avou des valixhances del cogne «{\"sierveu irc\", \"ecôdaedje"
"\"}». Li prémetou ecôdaedje do siervice c' est «~s»."
#: mod_irc/mod_irc.erl:596
#: mod_irc/mod_irc.erl:597
#, fuzzy
msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
@ -476,36 +488,36 @@ msgstr ""
"Egzimpe: [{\"irc.lucky.net\", \"koi8-r\"}, {\"vendetta.fef.net\", \"iso8859-1"
"\"}]."
#: mod_irc/mod_irc.erl:601
#: mod_irc/mod_irc.erl:602
msgid "Connections parameters"
msgstr ""
#: mod_irc/mod_irc.erl:711
#: mod_irc/mod_irc.erl:727
msgid "Join IRC channel"
msgstr ""
#: mod_irc/mod_irc.erl:715
#: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)"
msgstr ""
#: mod_irc/mod_irc.erl:720
#: mod_irc/mod_irc.erl:736
#, fuzzy
msgid "IRC server"
msgstr "No d' uzeu IRC"
#: mod_irc/mod_irc.erl:753 mod_irc/mod_irc.erl:757
#: mod_irc/mod_irc.erl:769 mod_irc/mod_irc.erl:773
msgid "Join the IRC channel here."
msgstr ""
#: mod_irc/mod_irc.erl:761
#: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr ""
#: mod_irc/mod_irc.erl:846
#: mod_irc/mod_irc.erl:862
msgid "IRC settings"
msgstr ""
#: mod_irc/mod_irc.erl:851
#: mod_irc/mod_irc.erl:867
#, fuzzy
msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. "
@ -515,26 +527,26 @@ msgstr ""
"Dinez les nos d' uzeu et ls ecôdaedjes ki vos vloz eployî po vs raloyî åzès "
"sierveus IRC"
#: mod_irc/mod_irc.erl:857
#: mod_irc/mod_irc.erl:873
#, fuzzy
msgid "IRC username"
msgstr "No d' uzeu IRC"
#: mod_irc/mod_irc.erl:906
#: mod_irc/mod_irc.erl:922
#, fuzzy
msgid "Password ~b"
msgstr "Sicret"
#: mod_irc/mod_irc.erl:911
#: mod_irc/mod_irc.erl:927
#, fuzzy
msgid "Port ~b"
msgstr "Pôrt"
#: mod_irc/mod_irc.erl:916
#: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b"
msgstr ""
#: mod_irc/mod_irc.erl:925
#: mod_irc/mod_irc.erl:941
msgid "Server ~b"
msgstr ""
@ -556,7 +568,8 @@ msgid "Chatrooms"
msgstr "Såles di berdelaedje"
#: mod_muc/mod_muc.erl:711
msgid "You need an x:data capable client to register nickname"
#, fuzzy
msgid "You need a client that supports x:data to register the nickname"
msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po-z edjîstrer on metou no"
@ -574,8 +587,8 @@ msgstr "Dinez l' metou no ki vos vloz edjîstrer"
msgid "Nickname"
msgstr "Metou no"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941
#: mod_muc/mod_muc_room.erl:1585
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1580
#, fuzzy
msgid "That nickname is registered by another person"
msgstr "Li metou no est ddja edjîstré pa ene ôte sakî"
@ -626,7 +639,7 @@ msgid "is now known as"
msgstr "est asteure kinoxhou come"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689
#: mod_muc/mod_muc_room.erl:2112
#: mod_muc/mod_muc_room.erl:2115
msgid " has set the subject to: "
msgstr " a candjî l' tite a: "
@ -735,10 +748,6 @@ msgstr "Apontiaedje del såle"
msgid "Room Occupants"
msgstr "Nombe di prezints"
#: mod_muc/mod_muc_log.erl:863 mod_muc/mod_muc_room.erl:2898
msgid "Room title"
msgstr "Tite del såle"
#: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded"
msgstr "Li limite pol volume di trafik a stî passêye"
@ -774,8 +783,8 @@ msgstr "C' est nén possibe d' evoyî des messaedjes privés del sôre «group
msgid "Recipient is not in the conference room"
msgstr "Li riçuveu n' est nén dins l' såle di conferince"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841
#: mod_muc/mod_muc_room.erl:3536
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seulmint les prezints polèt evoyî des messaedjes al conferince"
@ -793,7 +802,7 @@ msgstr ""
"Les cweraedjes des mimbes del conferince ni sont nén permetous dins cisse "
"såle ci"
#: mod_muc/mod_muc_room.erl:817
#: mod_muc/mod_muc_room.erl:805
#, fuzzy
msgid ""
"Only moderators and participants are allowed to change the subject in this "
@ -802,213 +811,217 @@ msgstr ""
"Seulmint les moderateus et les pårticipants polèt candjî l' sudjet dins "
"cisse såle ci"
#: mod_muc/mod_muc_room.erl:822
#: mod_muc/mod_muc_room.erl:810
#, fuzzy
msgid "Only moderators are allowed to change the subject in this room"
msgstr "Seulmint les moderateus polèt candjî l' sudjet dins cisse såle ci"
#: mod_muc/mod_muc_room.erl:832
#: mod_muc/mod_muc_room.erl:820
msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Les viziteus n' polèt nén evoyî des messaedjes a tos les prezints"
#: mod_muc/mod_muc_room.erl:899
#: mod_muc/mod_muc_room.erl:894
msgid ""
"This participant is kicked from the room because he sent an error presence"
msgstr ""
"Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî ene aroke "
"di prezince"
#: mod_muc/mod_muc_room.erl:917
#: mod_muc/mod_muc_room.erl:912
msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Les viziteus èn polèt nén candjî leus metous no po ç' såle ci"
#: mod_muc/mod_muc_room.erl:930 mod_muc/mod_muc_room.erl:1577
#: mod_muc/mod_muc_room.erl:925 mod_muc/mod_muc_room.erl:1572
#, fuzzy
msgid "That nickname is already in use by another occupant"
msgstr "Li metou no est ddja eployî pa ene ôte sakî sol såle"
#: mod_muc/mod_muc_room.erl:1566
#: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room"
msgstr "Vos avoz stî bani di cisse såle ci"
#: mod_muc/mod_muc_room.erl:1569
#: mod_muc/mod_muc_room.erl:1564
#, fuzzy
msgid "Membership is required to enter this room"
msgstr "I fåt esse mimbe po poleur intrer dins cisse såle ci"
#: mod_muc/mod_muc_room.erl:1605
#: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous"
msgstr "Cisse såle ci n' est nén anonime"
#: mod_muc/mod_muc_room.erl:1631
#: mod_muc/mod_muc_room.erl:1626
#, fuzzy
msgid "A password is required to enter this room"
msgstr "I fåt dner on scret po poleur intrer dins cisse såle ci"
#: mod_muc/mod_muc_room.erl:1653
#: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha"
msgstr ""
#: mod_muc/mod_muc_room.erl:1663
#: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password"
msgstr "Sicret nén corek"
#: mod_muc/mod_muc_room.erl:2167
#: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required"
msgstr "I fåt des priviledjes di manaedjeu"
#: mod_muc/mod_muc_room.erl:2182
#: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required"
msgstr "I fåt des priviledjes di moderateu"
#: mod_muc/mod_muc_room.erl:2337
#: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid"
msgstr "Li Jabber ID ~s n' est nén valide"
#: mod_muc/mod_muc_room.erl:2351
#: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room"
msgstr "Li metou no ~s n' egzistêye nén dins l' såle"
#: mod_muc/mod_muc_room.erl:2377 mod_muc/mod_muc_room.erl:2756
#: mod_muc/mod_muc_room.erl:2380 mod_muc/mod_muc_room.erl:2762
msgid "Invalid affiliation: ~s"
msgstr "Afiyaedje nén valide: ~s"
#: mod_muc/mod_muc_room.erl:2434
#: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s"
msgstr "Role nén valide: ~s"
#: mod_muc/mod_muc_room.erl:2733 mod_muc/mod_muc_room.erl:2769
#: mod_muc/mod_muc_room.erl:2739 mod_muc/mod_muc_room.erl:2775
msgid "Owner privileges required"
msgstr "I fåt des priviledjes di prôpietaire"
#: mod_muc/mod_muc_room.erl:2893
#: mod_muc/mod_muc_room.erl:2899
#, fuzzy
msgid "Configuration of room ~s"
msgstr "Apontiaedje po "
#: mod_muc/mod_muc_room.erl:2901 mod_muc/mod_muc_room.erl:3319
#: mod_muc/mod_muc_room.erl:2904
msgid "Room title"
msgstr "Tite del såle"
#: mod_muc/mod_muc_room.erl:2907 mod_muc/mod_muc_room.erl:3325
#, fuzzy
msgid "Room description"
msgstr "Discrijhaedje:"
#: mod_muc/mod_muc_room.erl:2908
#: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent"
msgstr "Rinde li såle permaninte"
#: mod_muc/mod_muc_room.erl:2913
#: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable"
msgstr "Rinde li såle di berdelaedje cweråve publicmint"
#: mod_muc/mod_muc_room.erl:2916
#: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public"
msgstr "Rinde publike li djivêye des pårticipants"
#: mod_muc/mod_muc_room.erl:2919
#: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret"
#: mod_muc/mod_muc_room.erl:2930
#: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants"
msgstr "Nombe macsimom di prezints"
#: mod_muc/mod_muc_room.erl:2937
#: mod_muc/mod_muc_room.erl:2943
msgid "No limit"
msgstr "Pont d' limite"
#: mod_muc/mod_muc_room.erl:2948
#: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to"
msgstr "Mostrer les vraiys Jabber IDs a"
#: mod_muc/mod_muc_room.erl:2956
#: mod_muc/mod_muc_room.erl:2962
msgid "moderators only"
msgstr "les moderateus seulmint"
#: mod_muc/mod_muc_room.erl:2958
#: mod_muc/mod_muc_room.erl:2964
msgid "anyone"
msgstr "tot l' minme kî"
#: mod_muc/mod_muc_room.erl:2960
#: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only"
msgstr "Rinde li såle di berdelaedje ristrindowe ås mimbes seulmint"
#: mod_muc/mod_muc_room.erl:2963
#: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated"
msgstr "Rinde li såle di berdelaedje moderêye"
#: mod_muc/mod_muc_room.erl:2966
#: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants"
msgstr "Les uzeus sont des pårticipants come prémetowe dujhance"
#: mod_muc/mod_muc_room.erl:2969
#: mod_muc/mod_muc_room.erl:2975
#, fuzzy
msgid "Allow users to change the subject"
msgstr "Les uzeus polèt candjî l' tite"
#: mod_muc/mod_muc_room.erl:2972
#: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages"
msgstr "Les uzeus polèt evoyî des messaedjes privés"
#: mod_muc/mod_muc_room.erl:2975
#: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users"
msgstr "Les uzeus polèt cweri ls ôtes uzeus"
#: mod_muc/mod_muc_room.erl:2978
#: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites"
msgstr "Les uzeus polèt evoyî priyaedjes"
#: mod_muc/mod_muc_room.erl:2981
#: mod_muc/mod_muc_room.erl:2987
msgid "Allow visitors to send status text in presence updates"
msgstr ""
"Permete ki les viziteus evoyexhe des tecse d' estat dins leus messaedjes di "
"prezince"
#: mod_muc/mod_muc_room.erl:2984
#: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname"
msgstr "Permete ki les viziteus candjexhe leus metous nos"
#: mod_muc/mod_muc_room.erl:2990
#: mod_muc/mod_muc_room.erl:2996
#, fuzzy
msgid "Make room captcha protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret"
#: mod_muc/mod_muc_room.erl:2999
#: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging"
msgstr "Mete en alaedje li djournå"
#: mod_muc/mod_muc_room.erl:3007
#: mod_muc/mod_muc_room.erl:3013
msgid "You need an x:data capable client to configure room"
msgstr "I vs fåt on cliyint ki sopoite x:data por vos poleur apontyî l' såle"
#: mod_muc/mod_muc_room.erl:3321
#: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants"
msgstr "Nombe di prezints"
#: mod_muc/mod_muc_room.erl:3373
#: mod_muc/mod_muc_room.erl:3383
msgid "private, "
msgstr "privé, "
#: mod_muc/mod_muc_room.erl:3456
#: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s"
msgstr "~s vos preye sol såle ~s"
#: mod_muc/mod_muc_room.erl:3465
#: mod_muc/mod_muc_room.erl:3475
msgid "the password is"
msgstr "li scret est"
#: mod_offline.erl:510 mod_offline_odbc.erl:353
#: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid ""
"Your contact offline message queue is full. The message has been discarded."
msgstr ""
"Li cawêye di messaedjes e môde disraloyî di vosse soçon est plinne. Li "
"messaedje a stî tapé å diale."
#: mod_offline.erl:560 mod_offline_odbc.erl:409
#: mod_offline.erl:560 mod_offline_odbc.erl:408
msgid "~s's Offline Messages Queue"
msgstr "messaedjes ki ratindèt el cawêye po ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829
#: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:829
#: web/ejabberd_web_admin.erl:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1030,20 +1043,20 @@ msgstr "Di"
msgid "To"
msgstr "Po"
#: mod_offline.erl:574 mod_offline_odbc.erl:420
#: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet"
msgstr "Paket"
#: mod_offline.erl:587 mod_offline_odbc.erl:433 mod_shared_roster.erl:816
#: mod_offline.erl:587 mod_offline_odbc.erl:432 mod_shared_roster.erl:817
#: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected"
msgstr "Disfacer les elemints tchoezis"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:"
msgstr "Messaedjes ki ratindèt:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520
#: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy
msgid "Remove All Offline Messages"
msgstr "Messaedjes ki ratindèt"
@ -1052,114 +1065,138 @@ msgstr "Messaedjes ki ratindèt"
msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Module SOCKS5 Bytestreams po ejabberd"
#: mod_pubsub/mod_pubsub.erl:1077 mod_pubsub/mod_pubsub_odbc.erl:882
#: mod_pubsub/mod_pubsub.erl:1119 mod_pubsub/mod_pubsub_odbc.erl:928
msgid "Publish-Subscribe"
msgstr "Eplaidaedje-abounmint"
#: mod_pubsub/mod_pubsub.erl:1191 mod_pubsub/mod_pubsub_odbc.erl:997
#: mod_pubsub/mod_pubsub.erl:1213 mod_pubsub/mod_pubsub_odbc.erl:1024
msgid "ejabberd Publish-Subscribe module"
msgstr "Module d' eplaidaedje-abounmint po ejabberd"
#: mod_pubsub/mod_pubsub.erl:1474 mod_pubsub/mod_pubsub_odbc.erl:1284
#: mod_pubsub/mod_pubsub.erl:1496 mod_pubsub/mod_pubsub_odbc.erl:1311
msgid "PubSub subscriber request"
msgstr "Dimande d' eplaidaedje-abounmint d' èn abouné"
#: mod_pubsub/mod_pubsub.erl:1476 mod_pubsub/mod_pubsub_odbc.erl:1286
#: mod_pubsub/mod_pubsub.erl:1498 mod_pubsub/mod_pubsub_odbc.erl:1313
msgid "Choose whether to approve this entity's subscription."
msgstr "Tchoezi s' i fåt aprover ou nén l' abounmint di ciste intité."
#: mod_pubsub/mod_pubsub.erl:1482 mod_pubsub/mod_pubsub_odbc.erl:1292
#: mod_pubsub/mod_pubsub.erl:1504 mod_pubsub/mod_pubsub_odbc.erl:1319
msgid "Node ID"
msgstr "ID d' nuk"
#: mod_pubsub/mod_pubsub.erl:1487 mod_pubsub/mod_pubsub_odbc.erl:1297
#: mod_pubsub/mod_pubsub.erl:1509 mod_pubsub/mod_pubsub_odbc.erl:1324
msgid "Subscriber Address"
msgstr "Adresse di l' abouné"
#: mod_pubsub/mod_pubsub.erl:1493 mod_pubsub/mod_pubsub_odbc.erl:1303
#: mod_pubsub/mod_pubsub.erl:1515 mod_pubsub/mod_pubsub_odbc.erl:1330
msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr ""
"Permete ki ci Jabber ID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"
#: mod_pubsub/mod_pubsub.erl:3365 mod_pubsub/mod_pubsub_odbc.erl:3199
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3229
msgid "Deliver payloads with event notifications"
msgstr "Evoyî l' contnou avou les notifiaedjes d' evenmints"
#: mod_pubsub/mod_pubsub.erl:3366 mod_pubsub/mod_pubsub_odbc.erl:3200
#: mod_pubsub/mod_pubsub.erl:3388 mod_pubsub/mod_pubsub_odbc.erl:3230
msgid "Deliver event notifications"
msgstr "Evoyî des notifiaedjes d' evenmints"
#: mod_pubsub/mod_pubsub.erl:3367 mod_pubsub/mod_pubsub_odbc.erl:3201
#: mod_pubsub/mod_pubsub.erl:3389 mod_pubsub/mod_pubsub_odbc.erl:3231
msgid "Notify subscribers when the node configuration changes"
msgstr "Notifyî åzès abounés cwand l' apontiaedje do nuk candje"
#: mod_pubsub/mod_pubsub.erl:3368 mod_pubsub/mod_pubsub_odbc.erl:3202
#: mod_pubsub/mod_pubsub.erl:3390 mod_pubsub/mod_pubsub_odbc.erl:3232
msgid "Notify subscribers when the node is deleted"
msgstr "Notifyî åzès abounés cwand l' nuk est disfacé"
#: mod_pubsub/mod_pubsub.erl:3369 mod_pubsub/mod_pubsub_odbc.erl:3203
#: mod_pubsub/mod_pubsub.erl:3391 mod_pubsub/mod_pubsub_odbc.erl:3233
msgid "Notify subscribers when items are removed from the node"
msgstr "Notifyî åzès abounés cwand des cayets sont oisté foû do nuk"
#: mod_pubsub/mod_pubsub.erl:3370 mod_pubsub/mod_pubsub_odbc.erl:3204
#: mod_pubsub/mod_pubsub.erl:3392 mod_pubsub/mod_pubsub_odbc.erl:3234
msgid "Persist items to storage"
msgstr "Cayets permanints a wårder"
#: mod_pubsub/mod_pubsub.erl:3371 mod_pubsub/mod_pubsub_odbc.erl:3205
#: mod_pubsub/mod_pubsub.erl:3393 mod_pubsub/mod_pubsub_odbc.erl:3235
msgid "A friendly name for the node"
msgstr "On no uzeu-ahessåve pol nuk"
#: mod_pubsub/mod_pubsub.erl:3372 mod_pubsub/mod_pubsub_odbc.erl:3206
#: mod_pubsub/mod_pubsub.erl:3394 mod_pubsub/mod_pubsub_odbc.erl:3236
msgid "Max # of items to persist"
msgstr "Nombe macsimoms di cayets permanints"
#: mod_pubsub/mod_pubsub.erl:3373 mod_pubsub/mod_pubsub_odbc.erl:3207
#: mod_pubsub/mod_pubsub.erl:3395 mod_pubsub/mod_pubsub_odbc.erl:3237
msgid "Whether to allow subscriptions"
msgstr "Si on permete les abounmints"
#: mod_pubsub/mod_pubsub.erl:3374 mod_pubsub/mod_pubsub_odbc.erl:3208
#: mod_pubsub/mod_pubsub.erl:3396 mod_pubsub/mod_pubsub_odbc.erl:3238
msgid "Specify the access model"
msgstr "Sipecifyî l' modele d' accès"
#: mod_pubsub/mod_pubsub.erl:3377 mod_pubsub/mod_pubsub_odbc.erl:3211
#: mod_pubsub/mod_pubsub.erl:3399 mod_pubsub/mod_pubsub_odbc.erl:3241
msgid "Roster groups allowed to subscribe"
msgstr "Pårtaedjîs groupes di soçons k' on s' î pout abouner"
#: mod_pubsub/mod_pubsub.erl:3378 mod_pubsub/mod_pubsub_odbc.erl:3212
#: mod_pubsub/mod_pubsub.erl:3400 mod_pubsub/mod_pubsub_odbc.erl:3242
msgid "Specify the publisher model"
msgstr "Dinez l' modele d' eplaideu"
#: mod_pubsub/mod_pubsub.erl:3380 mod_pubsub/mod_pubsub_odbc.erl:3214
#: mod_pubsub/mod_pubsub.erl:3402 mod_pubsub/mod_pubsub_odbc.erl:3244
msgid "Purge all items when the relevant publisher goes offline"
msgstr ""
#: mod_pubsub/mod_pubsub.erl:3381 mod_pubsub/mod_pubsub_odbc.erl:3215
#: mod_pubsub/mod_pubsub.erl:3403 mod_pubsub/mod_pubsub_odbc.erl:3245
#, fuzzy
msgid "Specify the event message type"
msgstr "Sipecifyî l' modele d' accès"
#: mod_pubsub/mod_pubsub.erl:3383 mod_pubsub/mod_pubsub_odbc.erl:3217
#: mod_pubsub/mod_pubsub.erl:3405 mod_pubsub/mod_pubsub_odbc.erl:3247
msgid "Max payload size in bytes"
msgstr "Contnou macsimom en octets"
#: mod_pubsub/mod_pubsub.erl:3384 mod_pubsub/mod_pubsub_odbc.erl:3218
#: mod_pubsub/mod_pubsub.erl:3406 mod_pubsub/mod_pubsub_odbc.erl:3248
msgid "When to send the last published item"
msgstr "Cwand evoyî l' dierin cayet eplaidî"
#: mod_pubsub/mod_pubsub.erl:3386 mod_pubsub/mod_pubsub_odbc.erl:3220
#: mod_pubsub/mod_pubsub.erl:3408 mod_pubsub/mod_pubsub_odbc.erl:3250
msgid "Only deliver notifications to available users"
msgstr "Seulmint evoyî des notifiaedje åzès uzeus disponibes"
#: mod_pubsub/mod_pubsub.erl:3387 mod_pubsub/mod_pubsub_odbc.erl:3221
#: mod_pubsub/mod_pubsub.erl:3409 mod_pubsub/mod_pubsub_odbc.erl:3251
msgid "The collections with which a node is affiliated"
msgstr ""
#: mod_register.erl:198
#: mod_register.erl:191
msgid "The CAPTCHA verification has failed"
msgstr ""
#: mod_register.erl:218
#, fuzzy
msgid "You need a client that supports x:data and CAPTCHA to register"
msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po-z edjîstrer on metou no"
#: mod_register.erl:224 mod_register.erl:258
msgid "Choose a username and password to register with this server"
msgstr ""
"Tchoezixhoz on no d' uzeu eyet on scret po vs edjîstrer so ç' sierveu ci"
#: mod_register.erl:251
#: mod_register.erl:228 mod_vcard.erl:358 mod_vcard_odbc.erl:336
#: web/ejabberd_web_admin.erl:1512 web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uzeu"
#: mod_register.erl:244
msgid "Unable to generate a CAPTCHA"
msgstr ""
#: mod_register.erl:309 mod_register.erl:354
#, fuzzy
msgid "The password is too weak"
msgstr "li scret est"
#: mod_register.erl:358
#, fuzzy
msgid "Users are not allowed to register accounts so quickly"
msgstr "Les noveas uzeus n' si polèt nén edjîstrer si raddimint"
@ -1194,13 +1231,13 @@ msgstr "Oister"
msgid "Roster of "
msgstr "Djivêye des soçons da "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:912 web/ejabberd_web_admin.erl:830
#: web/ejabberd_web_admin.erl:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016
#: web/ejabberd_web_admin.erl:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131
#: web/ejabberd_web_admin.erl:2156 web/ejabberd_web_admin.erl:2244
#: web/ejabberd_web_admin.erl:2156
msgid "Bad format"
msgstr "Mwais fôrmat"
@ -1212,37 +1249,37 @@ msgstr "Radjouter èn ID Jabber"
msgid "Roster"
msgstr "Djivêye des soçons"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807
#: mod_shared_roster.erl:907
#: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:908
msgid "Shared Roster Groups"
msgstr "Pårtaedjîs groupes ezès djivêyes di soçons"
#: mod_shared_roster.erl:803 web/ejabberd_web_admin.erl:1362
#: mod_shared_roster.erl:804 web/ejabberd_web_admin.erl:1362
#: web/ejabberd_web_admin.erl:2456
msgid "Add New"
msgstr "Radjouter"
#: mod_shared_roster.erl:878
#: mod_shared_roster.erl:879
msgid "Name:"
msgstr "Pitit no:"
#: mod_shared_roster.erl:883
#: mod_shared_roster.erl:884
msgid "Description:"
msgstr "Discrijhaedje:"
#: mod_shared_roster.erl:891
#: mod_shared_roster.erl:892
msgid "Members:"
msgstr "Mimbes:"
#: mod_shared_roster.erl:899
#: mod_shared_roster.erl:900
msgid "Displayed Groups:"
msgstr "Groupes håynés:"
#: mod_shared_roster.erl:908
#: mod_shared_roster.erl:909
msgid "Group "
msgstr "Groupe "
#: mod_shared_roster.erl:917 web/ejabberd_web_admin.erl:836
#: mod_shared_roster.erl:918 web/ejabberd_web_admin.erl:836
#: web/ejabberd_web_admin.erl:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit"
@ -1314,11 +1351,6 @@ msgstr "Unité d' l' organizåcion"
msgid "Search users in "
msgstr "Cweri des uzeus dins "
#: mod_vcard.erl:358 mod_vcard_odbc.erl:336 web/ejabberd_web_admin.erl:1512
#: web/ejabberd_web_admin.erl:1569
msgid "User"
msgstr "Uzeu"
#: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search"
msgstr "Vos avoz mezåjhe d' on cliyint ki sopoite x:data po fé on cweraedje"
@ -1442,7 +1474,9 @@ msgstr "Raloyaedjes s2s e rexhowe:"
msgid "Outgoing s2s Servers:"
msgstr "Sierveus s2s e rexhowe:"
#: web/ejabberd_web_admin.erl:1728
#: web/ejabberd_web_admin.erl:1728 web/mod_register_web.erl:174
#: web/mod_register_web.erl:367 web/mod_register_web.erl:376
#: web/mod_register_web.erl:406
msgid "Change Password"
msgstr "Candjî l' sicret"
@ -1454,7 +1488,8 @@ msgstr "Uzeu "
msgid "Connected Resources:"
msgstr "Raloyî avou les rsoûces:"
#: web/ejabberd_web_admin.erl:1760
#: web/ejabberd_web_admin.erl:1760 web/mod_register_web.erl:226
#: web/mod_register_web.erl:514
msgid "Password:"
msgstr "Sicret:"
@ -1670,6 +1705,122 @@ msgstr "Disfacer"
msgid "Start"
msgstr "Enonder"
#: web/mod_register_web.erl:103
msgid "Your Jabber account was successfully created."
msgstr ""
#: web/mod_register_web.erl:106
msgid "There was an error creating the account: "
msgstr ""
#: web/mod_register_web.erl:114
msgid "Your Jabber account was successfully deleted."
msgstr ""
#: web/mod_register_web.erl:117
msgid "There was an error deleting the account: "
msgstr ""
#: web/mod_register_web.erl:127
msgid "The password of your Jabber account was successfully changed."
msgstr ""
#: web/mod_register_web.erl:130
msgid "There was an error changing the password: "
msgstr ""
#: web/mod_register_web.erl:162 web/mod_register_web.erl:171
msgid "Jabber Account Registration"
msgstr ""
#: web/mod_register_web.erl:173 web/mod_register_web.erl:191
#: web/mod_register_web.erl:200
msgid "Register a Jabber account"
msgstr ""
#: web/mod_register_web.erl:175 web/mod_register_web.erl:488
#: web/mod_register_web.erl:497
msgid "Unregister a Jabber account"
msgstr ""
#: web/mod_register_web.erl:202
msgid ""
"This page allows to create a Jabber account in this Jabber server. Your JID "
"(Jabber IDentifier) will be of the form: username@server. Please read "
"carefully the instructions to fill correctly the fields."
msgstr ""
#: web/mod_register_web.erl:211 web/mod_register_web.erl:381
#: web/mod_register_web.erl:504
#, fuzzy
msgid "Username:"
msgstr "No d' uzeu IRC"
#: web/mod_register_web.erl:216
msgid "This is case insensitive: macbeth is the same that MacBeth and Macbeth."
msgstr ""
#: web/mod_register_web.erl:217
msgid "Characters not allowed:"
msgstr ""
#: web/mod_register_web.erl:221 web/mod_register_web.erl:386
#: web/mod_register_web.erl:509
#, fuzzy
msgid "Server:"
msgstr "Måy"
#: web/mod_register_web.erl:231
msgid ""
"Don't tell your password to anybody, not even the administrators of the "
"Jabber server."
msgstr ""
#: web/mod_register_web.erl:233
msgid "You can later change your password using a Jabber client."
msgstr ""
#: web/mod_register_web.erl:234
msgid ""
"Some Jabber clients can store your password in your computer. Use that "
"feature only if you trust your computer is safe."
msgstr ""
#: web/mod_register_web.erl:236
msgid ""
"Memorize your password, or write it in a paper placed in a safe place. In "
"Jabber there isn't an automated way to recover your password if you forget "
"it."
msgstr ""
#: web/mod_register_web.erl:241 web/mod_register_web.erl:401
#, fuzzy
msgid "Password Verification:"
msgstr "Acertinaedje do scret"
#: web/mod_register_web.erl:249
#, fuzzy
msgid "Register"
msgstr "Djivêye des soçons"
#: web/mod_register_web.erl:391
#, fuzzy
msgid "Old Password:"
msgstr "Sicret:"
#: web/mod_register_web.erl:396
#, fuzzy
msgid "New Password:"
msgstr "Sicret:"
#: web/mod_register_web.erl:499
msgid "This page allows to unregister a Jabber account in this Jabber server."
msgstr ""
#: web/mod_register_web.erl:519
msgid "Unregister"
msgstr ""
#~ msgid "Encodings"
#~ msgstr "Ecôdaedjes"

View File

@ -33,8 +33,10 @@
{"Backup","备份"}.
{"Bad format","格式错误"}.
{"Birthday","出生日期"}.
{"CAPTCHA web page","验证码 Web 页面"}.
{"Change Password","更改密码"}.
{"Change User Password","更改用户密码"}.
{"Characters not allowed:","禁用字符:"}.
{"Chatroom configuration modified","聊天室配置已修改"}.
{"Chatroom is created","聊天室已被创建"}.
{"Chatroom is destroyed","聊天室已被销毁"}.
@ -69,6 +71,7 @@
{"Description:","描述:"}.
{"Disc only copy","仅磁盘复制"}.
{"Displayed Groups:","已显示的组:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","不要将密码告诉任何人, 就算是 Jabber 服务器的管理员也不可以."}.
{"Dump Backup to Text File at ","转储备份到文本文件于"}.
{"Dump to Text File","转储到文本文件"}.
{"Edit Properties","编辑属性"}.
@ -120,6 +123,7 @@
{"has been kicked","已被踢出"}.
{" has set the subject to: ","已将标题设置为: "}.
{"Host","主机"}.
{"If you don't see the CAPTCHA image here, visit the web page.","如果您在这里没有看到验证码图片, 请访问 Web 页面."}.
{"If you want to specify different ports, passwords, encodings for IRC servers, fill this list with values in format '{\"irc server\", \"encoding\", port, \"password\"}'. By default this service use \"~s\" encoding, port ~p, empty password.","如果您想为 IRC 服务器指定不同的端口, 密码, 编码, 请用 '{\"irc 服务器\", \"编码\", 端口, \"密码\"}' 格式的值填充此表单. 默认情况下此服务使用\"~s\"编码, ~p 端口, 密码为空."}.
{"Import Directory","导入目录"}.
{"Import File","导入文件"}.
@ -144,7 +148,8 @@
{"is now known as","现在称呼为"}.
{"It is not allowed to send private messages of type \"groupchat\"","\"群组聊天\"类型不允许发送私聊消息"}.
{"It is not allowed to send private messages to the conference","不允许向会议发送私聊消息"}.
{"It is not allowed to send private messages","不允许发送私聊消息"}.
{"It is not allowed to send private messages","不可以发送私聊消息"}.
{"Jabber Account Registration","Jabber 帐户注册"}.
{"Jabber ID","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s无效"}.
{"January","一月"}.
@ -166,17 +171,18 @@
{"Make participants list public","公开参与人列表"}.
{"Make room captcha protected","保护房间验证码"}.
{"Make room members-only","设置房间只接收会员"}.
{"Make room moderated","只有有\"发言权\"的用户才可以发送消息给所有驻留者"}.
{"Make room moderated","设置房间只接收主持人"}.
{"Make room password protected","进入此房间需要密码"}.
{"Make room persistent","永久保存该房间"}.
{"Make room public searchable","使房间可被公开搜索"}.
{"March","三月"}.
{"Maximum Number of Occupants","允许的驻留者最大数"}.
{"Maximum Number of Occupants","允许的与会人最大数"}.
{"Max # of items to persist","允许持久化的最大内容条目数"}.
{"Max payload size in bytes","最大有效负载比特数"}.
{"May","五月"}.
{"Membership is required to enter this room","进入此房间需要会员身份"}.
{"Members:","会员:"}.
{"Memorize your password, or write it in a paper placed in a safe place. In Jabber there isn't an automated way to recover your password if you forget it.","记住你的密码, 或将其记到纸上并放于安全位置. 如果你忘记了密码, Jabber 也没有自动恢复密码的方式."}.
{"Memory","内存"}.
{"Message body","消息主体"}.
{"Middle Name","中间名"}.
@ -190,6 +196,7 @@
{"Name:","姓名:"}.
{"Name","姓名"}.
{"Never","从未"}.
{"New Password:","新密码: "}.
{"Nickname Registration at ","昵称注册于 "}.
{"Nickname ~s does not exist in the room","昵称~s不在该房间"}.
{"Nickname","昵称"}.
@ -214,14 +221,15 @@
{"Offline Messages:","离线消息:"}.
{"Offline Messages","离线消息"}.
{"OK","确定"}.
{"Old Password:","旧密码: "}.
{"Online Users:","在线用户:"}.
{"Online Users","在线用户"}.
{"Online","在线"}.
{"Only deliver notifications to available users","仅将通知发送给可发送的用户"}.
{"Only moderators and participants are allowed to change the subject in this room","只允许监管人和参与人在此房间里更改主题"}.
{"Only moderators are allowed to change the subject in this room","只允许监管人更改此房间的主题"}.
{"Only occupants are allowed to send messages to the conference","只允许驻留者向会议发送消息"}.
{"Only occupants are allowed to send queries to the conference","只允许驻留者发出查询请求"}.
{"Only moderators and participants are allowed to change the subject in this room","只有主持人和参与人可以在此房间里更改主题"}.
{"Only moderators are allowed to change the subject in this room","只有主持人可以在此房间里更改主题"}.
{"Only occupants are allowed to send messages to the conference","只有与会人可以向大会发送消息"}.
{"Only occupants are allowed to send queries to the conference","只有与会人可以向大会发出查询请求"}.
{"Only service administrators are allowed to send service messages","只有服务管理员可以发送服务消息"}.
{"Options","选项"}.
{"Organization Name","组织名称"}.
@ -232,6 +240,7 @@
{"Owner privileges required","需要持有人权限"}.
{"Packet","数据包"}.
{"Password ~b","~b 的密码"}.
{"Password Verification:","密码确认:"}.
{"Password Verification","确认密码"}.
{"Password:","密码: "}.
{"Password","密码"}.
@ -251,14 +260,16 @@
{"Publish-Subscribe","发行-订阅"}.
{"PubSub subscriber request","PubSub 订阅人请求"}.
{"Purge all items when the relevant publisher goes offline","相关发布人离线后清除所有选项"}.
{"Queries to the conference members are not allowed in this room","本房间不允许发出成员查询请求"}.
{"Queries to the conference members are not allowed in this room","本房间不可以查询会议成员信息"}.
{"RAM and disc copy","内存与磁盘复制"}.
{"RAM copy","内存(RAM)复制"}.
{"Raw","原始格式"}.
{"Really delete message of the day?","确实要删除每日消息吗?"}.
{"Recipient is not in the conference room","接收人不在会议室"}.
{"Register a Jabber account","注册 Jabber 帐户"}.
{"Registered Users:","注册用户:"}.
{"Registered Users","注册用户"}.
{"Register","注册"}.
{"Registration in mod_irc for ","mod_irc 中的注册是为 "}.
{"Remote copy","远程复制"}.
{"Remove All Offline Messages","移除所有离线消息"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","发送通知给所有用户"}.
{"September","九月"}.
{"Server ~b","服务器 ~b"}.
{"Server:","服务器:"}.
{"Set message of the day and send to online users","设定每日消息并发送给所有在线用户"}.
{"Set message of the day on all hosts and send to online users","设置所有主机上的每日消息并发送给在线用户"}.
{"Shared Roster Groups","共享的花名册组群"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","显示普通列表"}.
{"Shut Down Service","关闭服务"}.
{"~s invites you to the room ~s","~s邀请你到~s房间"}.
{"Some Jabber clients can store your password in your computer. Use that feature only if you trust your computer is safe.","某些 Jabber 客户端可以在你的计算机里存储密码. 请仅在你确认你的计算机安全的情况下使用该功能."}.
{"Specify the access model","指定访问模式"}.
{"Specify the event message type","指定事件消息类型"}.
{"Specify the publisher model","指定发布人样式"}.
@ -327,10 +340,19 @@
{"That nickname is already in use by another occupant","该昵称已被另一用户使用"}.
{"That nickname is registered by another person","该昵称已被另一个人注册了"}.
{"The captcha is valid.","验证码有效."}.
{"The CAPTCHA verification has failed","验证码检查失败"}.
{"The collections with which a node is affiliated","加入结点的集合"}.
{"The password is too weak","密码强度太弱"}.
{"the password is","密码是"}.
{"This participant is kicked from the room because he sent an error message to another participant","该用户由于给其他人发送了出错消息而被踢出了聊天室"}.
{"This participant is kicked from the room because he sent an error message","该用户由于发送了错误消息而被踢出了聊天室"}.
{"The password of your Jabber account was successfully changed.","你的 Jabber 帐户密码已成功更新."}.
{"There was an error changing the password: ","修改密码出错: "}.
{"There was an error creating the account: ","帐户创建出错: "}.
{"There was an error deleting the account: ","帐户删除失败: "}.
{"This is case insensitive: macbeth is the same that MacBeth and Macbeth.","此处不区分大小写: macbeth 与 MacBeth 和 Macbeth 是一样的."}.
{"This page allows to create a Jabber account in this Jabber server. Your JID (Jabber IDentifier) will be of the form: username@server. Please read carefully the instructions to fill correctly the fields.","本页面允许在此服务器上创建 Jabber 帐户. 你的 JID (Jabber ID) 的形式如下: 用户名@服务器. 请仔细阅读说明并正确填写相应字段."}.
{"This page allows to unregister a Jabber account in this Jabber server.","此页面允许在此 Jabber 服务器上注销 Jabber 帐户"}.
{"This participant is kicked from the room because he sent an error message to another participant","该参与人由于给其他人发送了出错消息而被踢出了聊天室"}.
{"This participant is kicked from the room because he sent an error message","该参与人由于发送了错误消息而被踢出了聊天室"}.
{"This participant is kicked from the room because he sent an error presence","该用户由于发送了错误状态而被踢出了聊天室"}.
{"This room is not anonymous","此房间不是匿名房间"}.
{"Thursday","星期四"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","重启的事务:"}.
{"Tuesday","星期二"}.
{"Unable to generate a captcha","无法产生验证码"}.
{"Unable to generate a CAPTCHA","无法生成验证码"}.
{"Unauthorized","未认证的"}.
{"Unregister a Jabber account","注销 Jabber 帐户"}.
{"Unregister","取消注册"}.
{"Update message of the day (don't send)","更新每日消息(不发送)"}.
{"Update message of the day on all hosts (don't send)","更新所有主机上的每日消息(不发送)"}.
{"Update plan","更新计划"}.
@ -355,6 +380,7 @@
{"Uptime:","正常运行时间:"}.
{"Use of STARTTLS required","要求使用 STARTTLS"}.
{"User Management","用户管理"}.
{"Username:","用户名:"}.
{"Users are not allowed to register accounts so quickly","不允许用户太频繁地注册帐户"}.
{"Users Last Activity","用户上次活动"}.
{"Users","用户"}.
@ -367,11 +393,16 @@
{"Wednesday","星期三"}.
{"When to send the last published item","何时发送最新发布的内容条目"}.
{"Whether to allow subscriptions","是否允许订阅"}.
{"You can later change your password using a Jabber client.","你可以稍后用 Jabber 客户端修改你的密码."}.
{"You have been banned from this room","您已被禁止进入该房间"}.
{"You must fill in field \"Nickname\" in the form","您必须填充表单中\"昵称\"项"}.
{"You need a client that supports x:data and CAPTCHA to register","您需要一个支持 x:data 和验证码的客户端进行注册"}.
{"You need a client that supports x:data to register the nickname","您需要一个支持 x:data 的客户端来注册昵称"}.
{"You need an x:data capable client to configure mod_irc settings","您需要一个兼容 x:data 的客户端来配置 mod_irc 设置"}.
{"You need an x:data capable client to configure room","您需要一个兼容 x:data 的客户端来配置房间"}.
{"You need an x:data capable client to register nickname","您需要一个兼容 x:data 的客户端来注册昵称"}.
{"You need an x:data capable client to search","您需要一个兼容 x:data 的客户端来搜索"}.
{"Your active privacy list has denied the routing of this stanza.","你的活跃私聊列表拒绝了在此房间进行路由分发."}.
{"Your contact offline message queue is full. The message has been discarded.","您的联系人离线消息队列已满. 消息已被丢弃"}.
{"Your Jabber account was successfully created.","你的 Jabber 帐户已成功创建."}.
{"Your Jabber account was successfully deleted.","你的 Jabber 帐户已成功删除."}.
{"Your messages to ~s are being blocked. To unblock them, visit ~s","您发送给 ~s 的消息已被阻止. 要解除阻止, 请访问 ~s"}.

Some files were not shown because too many files have changed in this diff Show More