24
1
mirror of https://github.com/processone/ejabberd.git synced 2024-07-14 23:44:18 +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 # You can add personal rules in your file .git/info/exclude
build/ *.swp
*.dSYM/ *~
.gitignore /contrib/extract_translations/extract_translations.beam
*.so /doc/*.aux
contrib/extract_translations/extract_translations.beam /doc/*.haux
doc/contributed_modules.tex /doc/*.html
doc/features.aux /doc/*.htoc
doc/features.log /doc/*.idx
doc/features.out /doc/*.ilg
doc/features.pdf /doc/*.ind
doc/guide.aux /doc/*.log
doc/guide.idx /doc/*.out
doc/guide.ilg /doc/*.pdf
doc/guide.ind /doc/*.toc
doc/guide.log /doc/contributed_modules.tex
doc/guide.out /doc/version.tex
doc/guide.pdf /src/*.beam
doc/guide.toc /src/*.so
doc/version.aux /src/*/*.beam
src/*.beam /src/*/Makefile
src/*.so /src/Makefile
src/eldap/eldap_filter_yecc.erl /src/XmppAddr.asn1db
src/XmppAddr.asn1db /src/XmppAddr.erl
src/XmppAddr.erl /src/XmppAddr.hrl
src/XmppAddr.hrl /src/aclocal.m4
src/config.log /src/autom4te.cache
src/config.status /src/config.log
src/eldap/ELDAPv3.asn1db /src/config.status
src/eldap/ELDAPv3.beam /src/ejabberd.init
src/eldap/ELDAPv3.erl /src/ejabberdctl.example
src/eldap/ELDAPv3.hrl /src/eldap/ELDAPv3.asn1db
src/epam /src/eldap/ELDAPv3.erl
src/ejabberdctl.example /src/eldap/ELDAPv3.hrl
src/ejabberd.init /src/eldap/eldap_filter_yecc.erl
/src/epam

3
README
View File

@ -9,7 +9,8 @@ To compile ejabberd you need:
- GNU Make - GNU Make
- GCC - GCC
- Libexpat 1.95 or higher - 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. - OpenSSL 0.9.8 or higher, for STARTTLS, SASL and SSL encryption.
- Zlib 1.2.3 or higher, for Stream Compression support - Zlib 1.2.3 or higher, for Stream Compression support
(XEP-0138). Optional. (XEP-0138). Optional.

View File

@ -2,7 +2,7 @@
"http://www.w3.org/TR/REC-html40/loose.dtd"> "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Ejabberd 2.1.x Developers Guide <TITLE>Ejabberd 2.1.6 Developers Guide
</TITLE> </TITLE>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <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 --> <!--HEVEA command line is: /usr/bin/hevea -fix -pedantic dev.tex -->
<!--CUT DEF section 1 --><P><A NAME="titlepage"></A> <!--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="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> <A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A></H3></TD></TR>
</TABLE><DIV CLASS="center"> </TABLE><DIV CLASS="center">

View File

@ -2,7 +2,7 @@
"http://www.w3.org/TR/REC-html40/loose.dtd"> "http://www.w3.org/TR/REC-html40/loose.dtd">
<HTML> <HTML>
<HEAD> <HEAD>
<TITLE>Ejabberd 2.1.x Feature Sheet <TITLE>Ejabberd 2.1.6 Feature Sheet
</TITLE> </TITLE>
<META http-equiv="Content-Type" content="text/html; charset=US-ASCII"> <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 --> <!--HEVEA command line is: /usr/bin/hevea -fix -pedantic features.tex -->
<!--CUT DEF section 1 --><P><A NAME="titlepage"></A> <!--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="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> <A HREF="xmpp:sander@devrieze.dyndns.org"><TT>xmpp:sander@devrieze.dyndns.org</TT></A></H3></TD></TR>
</TABLE><DIV CLASS="center"> </TABLE><DIV CLASS="center">

View File

@ -6,7 +6,7 @@
ejabberd 2.1.x ejabberd 2.1.6
Installation and Operation Guide Installation and Operation Guide
@ -76,7 +76,7 @@ BLOCKQUOTE.figure DIV.center DIV.center HR{display:none;}
<HR SIZE=2><BR> <HR SIZE=2><BR>
<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>&nbsp;</TD></TR>
<TR><TD ALIGN=right NOWRAP> <FONT SIZE=6>Installation and Operation Guide</FONT></TD></TR> <TR><TD ALIGN=right NOWRAP> <FONT SIZE=6>Installation and Operation Guide</FONT></TD></TR>
</TABLE><BR> </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="#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="#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="#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="#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_service_log</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_shared_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_sic</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_stats</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_time</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_vcard</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_vcard_ldap</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_xupdate</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_version</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></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"> <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"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc69">4.1.1&#XA0;&#XA0;ejabberdctl Commands</A> <A HREF="#htoc71">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> </LI><LI CLASS="li-toc"><A HREF="#htoc72">4.1.2&#XA0;&#XA0;Erlang Runtime System</A>
</LI></UL> </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"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc72">4.2.1&#XA0;&#XA0;List of ejabberd Commands</A> <A HREF="#htoc74">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> </LI><LI CLASS="li-toc"><A HREF="#htoc75">4.2.2&#XA0;&#XA0;Restrict Execution with AccessCommands</A>
</LI></UL> </LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc74">4.3&#XA0;&#XA0;Web Admin</A> </LI><LI CLASS="li-toc"><A HREF="#htoc76">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="#htoc77">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="#htoc78">4.5&#XA0;&#XA0;Change Computer Hostname</A>
</LI></UL> </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"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc78">5.1&#XA0;&#XA0;Firewall Settings</A> <A HREF="#htoc80">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="#htoc81">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="#htoc82">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="#htoc83">5.4&#XA0;&#XA0;Erlang Node Name</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc82">5.5&#XA0;&#XA0;Securing Sensitive Files</A> </LI><LI CLASS="li-toc"><A HREF="#htoc84">5.5&#XA0;&#XA0;Securing Sensitive Files</A>
</LI></UL> </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"> <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"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc85">6.1.1&#XA0;&#XA0;Router</A> <A HREF="#htoc87">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="#htoc88">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="#htoc89">6.1.3&#XA0;&#XA0;Session Manager</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc88">6.1.4&#XA0;&#XA0;s2s Manager</A> </LI><LI CLASS="li-toc"><A HREF="#htoc90">6.1.4&#XA0;&#XA0;s2s Manager</A>
</LI></UL> </LI></UL>
</LI><LI CLASS="li-toc"><A HREF="#htoc89">6.2&#XA0;&#XA0;Clustering Setup</A> </LI><LI CLASS="li-toc"><A HREF="#htoc91">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="#htoc92">6.3&#XA0;&#XA0;Service Load-Balancing</A>
<UL CLASS="toc"><LI CLASS="li-toc"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc91">6.3.1&#XA0;&#XA0;Components Load-Balancing</A> <A HREF="#htoc93">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="#htoc94">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> </LI><LI CLASS="li-toc"><A HREF="#htoc95">6.3.3&#XA0;&#XA0;Load-Balancing Buckets</A>
</LI></UL> </LI></UL>
</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"> <UL CLASS="toc"><LI CLASS="li-toc">
<A HREF="#htoc95">7.1&#XA0;&#XA0;Log Files</A> <A HREF="#htoc97">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="#htoc98">7.2&#XA0;&#XA0;Debug Console</A>
</LI><LI CLASS="li-toc"><A HREF="#htoc97">7.3&#XA0;&#XA0;Watchdog Alerts</A> </LI><LI CLASS="li-toc"><A HREF="#htoc99">7.3&#XA0;&#XA0;Watchdog Alerts</A>
</LI></UL> </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="#htoc100">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="#htoc101">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="#htoc102">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="#htoc103">Appendix&#XA0;D&#XA0;&#XA0;Copyright Information</A>
</LI></UL><!--TOC chapter Introduction--> </LI></UL><!--TOC chapter Introduction-->
<H1 CLASS="chapter"><!--SEC ANCHOR --><A NAME="htoc1">Chapter&#XA0;1</A>&#XA0;&#XA0;Introduction</H1><!--SEC END --><P> <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--> <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">GCC
</LI><LI CLASS="li-itemize">Libexpat 1.95 or higher </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. </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">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">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>. </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"> </DD><DT CLASS="dt-description"><B><TT>ejabberd_http</TT></B></DT><DD CLASS="dd-description">
Handles incoming HTTP connections.<BR> Handles incoming HTTP connections.<BR>
Options: <TT>captcha</TT>, <TT>certfile</TT>, <TT>http_bind</TT>, <TT>http_poll</TT>, 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--> </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: <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"> </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>. 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. 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. 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 </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 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 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. 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>): </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"> </P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{s2s_use_starttls, true|false}</TT></B></DT><DD CLASS="dd-description"> <B><TT>{s2s_use_starttls, false|optional|required|required_trusted}</TT></B></DT><DD CLASS="dd-description">
This option defines whether to This option defines if
use STARTTLS for s2s connections. 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 </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. file containing a SSL certificate.
</DD><DT CLASS="dt-description"><B><TT>{domain_certfile, Domain, Path}</TT></B></DT><DD CLASS="dd-description"> </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. 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. 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, By default it first tries connecting with IPv4, if that fails it tries using IPv6,
with a timeout of 10000 milliseconds. 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"}. {s2s_certfile, "/etc/ejabberd/server.pem"}.
{domain_certfile, "example.com", "/etc/ejabberd/example_com.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: </PRE><P>In this example, the following configuration defines that:
</P><UL CLASS="itemize"><LI CLASS="li-itemize"> </P><UL CLASS="itemize"><LI CLASS="li-itemize">
c2s connections are listened for on port 5222 (all IPv4 addresses) and 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 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;. 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) </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, Incoming and outgoing connections of remote XMPP servers are denied,
only two servers can connect: "jabber.example.org" and "example.com". 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 </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}]} {service_check_from, false}]}
] ]
}. }.
{s2s_use_starttls, true}. {s2s_use_starttls, required_trusted}.
{s2s_certfile, "/path/to/ssl.pem"}. {s2s_certfile, "/path/to/ssl.pem"}.
{s2s_default_policy, deny}. {s2s_default_policy, deny}.
{{s2s_host,"jabber.example.org"}, allow}. {{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--> 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> <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 </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 server and use LDAP directory as vCard storage.</P><P>Usually <TT>ejabberd</TT> treats LDAP as a read-only storage:
yet.</P><P>Usually <TT>ejabberd</TT> treats LDAP as a read-only storage:
it is possible to consult data, but not possible to it is possible to consult data, but not possible to
create accounts or edit vCard that is stored in LDAP. 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 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</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="#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="#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</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="#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="#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><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>&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="#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="#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> <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 </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>). 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. </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: </DD></DL><P>Examples:
</P><UL CLASS="itemize"><LI CLASS="li-itemize"> </P><UL CLASS="itemize"><LI CLASS="li-itemize">
In the first example, the IRC transport is available on (all) your 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 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 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. 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 </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 is sent to each newly registered account. The first string is the subject, and
the second string is the message body. 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>. instead of an integer put a word like: <TT>infinity</TT>.
Default value: 600 seconds.</P><P>Examples: Default value: 600 seconds.</P><P>Examples:
</P><UL CLASS="itemize"><LI CLASS="li-itemize"> </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, "?"}}. <PRE CLASS="verbatim">{acl, shortname, {user_glob, "?"}}.
{acl, shortname, {user_glob, "??"}}. {acl, shortname, {user_glob, "??"}}.
%% The same using regexp: %% The same using regexp:
@ -3001,7 +3027,10 @@ Next example prohibits the registration of too short account names:
{modules, {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 </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>--> </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="#modroster"><TT>mod_roster</TT></A></H3><!--SEC END --><P> <A NAME="modroster"></A> <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 </P><P>This module implements roster management as defined in
<A HREF="http://xmpp.org/rfcs/rfc3921.html#roster">RFC 3921: XMPP IM</A>. <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: 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 does not affect the client in any way.
This option is only useful if Roster Versioning is enabled. This option is only useful if Roster Versioning is enabled.
This option is disabled by default. 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: </DD></DL><P>This example configuration enables Roster Versioning with storage of current id:
</P><PRE CLASS="verbatim">{modules, </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>--> </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 </P><P>This module adds support for logging end user packets via a XMPP message
auditing service such as auditing service such as
<A HREF="http://www.funkypenguin.info/project/bandersnatch/">Bandersnatch</A>. All user <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>--> </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 </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 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 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></TD></TR>
</TABLE> </TABLE>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE> <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>--> </LI></UL><P> <A NAME="modsharedrosterldap"></A> </P><!--TOC subsection <TT>mod_shared_roster_ldap</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> <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 </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: enables a client to discover its external IP address.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description"> </P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{iqdisc, Discipline}</TT></B></DT><DD CLASS="dd-description"> This specifies <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>). 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>--> </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 </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: allows you to retrieve next statistics from your <TT>ejabberd</TT> deployment:
</P><UL CLASS="itemize"><LI CLASS="li-itemize"> </P><UL CLASS="itemize"><LI CLASS="li-itemize">
@ -3207,14 +3485,14 @@ by sending:
&lt;/query&gt; &lt;/query&gt;
&lt;/iq&gt; &lt;/iq&gt;
</PRE></LI></UL><P> <A NAME="modtime"></A> </P><!--TOC subsection <TT>mod_time</TT>--> </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, </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: you are able to discover the time at another entity&#X2019;s location.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description"> </P><DL CLASS="description"><DT CLASS="dt-description">
<B><TT>{iqdisc, Discipline}</TT></B></DT><DD CLASS="dd-description"> This specifies <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>). 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>--> </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 </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 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 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>--> </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 </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 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: 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"} {"Nickname", "NICKNAME"}
]}, ]},
</PRE></LI></UL><P> <A NAME="modvcardxupdate"></A> </P><!--TOC subsection <TT>mod_vcard_xupdate</TT>--> </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. </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>) 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. 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. presence stanza rewrite.
For this reason, enabling this module will introduce a computational overhead 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>--> 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 </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: answers <TT>ejabberd</TT>&#X2019;s version when queried.</P><P>Options:
</P><DL CLASS="description"><DT CLASS="dt-description"> </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 </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>). 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--> </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>--> <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="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 <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>) 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>). 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 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 This can be used by other scripts to determine automatically
if a command succeeded or failed, if a command succeeded or failed,
for example using: <TT>echo $?</TT></P><P> <A NAME="ectl-commands"></A> </P><!--TOC subsection ejabberdctl Commands--> 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, it displays the available options. If there isn&#X2019;t an <TT>ejabberd</TT> server running,
the available parameters are: the available parameters are:
</P><DL CLASS="description"><DT CLASS="dt-description"> </P><DL CLASS="description"><DT CLASS="dt-description">
@ -3523,7 +3801,7 @@ robot1
testuser1 testuser1
testuser2 testuser2
</PRE><P> <A NAME="erlangconfiguration"></A> </P><!--TOC subsection Erlang Runtime System--> </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. This system is configured using environment variables and command line parameters.
The <TT>ejabberdctl</TT> administration script uses many of those possibilities. The <TT>ejabberdctl</TT> administration script uses many of those possibilities.
You can configure some of them with the file <TT>ejabberdctl.cfg</TT>, 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> </DD></DL><P>
Note that some characters need to be escaped when used in shell scripts, for instance <CODE>"</CODE> and <CODE>{}</CODE>. 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--> 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 with a defined number and type of calling arguments and type of result
that is registered in the <TT>ejabberd_commands</TT> service. 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>. 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>ejabberd_xmlrpc</TT> (XML-RPC service),
<TT>mod_rest</TT> (HTTP POST 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--> <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 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: the ejabberdctl script:
</P><PRE CLASS="verbatim">$ ejabberdctl help </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>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><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--> </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 that case, authentication information must be provided.
In each frontend the <TT>AccessCommands</TT> option is defined In each frontend the <TT>AccessCommands</TT> option is defined
in a different place. But in all cases the option syntax is the same: 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"}]} {_bot_reg_test, [register, unregister], [{host, "test.org"}]}
] ]
</PRE><P> <A NAME="webadmin"></A> </P><!--TOC section Web Admin--> </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: </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 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 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 directory of the documentation can be specified in
the environment variable <TT>EJABBERD_DOC_PATH</TT>. 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--> 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> you can perform several administrative tasks in <TT>ejabberd</TT>
with a XMPP client. with a XMPP client.
The client must support Ad-Hoc Commands (<A HREF="http://xmpp.org/extensions/xep-0050.html">XEP-0050</A>), 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 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--> 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, 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>). 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. 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... </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. 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>--> </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--> <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="htoc78">5.1</A>&#XA0;&#XA0;<A HREF="#firewall">Firewall Settings</A></H2><!--SEC END --><P> <A NAME="firewall"></A> <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><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> </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> <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> <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> </TABLE>
<DIV CLASS="center"><HR WIDTH="80%" SIZE=2></DIV></DIV></BLOCKQUOTE><P> <A NAME="epmd"></A> </P><!--TOC section epmd--> <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 is a small name server included in Erlang/OTP
and used by Erlang programs when establishing distributed Erlang communications. 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. <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: 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 </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--> </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>. 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 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. 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, The communication between Erlang nodes are not encrypted,
so the cookie could be read sniffing the traffic on the network. 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--> 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>) 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>). 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 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 because it may be possible to fake the fact that you are on another network
using a modified version of Erlang <TT>epmd</TT>. 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--> 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, 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"> 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"> <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"> </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>. See section <A HREF="#cookie">5.3</A>.
</DD></DL><P> <A NAME="clustering"></A> </P><!--TOC chapter Clustering--> </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--> </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 </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 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 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">session manager,
</LI><LI CLASS="li-itemize">s2s manager. </LI><LI CLASS="li-itemize">s2s manager.
</LI></UL><P> <A NAME="router"></A> </P><!--TOC subsection Router--> </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 </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 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. 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 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--> 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 </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 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 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--> 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 </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 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 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--> 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 </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 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, 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 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--> 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>), </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 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"> 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. enabled only on one machine in the cluster.
</LI></OL><P>You can repeat these steps for other machines supposed to serve this </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--> 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--> </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="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="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="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><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><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"> </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_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><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--> </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><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--> </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--> </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"> </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 <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><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: </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></DL><P>The possible <TT>Level</TT> are: </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"> </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) <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 </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>) (please refer to section <A HREF="#ectl-commands">4.1.1</A>)
reopens the log files, 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--> 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, 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. so it is important to use it with extremely care.
There are some simple and safe examples in the article 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--> <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 </P><P><TT>ejabberd</TT> includes a watchdog mechanism that may be useful to developers
when troubleshooting a problem related to memory usage. when troubleshooting a problem related to memory usage.
If a process in the <TT>ejabberd</TT> server consumes more memory than the configured threshold, 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: To remove all watchdog admins, set the option with an empty list:
</P><PRE CLASS="verbatim">{watchdog_admins, []}. </P><PRE CLASS="verbatim">{watchdog_admins, []}.
</PRE><P> <A NAME="i18ni10n"></A> </P><!--TOC chapter Internationalization and Localization--> </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. </P><P>The source code of <TT>ejabberd</TT> supports localization.
The translators can edit the The translators can edit the
<A HREF="http://www.gnu.org/software/gettext/">gettext</A> .po files <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> </TABLE></DIV>
<A NAME="fig:webadmmainru"></A> <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--> <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--> </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"> </P><UL CLASS="itemize"><LI CLASS="li-itemize">
Alexey Shchepin (<A HREF="xmpp:aleksey@jabber.ru"><TT>xmpp:aleksey@jabber.ru</TT></A>) 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">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">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">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">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">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">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">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><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--> </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 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 modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2 as published by the Free Software Foundation; either version 2

View File

@ -88,10 +88,12 @@
\newcommand{\modpubsub}{\module{mod\_pubsub}} \newcommand{\modpubsub}{\module{mod\_pubsub}}
\newcommand{\modpubsubodbc}{\module{mod\_pubsub\_odbc}} \newcommand{\modpubsubodbc}{\module{mod\_pubsub\_odbc}}
\newcommand{\modregister}{\module{mod\_register}} \newcommand{\modregister}{\module{mod\_register}}
\newcommand{\modregisterweb}{\module{mod\_register\_web}}
\newcommand{\modroster}{\module{mod\_roster}} \newcommand{\modroster}{\module{mod\_roster}}
\newcommand{\modrosterodbc}{\module{mod\_roster\_odbc}} \newcommand{\modrosterodbc}{\module{mod\_roster\_odbc}}
\newcommand{\modservicelog}{\module{mod\_service\_log}} \newcommand{\modservicelog}{\module{mod\_service\_log}}
\newcommand{\modsharedroster}{\module{mod\_shared\_roster}} \newcommand{\modsharedroster}{\module{mod\_shared\_roster}}
\newcommand{\modsharedrosterldap}{\module{mod\_shared\_roster\_ldap}}
\newcommand{\modsic}{\module{mod\_sic}} \newcommand{\modsic}{\module{mod\_sic}}
\newcommand{\modstats}{\module{mod\_stats}} \newcommand{\modstats}{\module{mod\_stats}}
\newcommand{\modtime}{\module{mod\_time}} \newcommand{\modtime}{\module{mod\_time}}
@ -311,6 +313,7 @@ To compile \ejabberd{} on a `Unix-like' operating system, you need:
\item GCC \item GCC
\item Libexpat 1.95 or higher \item Libexpat 1.95 or higher
\item Erlang/OTP R10B-9 or higher. The recommended versions are R12B-5 and R13B04. \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 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 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}. \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}} \titem{\texttt{ejabberd\_http}}
Handles incoming HTTP connections.\\ Handles incoming HTTP connections.\\
Options: \texttt{captcha}, \texttt{certfile}, \texttt{http\_bind}, \texttt{http\_poll}, 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} \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}. which can be enabled in \ejabberd{} with the option \term{starttls}.
If this option is set, you should also set the \option{certfile} option. 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. 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 \titem{web\_admin} \ind{options!web\_admin}\ind{web admin}This option
enables the Web Admin for \ejabberd{} administration which is available enables the Web Admin for \ejabberd{} administration which is available
at \verb|http://server:port/admin/|. Login and password are the username and 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}): There are some additional global options that can be specified in the ejabberd configuration file (outside \term{listen}):
\begin{description} \begin{description}
\titem{\{s2s\_use\_starttls, true|false\}} \titem{\{s2s\_use\_starttls, false|optional|required|required\_trusted\}}
\ind{options!s2s\_use\_starttls}\ind{STARTTLS}This option defines whether to \ind{options!s2s\_use\_starttls}\ind{STARTTLS}This option defines if
use STARTTLS for s2s connections. 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 \titem{\{s2s\_certfile, Path\}} \ind{options!s2s\_certificate}Full path to a
file containing a SSL certificate. file containing a SSL certificate.
\titem{\{domain\_certfile, Domain, Path\}} \ind{options!domain\_certfile} \titem{\{domain\_certfile, Domain, Path\}} \ind{options!domain\_certfile}
Full path to the file containing the SSL certificate for a specific domain. 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. 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, By default it first tries connecting with IPv4, if that fails it tries using IPv6,
with a timeout of 10000 milliseconds. 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"}. {s2s_certfile, "/etc/ejabberd/server.pem"}.
{domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}. {domain_certfile, "example.com", "/etc/ejabberd/example_com.pem"}.
{outgoing_s2s_options, [ipv4, ipv6], 10000}.
\end{verbatim} \end{verbatim}
In this example, the following configuration defines that: 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 on port 5223 (SSL, IP 192.168.0.1 and fdca:8ab6:a243:75ef::1) and denied
for the user called `\term{bad}'. for the user called `\term{bad}'.
\item s2s connections are listened for on port 5269 (all IPv4 addresses) \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, Incoming and outgoing connections of remote XMPP servers are denied,
only two servers can connect: "jabber.example.org" and "example.com". only two servers can connect: "jabber.example.org" and "example.com".
\item Port 5280 is serving the Web Admin and the HTTP Polling service \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}]} {service_check_from, false}]}
] ]
}. }.
{s2s_use_starttls, true}. {s2s_use_starttls, required_trusted}.
{s2s_certfile, "/path/to/ssl.pem"}. {s2s_certfile, "/path/to/ssl.pem"}.
{s2s_default_policy, deny}. {s2s_default_policy, deny}.
{{s2s_host,"jabber.example.org"}, allow}. {{s2s_host,"jabber.example.org"}, allow}.
@ -2217,8 +2228,7 @@ module loaded!
\ind{databases!LDAP} \ind{databases!LDAP}
\ejabberd{} has built-in LDAP support. You can authenticate users against 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 server and use LDAP directory as vCard storage.
yet.
Usually \ejabberd{} treats LDAP as a read-only storage: Usually \ejabberd{} treats LDAP as a read-only storage:
it is possible to consult data, but not possible to 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}{\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{modpubsub}{\modpubsubodbc{}} & Pub-Sub (\xepref{0060}), PEP (\xepref{0163}) & supported DB (*) and \modcaps{} \\
\hline \ahrefloc{modregister}{\modregister{}} & In-Band Registration (\xepref{0077}) & \\ \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}{\modroster{}} & Roster management (XMPP IM) & \\
\hline \ahrefloc{modroster}{\modrosterodbc{}} & Roster management (XMPP IM) & supported DB (*) \\ \hline \ahrefloc{modroster}{\modrosterodbc{}} & Roster management (XMPP IM) & supported DB (*) \\
\hline \ahrefloc{modservicelog}{\modservicelog{}} & Copy user messages to logger service & \\ \hline \ahrefloc{modservicelog}{\modservicelog{}} & Copy user messages to logger service & \\
\hline \ahrefloc{modsharedroster}{\modsharedroster{}} & Shared roster management & \modroster{} or \\ \hline \ahrefloc{modsharedroster}{\modsharedroster{}} & Shared roster management & \modroster{} or \\
& & \modrosterodbc\\ & & \modrosterodbc\\
\hline \ahrefloc{modsharedrosterldap}{\modsharedrosterldap{}} & LDAP Shared roster management & \modroster{} or \\
& & \modrosterodbc\\
\hline \ahrefloc{modsic}{\modsic{}} & Server IP Check (\xepref{0279}) & \\ \hline \ahrefloc{modsic}{\modsic{}} & Server IP Check (\xepref{0279}) & \\
\hline \ahrefloc{modstats}{\modstats{}} & Statistics Gathering (\xepref{0039}) & \\ \hline \ahrefloc{modstats}{\modstats{}} & Statistics Gathering (\xepref{0039}) & \\
\hline \ahrefloc{modtime}{\modtime{}} & Entity Time (\xepref{0202}) & \\ \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 \titem{\{access, AccessName\}} \ind{options!access}This option can be used to specify who
may use the IRC transport (default value: \term{all}). may use the IRC transport (default value: \term{all}).
\titem{\{default\_encoding, Encoding\}} \ind{options!defaultencoding}Set the default IRC encoding. \titem{\{default\_encoding, Encoding\}} \ind{options!defaultencoding}Set the default IRC encoding.
Default value: \term{"koi8-r"} Default value: \term{"iso8859-1"}
\end{description} \end{description}
Examples: Examples:
@ -3783,6 +3796,18 @@ Options:
doesn't allow to register new accounts from s2s or existing c2s sessions. You can 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 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. 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 \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 is sent to each newly registered account. The first string is the subject, and
the second string is the message body. the second string is the message body.
@ -3806,7 +3831,8 @@ Default value: 600 seconds.
Examples: Examples:
\begin{itemize} \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} \begin{verbatim}
{acl, shortname, {user_glob, "?"}}. {acl, shortname, {user_glob, "?"}}.
{acl, shortname, {user_glob, "??"}}. {acl, shortname, {user_glob, "??"}}.
@ -3819,7 +3845,10 @@ Examples:
{modules, {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} \end{verbatim}
@ -3864,6 +3893,49 @@ Also define a registration timeout of one hour:
\end{verbatim} \end{verbatim}
\end{itemize} \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{}} \makesubsection{modroster}{\modroster{}}
\ind{modules!\modroster{}}\ind{roster management}\ind{protocols!RFC 3921: XMPP IM} \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 does not affect the client in any way.
This option is only useful if Roster Versioning is enabled. This option is only useful if Roster Versioning is enabled.
This option is disabled by default. 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} \end{description}
This example configuration enables Roster Versioning with storage of current id: This example configuration enables Roster Versioning with storage of current id:
@ -4046,6 +4119,349 @@ Examples:
\end{table} \end{table}
\end{itemize} \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{}} \makesubsection{modsic}{\modsic{}}
\ind{modules!\modstats{}}\ind{protocols!XEP-0279: Server IP Check} \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) \titem{erlang.log} is the Erlang/OTP system log, with the messages reported by Erlang/OTP using SASL (System Architecture Support Libraries)
\end{description} \end{description}
The option \term{loglevel} modifies the verbosity of the file ejabberd.log. The syntax is: The option \term{loglevel} modifies the verbosity of the file ejabberd.log. The syntax is one of:
\esyntax{\{loglevel, Level\}.} \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: The possible \term{Level} are:
\begin{description} \begin{description}
@ -5358,6 +5777,7 @@ Thanks to all people who contributed to this guide:
\item Badlop (\ahrefurl{xmpp:badlop@jabberes.org}) \item Badlop (\ahrefurl{xmpp:badlop@jabberes.org})
\item Evgeniy Khramtsov (\ahrefurl{xmpp:xram@jabber.ru}) \item Evgeniy Khramtsov (\ahrefurl{xmpp:xram@jabber.ru})
\item Florian Zumbiehl (\ahrefurl{xmpp:florz@florz.de}) \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 Michael Grigutsch (\ahrefurl{xmpp:migri@jabber.i-pobox.net})
\item Mickael Remond (\ahrefurl{xmpp:mremond@process-one.net}) \item Mickael Remond (\ahrefurl{xmpp:mremond@process-one.net})
\item Sander Devrieze (\ahrefurl{xmpp:s.devrieze@gmail.com}) \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). % 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. # password is null. Return 1 if the user $user\@$domain exitst.
$result = 1; $result = 1;
},last SWITCH; },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; my $out = pack "nn",2,$result ? 1 : 0;
syswrite STDOUT,$out; syswrite STDOUT,$out;

View File

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

View File

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

View File

@ -162,6 +162,7 @@
captcha, captcha,
http_bind, http_bind,
http_poll, http_poll,
%%register,
web_admin web_admin
]} ]}
@ -169,10 +170,10 @@
%% %%
%% s2s_use_starttls: Enable STARTTLS + Dialback for S2S connections. %% 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. %% You must specify a certificate file.
%% %%
%%{s2s_use_starttls, true}. %%{s2s_use_starttls, optional}.
%% %%
%% s2s_certfile: Specify a certificate file. %% s2s_certfile: Specify a certificate file.
@ -521,6 +522,16 @@
{plugins, ["flat", "hometree", "pep"]} % pep requires mod_caps {plugins, ["flat", "hometree", "pep"]} % pep requires mod_caps
]}, ]},
{mod_register, [ {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 %% After successful registration, the user receives
%% a message with this subject and body. %% a message with this subject and body.
@ -534,8 +545,18 @@
%% %%
%%{registration_watchers, ["admin1@example.org"]}, %%{registration_watchers, ["admin1@example.org"]},
{ip_access, [{allow, "127.0.0.0/8"},
{deny, "0.0.0.0/0"}]},
{access, register} {access, register}
]}, ]},
%%{mod_register_web, [
%%
%% When a user registers, send a notification to
%% these XMPP accounts.
%%
%%{registration_watchers, ["admin1@example.org"]}
%% ]},
{mod_roster, []}, {mod_roster, []},
%%{mod_service_log,[]}, %%{mod_service_log,[]},
{mod_shared_roster,[]}, {mod_shared_roster,[]},

View File

@ -49,7 +49,8 @@
is_user_exists_in_other_modules/3, is_user_exists_in_other_modules/3,
remove_user/2, remove_user/2,
remove_user/3, remove_user/3,
plain_password_required/1 plain_password_required/1,
entropy/1
]). ]).
-export([auth_modules/1]). -export([auth_modules/1]).
@ -318,6 +319,29 @@ remove_user(User, Server, Password) ->
end, end,
R. 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 %%% Internal functions

View File

@ -66,7 +66,7 @@ check_cache_last_options(Server) ->
case get_cache_option(Server) of case get_cache_option(Server) of
false -> no_cache; false -> no_cache;
{true, _CacheTime} -> {true, _CacheTime} ->
case get_mod_last_enabled(Server) of case get_mod_last_configured(Server) of
no_mod_last -> no_mod_last ->
?ERROR_MSG("In host ~p extauth is used, extauth_cache is enabled but " ?ERROR_MSG("In host ~p extauth is used, extauth_cache is enabled but "
"mod_last is not enabled.", [Server]), "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 %% @spec (Server) -> mod_last | mod_last_odbc | no_mod_last
get_mod_last_enabled(Server) -> get_mod_last_enabled(Server) ->
ML = lists:member(mod_last, gen_mod:loaded_modules(Server)), ML = gen_mod:is_loaded(Server, mod_last),
MLO = lists:member(mod_last_odbc, gen_mod:loaded_modules(Server)), MLO = gen_mod:is_loaded(Server, mod_last_odbc),
case {ML, MLO} of case {ML, MLO} of
{true, _} -> mod_last; {true, _} -> mod_last;
{false, true} -> mod_last_odbc; {false, true} -> mod_last_odbc;
{false, false} -> no_mod_last {false, false} -> no_mod_last
end. 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, send_element/2,
socket_type/0, socket_type/0,
get_presence/1, get_presence/1,
get_aux_field/2,
set_aux_field/3,
del_aux_field/2,
get_subscription/2,
broadcast/4,
get_subscribed/1]). get_subscribed/1]).
%% API: %% API:
@ -143,6 +148,39 @@ add_rosteritem(FsmRef, IJID, ISubscription) ->
del_rosteritem(FsmRef, IJID) -> del_rosteritem(FsmRef, IJID) ->
?GEN_FSM:send_all_state_event(FsmRef, {del_rosteritem, 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) -> stop(FsmRef) ->
?GEN_FSM:send_event(FsmRef, closed). ?GEN_FSM:send_event(FsmRef, closed).
@ -193,8 +231,8 @@ init([{SockMod, Socket}, Opts, FSMLimitOpts]) ->
%% Check if IP is blacklisted: %% Check if IP is blacklisted:
case is_ip_blacklisted(IP) of case is_ip_blacklisted(IP) of
true -> true ->
?INFO_MSG("Connection attempt from blacklisted IP: ~s", ?INFO_MSG("Connection attempt from blacklisted IP: ~s (~w)",
[jlib:ip_to_list(IP)]), [jlib:ip_to_list(IP), IP]),
{stop, normal}; {stop, normal};
false -> false ->
Socket1 = Socket1 =
@ -281,7 +319,19 @@ wait_for_stream({xmlstreamstart, Name, Attrs}, StateData) ->
Server = jlib:nameprep(xml:get_attr_s("to", Attrs)), Server = jlib:nameprep(xml:get_attr_s("to", Attrs)),
case lists:member(Server, ?MYHOSTS) of case lists:member(Server, ?MYHOSTS) of
true -> 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, "")), change_shaper(StateData, jlib:make_jid("", Server, "")),
case xml:get_attr_s("version", Attrs) of case xml:get_attr_s("version", Attrs) of
"1.0" -> "1.0" ->
@ -1056,9 +1106,8 @@ session_established2(El, StateData) ->
ejabberd_hooks:run( ejabberd_hooks:run(
user_send_packet, user_send_packet,
Server, Server,
[StateData#state.debug, FromJID, ToJID, NewEl]), [StateData#state.debug, FromJID, ToJID, NewEl]),
ejabberd_router:route( check_privacy_route(FromJID, StateData, FromJID, ToJID, NewEl),
FromJID, ToJID, NewEl),
StateData StateData
end; end;
"message" -> "message" ->
@ -1163,35 +1212,39 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
{Pass, NewAttrs, NewState} = {Pass, NewAttrs, NewState} =
case Name of case Name of
"presence" -> "presence" ->
State = ejabberd_hooks:run_fold(
c2s_presence_in, StateData#state.server,
StateData,
[{From, To, Packet}]),
case xml:get_attr_s("type", Attrs) of case xml:get_attr_s("type", Attrs) of
"probe" -> "probe" ->
LFrom = jlib:jid_tolower(From), LFrom = jlib:jid_tolower(From),
LBFrom = jlib:jid_remove_resource(LFrom), LBFrom = jlib:jid_remove_resource(LFrom),
NewStateData = NewStateData =
case ?SETS:is_element( case ?SETS:is_element(
LFrom, StateData#state.pres_a) orelse LFrom, State#state.pres_a) orelse
?SETS:is_element( ?SETS:is_element(
LBFrom, StateData#state.pres_a) of LBFrom, State#state.pres_a) of
true -> true ->
StateData; State;
false -> false ->
case ?SETS:is_element( case ?SETS:is_element(
LFrom, StateData#state.pres_f) of LFrom, State#state.pres_f) of
true -> true ->
A = ?SETS:add_element( A = ?SETS:add_element(
LFrom, LFrom,
StateData#state.pres_a), State#state.pres_a),
StateData#state{pres_a = A}; State#state{pres_a = A};
false -> false ->
case ?SETS:is_element( case ?SETS:is_element(
LBFrom, StateData#state.pres_f) of LBFrom, State#state.pres_f) of
true -> true ->
A = ?SETS:add_element( A = ?SETS:add_element(
LBFrom, LBFrom,
StateData#state.pres_a), State#state.pres_a),
StateData#state{pres_a = A}; State#state{pres_a = A};
false -> false ->
StateData State
end end
end end
end, end,
@ -1199,66 +1252,59 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
{false, Attrs, NewStateData}; {false, Attrs, NewStateData};
"error" -> "error" ->
NewA = remove_element(jlib:jid_tolower(From), NewA = remove_element(jlib:jid_tolower(From),
StateData#state.pres_a), State#state.pres_a),
{true, Attrs, StateData#state{pres_a = NewA}}; {true, Attrs, State#state{pres_a = NewA}};
"invisible" -> "invisible" ->
Attrs1 = lists:keydelete("type", 1, Attrs), Attrs1 = lists:keydelete("type", 1, Attrs),
{true, [{"type", "unavailable"} | Attrs1], StateData}; {true, [{"type", "unavailable"} | Attrs1], State};
"subscribe" -> "subscribe" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list), SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, StateData}; {SRes, Attrs, State};
"subscribed" -> "subscribed" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list), SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, StateData}; {SRes, Attrs, State};
"unsubscribe" -> "unsubscribe" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list), SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, StateData}; {SRes, Attrs, State};
"unsubscribed" -> "unsubscribed" ->
SRes = is_privacy_allow(From, To, Packet, StateData#state.privacy_list), SRes = is_privacy_allow(State, From, To, Packet, in),
{SRes, Attrs, StateData}; {SRes, Attrs, State};
_ -> _ ->
case ejabberd_hooks:run_fold( case privacy_check_packet(State, From, To, Packet, in) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
in]) of
allow -> allow ->
LFrom = jlib:jid_tolower(From), LFrom = jlib:jid_tolower(From),
LBFrom = jlib:jid_remove_resource(LFrom), LBFrom = jlib:jid_remove_resource(LFrom),
case ?SETS:is_element( case ?SETS:is_element(
LFrom, StateData#state.pres_a) orelse LFrom, State#state.pres_a) orelse
?SETS:is_element( ?SETS:is_element(
LBFrom, StateData#state.pres_a) of LBFrom, State#state.pres_a) of
true -> true ->
{true, Attrs, StateData}; {true, Attrs, State};
false -> false ->
case ?SETS:is_element( case ?SETS:is_element(
LFrom, StateData#state.pres_f) of LFrom, State#state.pres_f) of
true -> true ->
A = ?SETS:add_element( A = ?SETS:add_element(
LFrom, LFrom,
StateData#state.pres_a), State#state.pres_a),
{true, Attrs, {true, Attrs,
StateData#state{pres_a = A}}; State#state{pres_a = A}};
false -> false ->
case ?SETS:is_element( case ?SETS:is_element(
LBFrom, StateData#state.pres_f) of LBFrom, State#state.pres_f) of
true -> true ->
A = ?SETS:add_element( A = ?SETS:add_element(
LBFrom, LBFrom,
StateData#state.pres_a), State#state.pres_a),
{true, Attrs, {true, Attrs,
StateData#state{pres_a = A}}; State#state{pres_a = A}};
false -> false ->
{true, Attrs, StateData} {true, Attrs, State}
end end
end end
end; end;
deny -> deny ->
{false, Attrs, StateData} {false, Attrs, State}
end end
end; end;
"broadcast" -> "broadcast" ->
@ -1302,61 +1348,43 @@ handle_info({route, From, To, Packet}, StateName, StateData) ->
"iq" -> "iq" ->
IQ = jlib:iq_query_info(Packet), IQ = jlib:iq_query_info(Packet),
case IQ of case IQ of
#iq{xmlns = ?NS_VCARD} when (To#jid.luser == "") or (To#jid.lresource == "") -> #iq{xmlns = ?NS_LAST} ->
Host = StateData#state.server, LFrom = jlib:jid_tolower(From),
case ets:lookup(sm_iqtable, {?NS_VCARD, Host}) of LBFrom = jlib:jid_remove_resource(LFrom),
[{_, Module, Function, Opts}] -> HasFromSub = (?SETS:is_element(LFrom, StateData#state.pres_f) orelse ?SETS:is_element(LBFrom, StateData#state.pres_f))
gen_iq_handler:handle(Host, Module, Function, Opts, andalso is_privacy_allow(StateData, To, From, {xmlelement, "presence", [], []}, out),
From, To, IQ); case HasFromSub of
[] -> true ->
Err = jlib:make_error_reply( case privacy_check_packet(StateData, From, To, Packet, in) of
Packet, ?ERR_FEATURE_NOT_IMPLEMENTED), allow ->
ejabberd_router:route(To, From, Err) {true, Attrs, StateData};
end, deny ->
{false, Attrs, StateData}; {false, Attrs, StateData}
#iq{} -> end;
case ejabberd_hooks:run_fold( _ ->
privacy_check_packet, StateData#state.server, Err = jlib:make_error_reply(Packet, ?ERR_FORBIDDEN),
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),
ejabberd_router:route(To, From, Err), ejabberd_router:route(To, From, Err),
{false, Attrs, StateData} {false, Attrs, StateData}
end; end;
_ -> IQ when (is_record(IQ, iq)) or (IQ == reply) ->
{true, Attrs, StateData} case privacy_check_packet(StateData, From, To, Packet, in) of
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
allow -> allow ->
{true, Attrs, StateData}; {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} {false, Attrs, StateData}
end; 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 -> deny ->
{false, Attrs, StateData} {false, Attrs, StateData}
end; end;
@ -1420,6 +1448,17 @@ handle_info({force_update_presence, LUser}, StateName,
StateData StateData
end, end,
{next_state, StateName, NewStateData}; {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) -> handle_info(Info, StateName, StateData) ->
?ERROR_MSG("Unexpected info: ~p", [Info]), ?ERROR_MSG("Unexpected info: ~p", [Info]),
fsm_next_state(StateName, StateData). fsm_next_state(StateName, StateData).
@ -1531,6 +1570,10 @@ change_shaper(StateData, JID) ->
StateData#state.shaper, JID), StateData#state.shaper, JID),
(StateData#state.sockmod):change_shaper(StateData#state.socket, Shaper). (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) -> send_text(StateData, Text) ->
?DEBUG("Send XML on stream = ~p", [Text]), ?DEBUG("Send XML on stream = ~p", [Text]),
Text1 = Text1 =
@ -1692,14 +1735,7 @@ process_presence_probe(From, To, StateData) ->
[jlib:timestamp_to_xml(Timestamp, utc, To, ""), [jlib:timestamp_to_xml(Timestamp, utc, To, ""),
%% TODO: Delete the next line once XEP-0091 is Obsolete %% TODO: Delete the next line once XEP-0091 is Obsolete
jlib:timestamp_to_xml(Timestamp)]), jlib:timestamp_to_xml(Timestamp)]),
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, To, From, Packet, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{To, From, Packet},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -1894,44 +1930,35 @@ presence_track(From, To, Packet, StateData) ->
end. end.
check_privacy_route(From, StateData, FromRoute, To, Packet) -> check_privacy_route(From, StateData, FromRoute, To, Packet) ->
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, To, Packet, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, Packet},
out]) of
deny -> 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; ok;
allow -> allow ->
ejabberd_router:route(FromRoute, To, Packet) ejabberd_router:route(FromRoute, To, Packet)
end. 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 %% Check if privacy rules allow this delivery
is_privacy_allow(From, To, Packet, PrivacyList) -> is_privacy_allow(StateData, From, To, Packet, Dir) ->
User = To#jid.user, allow == privacy_check_packet(StateData, From, To, Packet, Dir).
Server = To#jid.server,
allow == ejabberd_hooks:run_fold(
privacy_check_packet, Server,
allow,
[User,
Server,
PrivacyList,
{From, To, Packet},
in]).
presence_broadcast(StateData, From, JIDSet, Packet) -> presence_broadcast(StateData, From, JIDSet, Packet) ->
lists:foreach(fun(JID) -> lists:foreach(fun(JID) ->
FJID = jlib:make_jid(JID), FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, FJID, Packet, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -1945,14 +1972,7 @@ presence_broadcast_to_trusted(StateData, From, T, A, Packet) ->
case ?SETS:is_element(JID, T) of case ?SETS:is_element(JID, T) of
true -> true ->
FJID = jlib:make_jid(JID), FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, FJID, Packet, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -1983,14 +2003,7 @@ presence_broadcast_first(From, StateData, Packet) ->
As = ?SETS:fold( As = ?SETS:fold(
fun(JID, A) -> fun(JID, A) ->
FJID = jlib:make_jid(JID), FJID = jlib:make_jid(JID),
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, FJID, Packet, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, FJID, Packet},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -2045,14 +2058,7 @@ roster_change(IJID, ISubscription, StateData) ->
if if
Cond1 -> Cond1 ->
?DEBUG("C1: ~p~n", [LIJID]), ?DEBUG("C1: ~p~n", [LIJID]),
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, To, P, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, P},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -2067,14 +2073,7 @@ roster_change(IJID, ISubscription, StateData) ->
?DEBUG("C2: ~p~n", [LIJID]), ?DEBUG("C2: ~p~n", [LIJID]),
PU = {xmlelement, "presence", PU = {xmlelement, "presence",
[{"type", "unavailable"}], []}, [{"type", "unavailable"}], []},
case ejabberd_hooks:run_fold( case privacy_check_packet(StateData, From, To, PU, out) of
privacy_check_packet, StateData#state.server,
allow,
[StateData#state.user,
StateData#state.server,
StateData#state.privacy_list,
{From, To, PU},
out]) of
deny -> deny ->
ok; ok;
allow -> allow ->
@ -2152,25 +2151,16 @@ process_privacy_iq(From, To,
NewStateData. NewStateData.
resend_offline_messages(#state{user = User, resend_offline_messages(StateData) ->
server = Server, case ejabberd_hooks:run_fold(
privacy_list = PrivList} = StateData) -> resend_offline_messages_hook, StateData#state.server,
case ejabberd_hooks:run_fold(resend_offline_messages_hook, [],
Server, [StateData#state.user, StateData#state.server]) of
[],
[User, Server]) of
Rs when is_list(Rs) -> Rs when is_list(Rs) ->
lists:foreach( lists:foreach(
fun({route, fun({route,
From, To, {xmlelement, Name, Attrs, Els} = Packet}) -> From, To, {xmlelement, Name, Attrs, Els} = Packet}) ->
Pass = case ejabberd_hooks:run_fold( Pass = case privacy_check_packet(StateData, From, To, Packet, in) of
privacy_check_packet, Server,
allow,
[User,
Server,
PrivList,
{From, To, Packet},
in]) of
allow -> allow ->
true; true;
deny -> deny ->
@ -2223,7 +2213,17 @@ get_statustag(Presence) ->
end. end.
process_unauthenticated_stanza(StateData, El) -> 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 -> #iq{} = IQ ->
Res = ejabberd_hooks:run_fold(c2s_unauthenticated_iq, Res = ejabberd_hooks:run_fold(c2s_unauthenticated_iq,
StateData#state.server, StateData#state.server,

View File

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

View File

@ -36,7 +36,8 @@
terminate/2, code_change/3]). terminate/2, code_change/3]).
-export([create_captcha/5, build_captcha_html/2, check_captcha/2, -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("jlib.hrl").
-include("ejabberd.hrl"). -include("ejabberd.hrl").
@ -84,7 +85,8 @@ create_captcha(SID, From, To, Lang, Args)
?VFIELD("hidden", "challenge", {xmlcdata, Id}), ?VFIELD("hidden", "challenge", {xmlcdata, Id}),
?VFIELD("hidden", "sid", {xmlcdata, SID}), ?VFIELD("hidden", "sid", {xmlcdata, SID}),
{xmlelement, "field", [{"var", "ocr"}, {"label", ?CAPTCHA_TEXT(Lang)}], {xmlelement, "field", [{"var", "ocr"}, {"label", ?CAPTCHA_TEXT(Lang)}],
[{xmlelement, "media", [{"xmlns", ?NS_MEDIA}], [{xmlelement, "required", [], []},
{xmlelement, "media", [{"xmlns", ?NS_MEDIA}],
[{xmlelement, "uri", [{"type", Type}], [{xmlelement, "uri", [{"type", Type}],
[{xmlcdata, "cid:" ++ CID}]}]}]}]}]}, [{xmlcdata, "cid:" ++ CID}]}]}]}]}]},
BodyString1 = translate:translate(Lang, "Your messages to ~s are being blocked. To unblock them, visit ~s"), 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 error
end. 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 %% @spec (Id::string(), Lang::string()) -> {FormEl, {ImgEl, TextEl, IdEl, KeyEl}} | captcha_not_found
%% where FormEl = xmlelement() %% where FormEl = xmlelement()
%% ImgEl = xmlelement() %% ImgEl = xmlelement()
@ -159,14 +206,14 @@ check_captcha(Id, ProvidedKey) ->
captcha_not_found captcha_not_found
end. end.
process_reply({xmlelement, "captcha", _, _} = El) -> process_reply({xmlelement, _, _, _} = El) ->
case xml:get_subtag(El, "x") of case xml:get_subtag(El, "x") of
false -> false ->
{error, malformed}; {error, malformed};
Xdata -> Xdata ->
Fields = jlib:parse_xdata_submit(Xdata), Fields = jlib:parse_xdata_submit(Xdata),
case {proplists:get_value("challenge", Fields), case catch {proplists:get_value("challenge", Fields),
proplists:get_value("ocr", Fields)} of proplists:get_value("ocr", Fields)} of
{[Id|_], [OCR|_]} -> {[Id|_], [OCR|_]} ->
case check_captcha(Id, OCR) of case check_captcha(Id, OCR) of
captcha_valid -> captcha_valid ->
@ -251,7 +298,11 @@ handle_info({remove_id, Id}, State) ->
?DEBUG("captcha ~p timed out", [Id]), ?DEBUG("captcha ~p timed out", [Id]),
case ets:lookup(captcha, Id) of case ets:lookup(captcha, Id) of
[#captcha{args=Args, pid=Pid}] -> [#captcha{args=Args, pid=Pid}] ->
Pid ! {captcha_failed, Args}, if is_pid(Pid) ->
Pid ! {captcha_failed, Args};
true ->
ok
end,
ets:delete(captcha, Id); ets:delete(captcha, Id);
_ -> _ ->
ok ok
@ -430,10 +481,18 @@ do_check_captcha(Id, ProvidedKey) ->
ets:delete(captcha, Id), ets:delete(captcha, Id),
erlang:cancel_timer(Tref), erlang:cancel_timer(Tref),
if ValidKey == ProvidedKey -> if ValidKey == ProvidedKey ->
Pid ! {captcha_succeed, Args}, if is_pid(Pid) ->
Pid ! {captcha_succeed, Args};
true ->
ok
end,
captcha_valid; captcha_valid;
true -> true ->
Pid ! {captcha_failed, Args}, if is_pid(Pid) ->
Pid ! {captcha_failed, Args};
true ->
ok
end,
captcha_non_valid captcha_non_valid
end; 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], []). ?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) format_usage_ctype({Name, Type}, _Indentation)
when (Type==atom) or (Type==integer) or (Type==string) or (Type==rescode) or (Type==restuple)-> when (Type==atom) or (Type==integer) or (Type==string) or (Type==rescode) or (Type==restuple)->
io_lib:format("~p::~p", [Name, Type]); io_lib:format("~p::~p", [Name, Type]);

View File

@ -49,8 +49,42 @@ start_link() ->
init(_) -> init(_) ->
ets:new(listen_sockets, [named_table, public]),
bind_tcp_ports(),
{ok, {{one_for_one, 10, 1}, []}}. {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() -> start_listeners() ->
case ejabberd_config:get_local_option(listen) of case ejabberd_config:get_local_option(listen) of
undefined -> undefined ->
@ -100,15 +134,7 @@ start_dependent(Port, Module, Opts) ->
init(PortIP, Module, RawOpts) -> init(PortIP, Module, RawOpts) ->
{Port, IPT, IPS, IPV, Proto, OptsClean} = parse_listener_portip(PortIP, RawOpts), {Port, IPT, IPS, IPV, Proto, OptsClean} = parse_listener_portip(PortIP, RawOpts),
%% The first inet|inet6 and the last {ip, _} work, {Opts, SockOpts} = prepare_opts(IPT, IPV, OptsClean),
%% 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),
if Proto == udp -> if Proto == udp ->
init_udp(PortIP, Module, Opts, SockOpts, Port, IPS); init_udp(PortIP, Module, Opts, SockOpts, Port, IPS);
true -> true ->
@ -129,28 +155,39 @@ init_udp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
end. end.
init_tcp(PortIP, Module, Opts, SockOpts, Port, IPS) -> init_tcp(PortIP, Module, Opts, SockOpts, Port, IPS) ->
SockOpts2 = try erlang:system_info(otp_release) >= "R13B" of ListenSocket = listen_tcp(PortIP, Module, SockOpts, Port, IPS),
true -> [{send_timeout_close, true} | SockOpts]; %% Inform my parent that this port was opened succesfully
false -> SockOpts proc_lib:init_ack({ok, self()}),
catch %% And now start accepting connection attempts
_:_ -> [] accept(ListenSocket, Module, Opts).
end,
Res = gen_tcp:listen(Port, [binary, listen_tcp(PortIP, Module, SockOpts, Port, IPS) ->
{packet, 0}, case ets:lookup(listen_sockets, PortIP) of
{active, false}, [{PortIP, ListenSocket}] ->
{reuseaddr, true}, ?INFO_MSG("Reusing listening port for ~p", [Port]),
{nodelay, true}, ets:delete(listen_sockets, Port),
{send_timeout, ?TCP_SEND_TIMEOUT}, ListenSocket;
{keepalive, true} | _ ->
SockOpts2]), SockOpts2 = try erlang:system_info(otp_release) >= "R13B" of
case Res of true -> [{send_timeout_close, true} | SockOpts];
{ok, ListenSocket} -> false -> SockOpts
%% Inform my parent that this port was opened succesfully catch
proc_lib:init_ack({ok, self()}), _:_ -> []
%% And now start accepting connection attempts end,
accept(ListenSocket, Module, Opts); Res = gen_tcp:listen(Port, [binary,
{error, Reason} -> {packet, 0},
socket_error(Reason, PortIP, Module, SockOpts, Port, IPS) {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. end.
%% @spec (PortIP, Opts) -> {Port, IPT, IPS, IPV, OptsClean} %% @spec (PortIP, Opts) -> {Port, IPT, IPS, IPV, OptsClean}
@ -195,6 +232,18 @@ parse_listener_portip(PortIP, Opts) ->
end, end,
{Port, IPT, IPS, IPV, Proto, OptsClean}. {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) -> add_proto(Port, Opts) when is_integer(Port) ->
{Port, get_proto(Opts)}; {Port, get_proto(Opts)};
add_proto({Port, Proto}, _Opts) when is_atom(Proto) -> 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), F = add_node("ERROR: ~p - ~p~n", Pid),
file:write(Fd, io_lib:format(T ++ F, [Format,Args])) file:write(Fd, io_lib:format(T ++ F, [Format,Args]))
end; 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(_, _) -> write_event(_, _) ->
ok. ok.

View File

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

View File

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

View File

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

View File

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

View File

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

View File

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

View File

@ -88,7 +88,13 @@ start(Module, SockMod, Socket, Opts) ->
end, end,
ReceiverMod:become_controller(Receiver, Pid); ReceiverMod:become_controller(Receiver, Pid);
{error, _Reason} -> {error, _Reason} ->
SockMod:close(Socket) SockMod:close(Socket),
case ReceiverMod of
ejabberd_receiver ->
ReceiverMod:close(Receiver);
_ ->
ok
end
end; end;
independent -> independent ->
ok; 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 # create the home dir with the proper user if doesn't exist, because it stores cookie file
[ -d $HOME ] || $EXEC_CMD "mkdir -p $HOME" [ -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 global variables
export EJABBERD_CONFIG_PATH export EJABBERD_CONFIG_PATH
export EJABBERD_MSGS_PATH export EJABBERD_MSGS_PATH

View File

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

View File

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

View File

@ -66,13 +66,13 @@ start_module(Host, Module, Opts) ->
ets:insert(ejabberd_modules, ets:insert(ejabberd_modules,
#ejabberd_module{module_host = {Module, Host}, #ejabberd_module{module_host = {Module, Host},
opts = Opts}), opts = Opts}),
case catch Module:start(Host, Opts) of try Module:start(Host, Opts)
{'EXIT', Reason} -> catch Class:Reason ->
del_module_mnesia(Host, Module), del_module_mnesia(Host, Module),
ets:delete(ejabberd_modules, {Module, Host}), ets:delete(ejabberd_modules, {Module, Host}),
?ERROR_MSG("~p", [Reason]); ?ERROR_MSG("Problem starting the module ~p for host ~p with options:~n ~p~n ~p: ~p",
_ -> [Module, Host, Opts, Class, Reason]),
ok erlang:raise(Class, Reason, erlang:get_stacktrace())
end. end.
%% @doc Stop the module in a host, and forget its configuration. %% @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(_) -> get_iq_namespace(_) ->
"". "".
%% @spec (xmlelement()) -> iq() | reply | invalid | not_iq
iq_query_info(El) -> iq_query_info(El) ->
iq_info_internal(El, request). iq_info_internal(El, request).
@ -455,6 +457,8 @@ parse_xdata_submit(El) ->
case xml:get_attr_s("type", Attrs) of case xml:get_attr_s("type", Attrs) of
"submit" -> "submit" ->
lists:reverse(parse_xdata_fields(Els, [])); lists:reverse(parse_xdata_fields(Els, []));
"form" -> %% This is a workaround to accept Psi's wrong forms
lists:reverse(parse_xdata_fields(Els, []));
_ -> _ ->
invalid invalid
end. end.
@ -557,7 +561,7 @@ rsm_encode_count(Count, Arr)->
i2l(I) when is_integer(I) -> integer_to_list(I); i2l(I) when is_integer(I) -> integer_to_list(I);
i2l(L) when is_list(L) -> L. i2l(L) when is_list(L) -> L.
%% Timezone = utc | {Hours, Minutes} %% Timezone = utc | {Sign::string(), {Hours, Minutes}} | {Hours, Minutes}
%% Hours = integer() %% Hours = integer()
%% Minutes = integer() %% Minutes = integer()
timestamp_to_iso({{Year, Month, Day}, {Hour, Minute, Second}}, Timezone) -> 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 = Timezone_string =
case Timezone of case Timezone of
utc -> "Z"; utc -> "Z";
{Sign, {TZh, TZm}} ->
io_lib:format("~s~2..0w:~2..0w", [Sign, TZh, TZm]);
{TZh, TZm} -> {TZh, TZm} ->
Sign = case TZh >= 0 of Sign = case TZh >= 0 of
true -> "+"; true -> "+";
@ -793,5 +799,8 @@ e(X) -> exit({bad_encode_base64_token, X}).
%% Convert Erlang inet IP to list %% Convert Erlang inet IP to list
ip_to_list({IP, _Port}) -> ip_to_list({IP, _Port}) ->
ip_to_list(IP); 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}) -> ip_to_list({A,B,C,D}) ->
lists:flatten(io_lib:format("~w.~w.~w.~w",[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 %% 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("ejabberd.hrl").
-include("jlib.hrl"). -include("jlib.hrl").
-define(PROCNAME, ejabberd_mod_caps). -define(PROCNAME, ejabberd_mod_caps).
-define(BAD_HASH_LIFETIME, 600). %% in seconds
-record(caps, {node, version, hash, exts}). -record(caps, {node, version, hash, exts}).
-record(caps_features, {node_pair, features = []}). -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), BinaryNode = node_to_binary(Node, SubNode),
case cache_tab:lookup(caps_features, BinaryNode, case cache_tab:lookup(caps_features, BinaryNode,
caps_read_fun(BinaryNode)) of caps_read_fun(BinaryNode)) of
error -> {ok, Features} when is_list(Features) ->
Acc; binary_to_features(Features) ++ Acc;
{ok, Features} -> _ ->
binary_to_features(Features) ++ Acc Acc
end end
end, [], SubNodes). end, [], SubNodes).
@ -160,6 +164,22 @@ user_send_packet(_DebugFlag,
user_send_packet(_DebugFlag, _From, _To, _Packet) -> user_send_packet(_DebugFlag, _From, _To, _Packet) ->
ok. 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) -> caps_stream_features(Acc, MyHost) ->
case make_my_disco_hash(MyHost) of 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) -> disco_info(Acc, _Host, _Module, _Node, _Lang) ->
Acc. 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 %% gen_server callbacks
%%==================================================================== %%====================================================================
@ -215,8 +296,14 @@ init([Host, Opts]) ->
MaxSize = gen_mod:get_opt(cache_size, Opts, 1000), MaxSize = gen_mod:get_opt(cache_size, Opts, 1000),
LifeTime = gen_mod:get_opt(cache_life_time, Opts, timer:hours(24) div 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}]), 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, ejabberd_hooks:add(user_send_packet, Host,
?MODULE, user_send_packet, 75), ?MODULE, user_send_packet, 75),
ejabberd_hooks:add(user_receive_packet, Host,
?MODULE, user_receive_packet, 75),
ejabberd_hooks:add(c2s_stream_features, Host, ejabberd_hooks:add(c2s_stream_features, Host,
?MODULE, caps_stream_features, 75), ?MODULE, caps_stream_features, 75),
ejabberd_hooks:add(s2s_stream_features, Host, ejabberd_hooks:add(s2s_stream_features, Host,
@ -242,8 +329,14 @@ handle_info(_Info, State) ->
terminate(_Reason, State) -> terminate(_Reason, State) ->
Host = State#state.host, 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, ejabberd_hooks:delete(user_send_packet, Host,
?MODULE, user_send_packet, 75), ?MODULE, user_send_packet, 75),
ejabberd_hooks:delete(user_receive_packet, Host,
?MODULE, user_receive_packet, 75),
ejabberd_hooks:delete(c2s_stream_features, Host, ejabberd_hooks:delete(c2s_stream_features, Host,
?MODULE, caps_stream_features, 75), ?MODULE, caps_stream_features, 75),
ejabberd_hooks:delete(s2s_stream_features, Host, 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), BinaryNode = node_to_binary(Node, SubNode),
case cache_tab:lookup(caps_features, BinaryNode, case cache_tab:lookup(caps_features, BinaryNode,
caps_read_fun(BinaryNode)) of caps_read_fun(BinaryNode)) of
error -> {ok, Fs} when is_list(Fs) ->
IQ = #iq{type = get, feature_request(Host, From, Caps, Tail);
xmlns = ?NS_DISCO_INFO, Other ->
sub_el = [{xmlelement, "query", NeedRequest = case Other of
[{"xmlns", ?NS_DISCO_INFO}, {ok, TS} ->
{"node", Node ++ "#" ++ SubNode}], now_ts() >= TS + ?BAD_HASH_LIFETIME;
[]}]}, _ ->
F = fun(IQReply) -> true
feature_response( end,
IQReply, Host, From, Caps, SubNodes) if NeedRequest ->
end, IQ = #iq{type = get,
ejabberd_local:route_iq( xmlns = ?NS_DISCO_INFO,
jlib:make_jid("", Host, ""), From, IQ, F); sub_el = [{xmlelement, "query",
_ -> [{"xmlns", ?NS_DISCO_INFO},
feature_request(Host, From, Caps, Tail) {"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; end;
feature_request(_Host, _From, _Caps, []) -> feature_request(_Host, _From, _Caps, []) ->
ok. ok.
@ -303,18 +406,19 @@ feature_response(#iq{type = result,
caps_features, BinaryNode, BinaryFeatures, caps_features, BinaryNode, BinaryFeatures,
caps_write_fun(BinaryNode, BinaryFeatures)); caps_write_fun(BinaryNode, BinaryFeatures));
false -> false ->
cache_tab:insert(caps_features, BinaryNode, [], %% We cache current timestamp and will probe the client
caps_write_fun(BinaryNode, [])) %% after BAD_HASH_LIFETIME seconds.
cache_tab:insert(caps_features, BinaryNode, now_ts(),
caps_write_fun(BinaryNode, now_ts()))
end, end,
feature_request(Host, From, Caps, SubNodes); feature_request(Host, From, Caps, SubNodes);
feature_response(timeout, _Host, _From, _Caps, _SubNodes) ->
ok;
feature_response(_IQResult, Host, From, Caps, [SubNode | SubNodes]) -> feature_response(_IQResult, Host, From, Caps, [SubNode | SubNodes]) ->
%% We got type=error or invalid type=result stanza, so %% We got type=error or invalid type=result stanza or timeout,
%% we cache empty feature not to probe the client permanently %% so we cache current timestamp and will probe the client
%% after BAD_HASH_LIFETIME seconds.
BinaryNode = node_to_binary(Caps#caps.node, SubNode), BinaryNode = node_to_binary(Caps#caps.node, SubNode),
cache_tab:insert(caps_features, BinaryNode, [], cache_tab:insert(caps_features, BinaryNode, now_ts(),
caps_write_fun(BinaryNode, [])), caps_write_fun(BinaryNode, now_ts())),
feature_request(Host, From, Caps, SubNodes). feature_request(Host, From, Caps, SubNodes).
node_to_binary(Node, SubNode) -> node_to_binary(Node, SubNode) ->
@ -507,3 +611,20 @@ concat_xdata_fields(Fields) ->
Acc Acc
end, ["", []], Fields), end, ["", []], Fields),
[Form, $<, lists:sort(Res)]. [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", []), ?DEBUG("open new connection~n", []),
{Username, Encoding, Port, Password} = get_connection_params( {Username, Encoding, Port, Password} = get_connection_params(
Host, From, Server), Host, ServerHost, From, Server),
ConnectionUsername = ConnectionUsername =
case Packet of case Packet of
%% If the user tries to join a %% If the user tries to join a
@ -535,6 +535,7 @@ get_form(Host, From, [], Lang) ->
#jid{user = User, server = Server, #jid{user = User, server = Server,
luser = LUser, lserver = LServer} = From, luser = LUser, lserver = LServer} = From,
US = {LUser, LServer}, US = {LUser, LServer},
DefaultEncoding = get_default_encoding(Host),
Customs = Customs =
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
{'EXIT', _Reason} -> {'EXIT', _Reason} ->
@ -587,7 +588,7 @@ get_form(Host, From, [], Lang) ->
"'{\"irc server\", \"encoding\", port, \"password\"}'. " "'{\"irc server\", \"encoding\", port, \"password\"}'. "
"By default this service use \"~s\" encoding, port ~p, " "By default this service use \"~s\" encoding, port ~p, "
"empty password."), "empty password."),
[?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT]))}]}]}, [DefaultEncoding, ?DEFAULT_IRC_PORT]))}]}]},
{xmlelement, "field", [{"type", "fixed"}], {xmlelement, "field", [{"type", "fixed"}],
[{xmlelement, "value", [], [{xmlelement, "value", [],
[{xmlcdata, [{xmlcdata,
@ -662,15 +663,30 @@ set_form(_Host, _, _, _Lang, _XData) ->
{error, ?ERR_SERVICE_UNAVAILABLE}. {error, ?ERR_SERVICE_UNAVAILABLE}.
%% Host = "irc.example.com"
%% ServerHost = "example.com"
get_connection_params(Host, From, IRCServer) -> 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, #jid{user = User, server = _Server,
luser = LUser, lserver = LServer} = From, luser = LUser, lserver = LServer} = From,
US = {LUser, LServer}, US = {LUser, LServer},
DefaultEncoding = get_default_encoding(ServerHost),
case catch mnesia:dirty_read({irc_custom, {US, Host}}) of case catch mnesia:dirty_read({irc_custom, {US, Host}}) of
{'EXIT', _Reason} -> {'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}] -> [#irc_custom{data = Data}] ->
Username = xml:get_attr_s(username, Data), Username = xml:get_attr_s(username, Data),
{NewUsername, NewEncoding, NewPort, NewPassword} = {NewUsername, NewEncoding, NewPort, NewPassword} =
@ -682,7 +698,7 @@ get_connection_params(Host, From, IRCServer) ->
{value, {_, Encoding}} -> {value, {_, Encoding}} ->
{Username, Encoding, ?DEFAULT_IRC_PORT, ""}; {Username, Encoding, ?DEFAULT_IRC_PORT, ""};
_ -> _ ->
{Username, ?DEFAULT_IRC_ENCODING, ?DEFAULT_IRC_PORT, ""} {Username, DefaultEncoding, ?DEFAULT_IRC_PORT, ""}
end, end,
{NewUsername, {NewUsername,
NewEncoding, NewEncoding,
@ -881,7 +897,7 @@ generate_connection_params_fields(Lang, [ConnectionParams | ConnectionsParams],
generate_connection_params_field(Lang, Server, Encoding, Port, Password, Number) -> generate_connection_params_field(Lang, Server, Encoding, Port, Password, Number) ->
EncodingUsed = case Encoding of EncodingUsed = case Encoding of
[] -> [] ->
?DEFAULT_IRC_ENCODING; get_default_encoding(Server);
_ -> _ ->
Encoding Encoding
end, end,

View File

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

View File

@ -750,7 +750,7 @@ iq_get_register_info(Host, From, Lang) ->
[{xmlelement, "instructions", [], [{xmlelement, "instructions", [],
[{xmlcdata, [{xmlcdata,
translate:translate( 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", {xmlelement, "x",
[{"xmlns", ?NS_XDATA}], [{"xmlns", ?NS_XDATA}],
[{xmlelement, "title", [], [{xmlelement, "title", [],

View File

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

View File

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

View File

@ -60,11 +60,11 @@
%% exports for hooks %% exports for hooks
-export([presence_probe/3, -export([presence_probe/3,
caps_update/3,
in_subscription/6, in_subscription/6,
out_subscription/4, out_subscription/4,
on_user_offline/3, on_user_offline/3,
remove_user/2, remove_user/2,
feature_check_packet/6,
disco_local_identity/5, disco_local_identity/5,
disco_local_features/5, disco_local_features/5,
disco_local_items/5, disco_local_items/5,
@ -208,7 +208,7 @@ init([ServerHost, Opts]) ->
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50), ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
case lists:member(?PEPNODE, Plugins) of case lists:member(?PEPNODE, Plugins) of
true -> 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_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 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), 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]), Plugins = gen_mod:get_opt(plugins, Opts, [?STDNODE]),
PepMapping = gen_mod:get_opt(pep_mapping, Opts, []), PepMapping = gen_mod:get_opt(pep_mapping, Opts, []),
?DEBUG("** PEP Mapping : ~p~n",[PepMapping]), ?DEBUG("** PEP Mapping : ~p~n",[PepMapping]),
lists:foreach(fun(Name) -> PluginsOK = lists:foldl(fun(Name, Acc) ->
?DEBUG("** init ~s plugin",[Name]),
Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name), Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name),
Plugin:init(Host, ServerHost, Opts) case catch apply(Plugin, init, [Host, ServerHost, Opts]) of
end, Plugins), {'EXIT', _Error} ->
{Plugins, TreePlugin, PepMapping}. Acc;
_ ->
?DEBUG("** init ~s plugin",[Name]),
[Name | Acc]
end
end, [], Plugins),
{lists:reverse(PluginsOK), TreePlugin, PepMapping}.
terminate_plugins(Host, ServerHost, Plugins, TreePlugin) -> terminate_plugins(Host, ServerHost, Plugins, TreePlugin) ->
lists:foreach(fun(Name) -> lists:foreach(fun(Name) ->
@ -724,6 +729,10 @@ disco_items(Host, Node, From) ->
%% presence hooks handling functions %% 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) -> 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)]), %%?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}), presence(Server, {presence, JID, Pid}),
@ -894,7 +903,7 @@ terminate(_Reason, #state{host = Host,
ejabberd_router:unregister_route(Host), ejabberd_router:unregister_route(Host),
case lists:member(?PEPNODE, Plugins) of case lists:member(?PEPNODE, Plugins) of
true -> 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_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 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), 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 SubAttrs = case Subscription of
{subscribed, SubId} -> {subscribed, SubId} ->
[{"subscription", subscription_to_string(subscribed)}, [{"subscription", subscription_to_string(subscribed)},
{"subid", SubId}]; {"subid", SubId},
{"node",Node}];
Other -> Other ->
[{"subscription", subscription_to_string(Other)}] [{"subscription", subscription_to_string(Other)},
{"node", Node}]
end, end,
Fields = Fields =
[{"jid", jlib:jid_to_string(Subscriber)} | SubAttrs], [{"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 %% 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 %% Also, add "replyto" if entity has presence subscription to the account owner
%% See XEP-0163 1.1 section 4.3.1 %% See XEP-0163 1.1 section 4.3.1
Sender = jlib:make_jid(LUser, LServer, ""), ejabberd_c2s:broadcast(C2SPid,
ReplyTo = jlib:jid_to_string(Publisher), {pep_message, binary_to_list(Node)++"+notify"},
StanzaToSend = add_extended_headers(Stanza, extended_headers([ReplyTo])), _Sender = jlib:make_jid(LUser, LServer, ""),
case catch ejabberd_c2s:get_subscribed(C2SPid) of _StanzaToSend = add_extended_headers(Stanza,
Contacts when is_list(Contacts) -> _ReplyTo = extended_headers([jlib:jid_to_string(Publisher)])));
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;
_ -> _ ->
?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza]) ?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza])
end; end;
@ -3728,7 +3724,7 @@ tree_action(Host, Function, Args) ->
node_call(Type, Function, Args) -> node_call(Type, Function, Args) ->
?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]), ?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]),
Module = list_to_atom(?PLUGIN_PREFIX++Type), Module = list_to_atom(?PLUGIN_PREFIX++Type),
case catch apply(Module, Function, Args) of case apply(Module, Function, Args) of
{result, Result} -> {result, Result}; {result, Result} -> {result, Result};
{error, Error} -> {error, Error}; {error, Error} -> {error, Error};
{'EXIT', {undef, Undefined}} -> {'EXIT', {undef, Undefined}} ->
@ -3865,59 +3861,6 @@ subid_shim(SubIDs) ->
extended_headers(Jids) -> extended_headers(Jids) ->
[{xmlelement, "address", [{"type", "replyto"}, {"jid", Jid}], []} || Jid <- 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, _) -> on_user_offline(_, JID, _) ->
{User, Server, Resource} = jlib:jid_tolower(JID), {User, Server, Resource} = jlib:jid_tolower(JID),
case ejabberd_sm:get_user_resources(User, Server) of case ejabberd_sm:get_user_resources(User, Server) of

View File

@ -60,11 +60,11 @@
%% exports for hooks %% exports for hooks
-export([presence_probe/3, -export([presence_probe/3,
caps_update/3,
in_subscription/6, in_subscription/6,
out_subscription/4, out_subscription/4,
on_user_offline/3, on_user_offline/3,
remove_user/2, remove_user/2,
feature_check_packet/6,
disco_local_identity/5, disco_local_identity/5,
disco_local_features/5, disco_local_features/5,
disco_local_items/5, disco_local_items/5,
@ -207,7 +207,7 @@ init([ServerHost, Opts]) ->
ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50), ejabberd_hooks:add(anonymous_purge_hook, ServerHost, ?MODULE, remove_user, 50),
case lists:member(?PEPNODE, Plugins) of case lists:member(?PEPNODE, Plugins) of
true -> 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_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:add(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 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), 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]), Plugins = gen_mod:get_opt(plugins, Opts, [?STDNODE]),
PepMapping = gen_mod:get_opt(pep_mapping, Opts, []), PepMapping = gen_mod:get_opt(pep_mapping, Opts, []),
?DEBUG("** PEP Mapping : ~p~n",[PepMapping]), ?DEBUG("** PEP Mapping : ~p~n",[PepMapping]),
lists:foreach(fun(Name) -> PluginsOK = lists:foldl(fun(Name, Acc) ->
?DEBUG("** init ~s plugin",[Name]),
Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name), Plugin = list_to_atom(?PLUGIN_PREFIX ++ Name),
Plugin:init(Host, ServerHost, Opts) case catch apply(Plugin, init, [Host, ServerHost, Opts]) of
end, Plugins), {'EXIT', _Error} ->
{Plugins, TreePlugin, PepMapping}. Acc;
_ ->
?DEBUG("** init ~s plugin",[Name]),
[Name | Acc]
end
end, [], Plugins),
{lists:reverse(PluginsOK), TreePlugin, PepMapping}.
terminate_plugins(Host, ServerHost, Plugins, TreePlugin) -> terminate_plugins(Host, ServerHost, Plugins, TreePlugin) ->
lists:foreach(fun(Name) -> lists:foreach(fun(Name) ->
@ -530,6 +535,10 @@ disco_items(Host, Node, From) ->
%% presence hooks handling functions %% 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) -> 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)]), %%?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}), presence(Server, {presence, JID, Pid}),
@ -573,13 +582,15 @@ out_subscription(User, Server, JID, subscribed) ->
[] -> user_resources(PUser, PServer); [] -> user_resources(PUser, PServer);
_ -> [PResource] _ -> [PResource]
end, end,
presence(Server, {presence, PUser, PServer, PResources, Owner}); presence(Server, {presence, PUser, PServer, PResources, Owner}),
true;
out_subscription(_,_,_,_) -> out_subscription(_,_,_,_) ->
ok. true.
in_subscription(_, User, Server, Owner, unsubscribed, _) -> 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(_, _, _, _, _, _) -> in_subscription(_, _, _, _, _, _) ->
ok. true.
unsubscribe_user(Entity, Owner) -> unsubscribe_user(Entity, Owner) ->
BJID = jlib:jid_tolower(jlib:jid_remove_resource(Owner)), BJID = jlib:jid_tolower(jlib:jid_remove_resource(Owner)),
@ -698,7 +709,7 @@ terminate(_Reason, #state{host = Host,
ejabberd_router:unregister_route(Host), ejabberd_router:unregister_route(Host),
case lists:member(?PEPNODE, Plugins) of case lists:member(?PEPNODE, Plugins) of
true -> 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_identity, ServerHost, ?MODULE, disco_sm_identity, 75),
ejabberd_hooks:delete(disco_sm_features, ServerHost, ?MODULE, disco_sm_features, 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), 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 SubAttrs = case Subscription of
{subscribed, SubId} -> {subscribed, SubId} ->
[{"subscription", subscription_to_string(subscribed)}, [{"subscription", subscription_to_string(subscribed)},
{"subid", SubId}]; {"subid", SubId},
{"node",Node}];
Other -> Other ->
[{"subscription", subscription_to_string(Other)}] [{"subscription", subscription_to_string(Other)},
{"node", Node}]
end, end,
Fields = Fields =
[{"jid", jlib:jid_to_string(Subscriber)} | SubAttrs], [{"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 %% 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 %% Also, add "replyto" if entity has presence subscription to the account owner
%% See XEP-0163 1.1 section 4.3.1 %% See XEP-0163 1.1 section 4.3.1
Sender = jlib:make_jid(LUser, LServer, ""), ejabberd_c2s:broadcast(C2SPid,
ReplyTo = jlib:jid_to_string(Publisher), {pep_message, binary_to_list(Node)++"+notify"},
StanzaToSend = add_extended_headers(Stanza, extended_headers([ReplyTo])), _Sender = jlib:make_jid(LUser, LServer, ""),
case catch ejabberd_c2s:get_subscribed(C2SPid) of _StanzaToSend = add_extended_headers(Stanza,
Contacts when is_list(Contacts) -> _ReplyTo = extended_headers([jlib:jid_to_string(Publisher)])));
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;
_ -> _ ->
?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza]) ?DEBUG("~p@~p has no session; can't deliver ~p to contacts", [LUser, LServer, BaseStanza])
end; end;
@ -3573,7 +3571,7 @@ tree_action(Host, Function, Args) ->
node_call(Type, Function, Args) -> node_call(Type, Function, Args) ->
?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]), ?DEBUG("node_call ~p ~p ~p",[Type, Function, Args]),
Module = list_to_atom(?PLUGIN_PREFIX++Type), Module = list_to_atom(?PLUGIN_PREFIX++Type),
case catch apply(Module, Function, Args) of case apply(Module, Function, Args) of
{result, Result} -> {result, Result}; {result, Result} -> {result, Result};
{error, Error} -> {error, Error}; {error, Error} -> {error, Error};
{'EXIT', {undef, Undefined}} -> {'EXIT', {undef, Undefined}} ->
@ -3736,59 +3734,6 @@ subid_shim(SubIDs) ->
extended_headers(Jids) -> extended_headers(Jids) ->
[{xmlelement, "address", [{"type", "replyto"}, {"jid", Jid}], []} || Jid <- 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, _) -> on_user_offline(_, JID, _) ->
{User, Server, Resource} = jlib:jid_tolower(JID), {User, Server, Resource} = jlib:jid_tolower(JID),
case ejabberd_sm:get_user_resources(User, Server) of case ejabberd_sm:get_user_resources(User, Server) of

View File

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

View File

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

View File

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

View File

@ -88,11 +88,18 @@ unauthenticated_iq_register(Acc, _Server, _IQ, _IP) ->
Acc. Acc.
process_iq(From, To, IQ) -> 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, process_iq(From, To,
#iq{type = Type, lang = Lang, sub_el = SubEl, id = ID} = IQ, #iq{type = Type, lang = Lang, sub_el = SubEl, id = ID} = IQ,
Source) -> Source) ->
IsCaptchaEnabled = case gen_mod:get_module_opt(
To#jid.lserver, ?MODULE, captcha_protected, false) of
true ->
true;
_ ->
false
end,
case Type of case Type of
set -> set ->
UTag = xml:get_subtag(SubEl, "username"), UTag = xml:get_subtag(SubEl, "username"),
@ -162,103 +169,190 @@ process_iq(From, To,
(UTag /= false) and (PTag /= false) -> (UTag /= false) and (PTag /= false) ->
User = xml:get_tag_cdata(UTag), User = xml:get_tag_cdata(UTag),
Password = xml:get_tag_cdata(PTag), Password = xml:get_tag_cdata(PTag),
case From of try_register_or_set_password(
#jid{user = User, lserver = Server} -> User, Server, Password, From,
try_set_password(User, Server, Password, IQ, SubEl); IQ, SubEl, Source, Lang, not IsCaptchaEnabled);
_ -> IsCaptchaEnabled ->
case check_from(From, Server) of case ejabberd_captcha:process_reply(SubEl) of
allow -> ok ->
case try_register(User, Server, Password, case process_xdata_submit(SubEl) of
Source, Lang) of {ok, User, Password} ->
ok -> try_register_or_set_password(
IQ#iq{type = result, User, Server, Password, From,
sub_el = [SubEl]}; IQ, SubEl, Source, Lang, true);
{error, Error} -> _ ->
IQ#iq{type = error,
sub_el = [SubEl, Error]}
end;
deny ->
IQ#iq{type = error, IQ#iq{type = error,
sub_el = [SubEl, ?ERR_FORBIDDEN]} sub_el = [SubEl, ?ERR_BAD_REQUEST]}
end 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; end;
true -> true ->
IQ#iq{type = error, IQ#iq{type = error,
sub_el = [SubEl, ?ERR_BAD_REQUEST]} sub_el = [SubEl, ?ERR_BAD_REQUEST]}
end; end;
get -> get ->
{UsernameSubels, QuerySubels} = {IsRegistered, UsernameSubels, QuerySubels} =
case From of case From of
#jid{user = User, lserver = Server} -> #jid{user = User, lserver = Server} ->
case ejabberd_auth:is_user_exists(User,Server) of case ejabberd_auth:is_user_exists(User,Server) of
true -> true ->
{[{xmlcdata, User}], [{xmlelement, "registered", [], []}]}; {true, [{xmlcdata, User}],
[{xmlelement, "registered", [], []}]};
false -> false ->
{[{xmlcdata, User}], []} {false, [{xmlcdata, User}], []}
end; end;
_ -> _ ->
{[], []} {false, [], []}
end, end,
IQ#iq{type = result, if IsCaptchaEnabled and not IsRegistered ->
sub_el = [{xmlelement, TopInstrEl = {xmlelement, "instructions", [],
"query", [{xmlcdata,
[{"xmlns", "jabber:iq:register"}], translate:translate(
[{xmlelement, "instructions", [], Lang, "You need a client that supports x:data "
"and CAPTCHA to register")}]},
InstrEl = {xmlelement, "instructions", [],
[{xmlcdata, [{xmlcdata,
translate:translate( translate:translate(
Lang, Lang,
"Choose a username and password " "Choose a username and password "
"to register with this server")}]}, "to register with this server")}]},
{xmlelement, "username", [], UsernameSubels}, UField = {xmlelement, "field",
{xmlelement, "password", [], []} [{"type", "text-single"},
| QuerySubels]}]} {"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. end.
%% @doc Try to change password and return IQ response %% @doc Try to change password and return IQ response
try_set_password(User, Server, Password, IQ, SubEl) -> try_set_password(User, Server, Password, IQ, SubEl, Lang) ->
case ejabberd_auth:set_password(User, Server, Password) of case is_strong_password(Server, Password) of
ok -> true ->
IQ#iq{type = result, sub_el = [SubEl]}; case ejabberd_auth:set_password(User, Server, Password) of
{error, empty_password} -> ok ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]}; IQ#iq{type = result, sub_el = [SubEl]};
{error, not_allowed} -> {error, empty_password} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]}; IQ#iq{type = error, sub_el = [SubEl, ?ERR_BAD_REQUEST]};
{error, invalid_jid} -> {error, not_allowed} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_ITEM_NOT_FOUND]}; IQ#iq{type = error, sub_el = [SubEl, ?ERR_NOT_ALLOWED]};
_ -> {error, invalid_jid} ->
IQ#iq{type = error, sub_el = [SubEl, ?ERR_INTERNAL_SERVER_ERROR]} 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. end.
try_register(User, Server, Password, Source, Lang) -> try_register(User, Server, Password, SourceRaw, Lang) ->
case jlib:is_nodename(User) of case jlib:is_nodename(User) of
false -> false ->
{error, ?ERR_BAD_REQUEST}; {error, ?ERR_BAD_REQUEST};
_ -> _ ->
JID = jlib:make_jid(User, Server, ""), JID = jlib:make_jid(User, Server, ""),
Access = gen_mod:get_module_opt(Server, ?MODULE, access, all), Access = gen_mod:get_module_opt(Server, ?MODULE, access, all),
case acl:match_rule(Server, Access, JID) of IPAccess = get_ip_access(Server),
deny -> case {acl:match_rule(Server, Access, JID),
check_ip_access(SourceRaw, IPAccess)} of
{deny, _} ->
{error, ?ERR_FORBIDDEN}; {error, ?ERR_FORBIDDEN};
allow -> {_, deny} ->
{error, ?ERR_FORBIDDEN};
{allow, allow} ->
Source = may_remove_resource(SourceRaw),
case check_timeout(Source) of case check_timeout(Source) of
true -> true ->
case ejabberd_auth:try_register(User, Server, Password) of case is_strong_password(Server, Password) of
{atomic, ok} -> true ->
send_welcome_message(JID), case ejabberd_auth:try_register(
send_registration_notifications(JID, Source), User, Server, Password) of
ok; {atomic, ok} ->
Error -> send_welcome_message(JID),
remove_timeout(Source), send_registration_notifications(JID, Source),
case Error of ok;
{atomic, exists} -> Error ->
{error, ?ERR_CONFLICT}; remove_timeout(Source),
{error, invalid_jid} -> case Error of
{error, ?ERR_JID_MALFORMED}; {atomic, exists} ->
{error, not_allowed} -> {error, ?ERR_CONFLICT};
{error, ?ERR_NOT_ALLOWED}; {error, invalid_jid} ->
{error, _Reason} -> {error, ?ERR_JID_MALFORMED};
{error, ?ERR_INTERNAL_SERVER_ERROR} {error, not_allowed} ->
end {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; end;
false -> false ->
ErrText = "Users are not allowed to register " 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}}) -> write_time({{Y,Mo,D},{H,Mi,S}}) ->
io_lib:format("~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w", io_lib:format("~w-~.2.0w-~.2.0w ~.2.0w:~.2.0w:~.2.0w",
[Y, Mo, D, H, Mi, S]). [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), {UTC, UTC_diff} = jlib:timestamp_to_iso(Now_universal, utc),
Seconds_diff = calendar:datetime_to_gregorian_seconds(Now_local) Seconds_diff = calendar:datetime_to_gregorian_seconds(Now_local)
- calendar:datetime_to_gregorian_seconds(Now_universal), - calendar:datetime_to_gregorian_seconds(Now_universal),
{Hd, Md, _} = case Seconds_diff >= 0 of {Hd, Md, _} = calendar:seconds_to_time(abs(Seconds_diff)),
true -> {_, TZO_diff} = jlib:timestamp_to_iso({{0, 0, 0}, {0, 0, 0}}, {sign(Seconds_diff), {Hd, Md}}),
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}),
IQ#iq{type = result, IQ#iq{type = result,
sub_el = [{xmlelement, "time", sub_el = [{xmlelement, "time",
[{"xmlns", ?NS_TIME}], [{"xmlns", ?NS_TIME}],
@ -93,4 +87,5 @@ process_local_iq(_From, _To, #iq{type = Type, sub_el = SubEl} = IQ) ->
[{xmlcdata, UTC ++ UTC_diff}]}]}]} [{xmlcdata, UTC ++ UTC_diff}]}]}]}
end. 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 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 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 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"}. {"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 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"}. {"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-Language: Catalan (català)\n"
"X-Additional-Translator: Vicent Alberola Canet\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" msgid "Use of STARTTLS required"
msgstr "És obligatori utilitzar STARTTLS" msgstr "És obligatori utilitzar STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Recurs no disponible" msgstr "Recurs no disponible"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Reemplaçat per una nova connexió" 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" msgid "Enter the text you see"
msgstr "Introdueix el textque veus" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Els teus missatges per ~s s'estan bloquejant. Per desbloquejar-los, visita ~s" "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." msgid "The captcha is valid."
msgstr "El captcha es vàlid." msgstr "El captcha es vàlid."
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "ID Jabber" msgstr "ID Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
@ -434,17 +446,17 @@ msgstr "Transport a IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "mòdul ejabberd IRC" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Necessites un client amb suport x:data per a configurar les opcions de " "Necessites un client amb suport x:data per a configurar les opcions de "
"mod_irc" "mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registre en mod_irc per a" msgstr "Registre en mod_irc per a"
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -452,11 +464,11 @@ msgstr ""
"Introdueix el nom d'usuari, les codificacions de caràcters, els ports i " "Introdueix el nom d'usuari, les codificacions de caràcters, els ports i "
"contrassenyes per a utilitzar al connectar als servidors de IRC " "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" msgid "IRC Username"
msgstr "Nom d'usuari al IRC" msgstr "Nom d'usuari al IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -468,7 +480,7 @@ msgstr ""
"\"codificació\", port, \"contrassenya\"}'. Aquest servei utilitza per " "\"codificació\", port, \"contrassenya\"}'. Aquest servei utilitza per "
"defecte la codificació \"~s\", port ~p, no contrassenya." "defecte la codificació \"~s\", port ~p, no contrassenya."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -476,35 +488,35 @@ msgstr ""
"Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Paràmetres de connexió" msgstr "Paràmetres de connexió"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Entra a canal d'IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Canal d'IRC (no posis la primera #)" msgstr "Canal d'IRC (no posis la primera #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Servidor d'IRC" 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." msgid "Join the IRC channel here."
msgstr "Entra al canal d'IRC aquí." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra al canal d'IRC en aquesta 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" msgid "IRC settings"
msgstr "Configuració d'IRC." msgstr "Configuració d'IRC."
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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. " "als servidors de IRC. Apreta \"Seguent\" per veure més caps per omplir. "
"Apreta \"Completar\" per guardar la configuració. " "Apreta \"Completar\" per guardar la configuració. "
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Nom d'usuari al IRC" msgstr "Nom d'usuari al IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Password ~b" msgstr "Password ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Codificació pel servidor ~b" msgstr "Codificació pel servidor ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Servidor ~b" msgstr "Servidor ~b"
@ -553,7 +565,8 @@ msgid "Chatrooms"
msgstr "Sales de xat" msgstr "Sales de xat"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Necessites un client amb suport x:data per a poder registrar el Nickname" "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" msgid "Nickname"
msgstr "Nickname" msgstr "Nickname"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "El nickname ja està registrat per una altra persona" msgstr "El nickname ja està registrat per una altra persona"
@ -621,7 +634,7 @@ msgid "is now known as"
msgstr "ara es conegut com" msgstr "ara es conegut com"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " ha posat l'assumpte: " msgstr " ha posat l'assumpte: "
@ -725,10 +738,6 @@ msgstr "Configuració de la sala"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Nombre d'ocupants" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "El llímit de tràfic ha sigut sobrepassat" 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" msgid "Recipient is not in the conference room"
msgstr "El receptor no està en la sala de conferència" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sols els ocupants poden enviar missatges a la sala" 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" 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" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "" msgstr ""
"Només els moderadors i participants poden canviar l'assumpte d'aquesta sala" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Només els moderadors poden canviar l'assumpte d'aquesta sala" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Els visitants no poden enviar missatges a tots els ocupants" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Aquest participant ha sigut expulsat de la sala perque ha enviat un error de " "Aquest participant ha sigut expulsat de la sala perque ha enviat un error de "
"presencia" "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" 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" 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" msgid "That nickname is already in use by another occupant"
msgstr "El Nickname està siguent utilitzat per una altra persona" 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" msgid "You have been banned from this room"
msgstr "Has sigut bloquejat en aquesta sala" 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" msgid "Membership is required to enter this room"
msgstr "Necessites ser membre d'aquesta sala per a poder entrar" 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" msgid "This room is not anonymous"
msgstr "Aquesta sala no és anònima" 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" msgid "A password is required to enter this room"
msgstr "Es necessita password per a entrar en aquesta sala" 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" msgid "Unable to generate a captcha"
msgstr "No s'ha pogut generar un 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" msgid "Incorrect password"
msgstr "Password incorrecte" msgstr "Password incorrecte"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Es necessita tenir privilegis d'administrador" 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" msgid "Moderator privileges required"
msgstr "Es necessita tenir privilegis de moderador" 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" msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no és vàlid" 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" msgid "Nickname ~s does not exist in the room"
msgstr "El Nickname ~s no existeix a la sala" 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" msgid "Invalid affiliation: ~s"
msgstr "Afiliació invàlida: ~s" msgstr "Afiliació invàlida: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Rol invàlid: ~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" msgid "Owner privileges required"
msgstr "Es requerixen privilegis de propietari de la sala" 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" msgid "Configuration of room ~s"
msgstr "Configuració de la sala ~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" msgid "Room description"
msgstr "Descripció de la sala:" msgstr "Descripció de la sala:"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Crear una sala 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" msgid "Make room public searchable"
msgstr "Crear una sala pública" 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" msgid "Make participants list public"
msgstr "Crear una llista de participants pública" 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" msgid "Make room password protected"
msgstr "Crear una sala amb password" 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" msgid "Maximum Number of Occupants"
msgstr "Número màxim d'ocupants" msgstr "Número màxim d'ocupants"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Sense Llímit" msgstr "Sense Llímit"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Presentar Jabber ID's reals a" msgstr "Presentar Jabber ID's reals a"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "només moderadors" msgstr "només moderadors"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "qualsevol" msgstr "qualsevol"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Crear una sala de \"només membres\"" 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" msgid "Make room moderated"
msgstr "Crear una sala moderada" msgstr "Crear una sala moderada"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Els usuaris són participants per defecte" 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" msgid "Allow users to change the subject"
msgstr "Permetre que els usuaris canviin el tema" 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" msgid "Allow users to send private messages"
msgstr "Permetre que els usuaris envien missatges privats" 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" msgid "Allow users to query other users"
msgstr "Permetre que els usuaris fagen peticions a altres usuaris" 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" msgid "Allow users to send invites"
msgstr "Permetre que els usuaris envien invitacions" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Permetre als visitants enviar text d'estat en les actualitzacions de " "Permetre als visitants enviar text d'estat en les actualitzacions de "
"presència" "presència"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Permetre als visitants canviar el 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" msgid "Make room captcha protected"
msgstr "Crear una sala protegida per captcha" msgstr "Crear una sala protegida per captcha"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Habilitar el registre de la conversa" 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" msgid "You need an x:data capable client to configure room"
msgstr "Necessites un client amb suport x:data per a configurar la sala" 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" msgid "Number of occupants"
msgstr "Número d'ocupants" msgstr "Número d'ocupants"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privat" msgstr "privat"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s et convida a la sala ~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" msgid "the password is"
msgstr "el password és" msgstr "el password és"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "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" 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" msgid "~s's Offline Messages Queue"
msgstr "~s's cua de missatges offline" msgstr "~s's cua de missatges offline"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1006,20 +1019,20 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "Per a" msgstr "Per a"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paquet" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminar els seleccionats" 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:" msgid "Offline Messages:"
msgstr "Missatges fora de línia:" 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" msgid "Remove All Offline Messages"
msgstr "Eliminar tots els missatges offline" msgstr "Eliminar tots els missatges offline"
@ -1027,111 +1040,136 @@ msgstr "Eliminar tots els missatges offline"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "mòdul ejabberd SOCKS5 Bytestreams" 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" msgid "Publish-Subscribe"
msgstr "Publicar-subscriure't" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Mòdul ejannerd Publicar-Subscriure" 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" msgid "PubSub subscriber request"
msgstr "Petició de subscriptor PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Tria si aprova aquesta entitat de subscripció" 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" msgid "Node ID"
msgstr "ID del Node" 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" msgid "Subscriber Address"
msgstr "Adreça del Subscriptor" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Permetre que aquesta Jabber ID es puga subscriure a aquest node pubsub" 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" msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads junt a les notificacions d'events" 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" msgid "Deliver event notifications"
msgstr "Entrega de notificacions d'events" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptors quan canvia la configuració del node" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptors quan el node és eliminat" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptors quan els elements són eliminats del 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" msgid "Persist items to storage"
msgstr "Persistir elements al guardar" 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" msgid "A friendly name for the node"
msgstr "Un nom per al 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" msgid "Max # of items to persist"
msgstr "Màxim # d'elements que persistixen" 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" msgid "Whether to allow subscriptions"
msgstr "Permetre subscripcions" 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" msgid "Specify the access model"
msgstr "Especificar el model d'accés" 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" msgid "Roster groups allowed to subscribe"
msgstr "Llista de grups que tenen permés subscriures" 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" msgid "Specify the publisher model"
msgstr "Especificar el model del publicant" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Eliminar tots els elements quan el publicant relevant es desconnecti" 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" msgid "Specify the event message type"
msgstr "Especifica el tipus de missatge d'event" 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" msgid "Max payload size in bytes"
msgstr "Màxim tamany del payload en 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" msgid "When to send the last published item"
msgstr "Quan s'ha enviat l'última publicació" 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" msgid "Only deliver notifications to available users"
msgstr "Sols enviar notificacions als usuaris disponibles" 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" msgid "The collections with which a node is affiliated"
msgstr "Les col.leccions amb les que un node està afiliat" 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" 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" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Els usuaris no tenen permís per a crear comptes tan depresa" msgstr "Els usuaris no tenen permís per a crear comptes tan depresa"
@ -1165,13 +1203,13 @@ msgstr "Borrar"
msgid "Roster of " msgid "Roster of "
msgstr "Llista de contactes de " msgstr "Llista de contactes de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Format erroni" msgstr "Format erroni"
@ -1183,37 +1221,37 @@ msgstr "Afegir Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Llista de contactes" msgstr "Llista de contactes"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Grups de contactes compartits" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Afegir nou" msgstr "Afegir nou"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nom:" msgstr "Nom:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Descripció:" msgstr "Descripció:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Membre:" msgstr "Membre:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Mostrar grups:" msgstr "Mostrar grups:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grup " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1285,11 +1323,6 @@ msgstr "Unitat de la organizació"
msgid "Search users in " msgid "Search users in "
msgstr "Cerca usuaris en " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Necesites un client amb suport x:data per a poder buscar" 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:" msgid "Outgoing s2s Servers:"
msgstr "Servidors d'eixida de s2s" 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" msgid "Change Password"
msgstr "Canviar password" msgstr "Canviar password"
@ -1424,7 +1459,8 @@ msgstr "Usuari "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Recursos connectats:" 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:" msgid "Password:"
msgstr "Password:" msgstr "Password:"
@ -1634,3 +1670,123 @@ msgstr "Eliminar"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Iniciar" 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"}. {"Backup","Zálohovat"}.
{"Bad format","Nesprávný formát"}. {"Bad format","Nesprávný formát"}.
{"Birthday","Datum narození"}. {"Birthday","Datum narození"}.
{"CAPTCHA web page","Webová stránka CAPTCHA"}.
{"Change Password","Změnit heslo"}. {"Change Password","Změnit heslo"}.
{"Change User Password","Změnit heslo uživatele"}. {"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 configuration modified","Nastavení diskuzní místnosti bylo změněno"}.
{"Chatroom is created","Konference vytvořena"}. {"Chatroom is created","Konference vytvořena"}.
{"Chatroom is destroyed","Konference zrušena"}. {"Chatroom is destroyed","Konference zrušena"}.
@ -69,6 +71,7 @@
{"Description:","Popis:"}. {"Description:","Popis:"}.
{"Disc only copy","Jen kopie disku"}. {"Disc only copy","Jen kopie disku"}.
{"Displayed Groups:","Zobrazené skupiny:"}. {"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 Backup to Text File at ","Uložit zálohu do textového souboru na "}.
{"Dump to Text File","Uložit do textového souboru"}. {"Dump to Text File","Uložit do textového souboru"}.
{"Edit Properties","Upravit vlastnosti"}. {"Edit Properties","Upravit vlastnosti"}.
@ -120,6 +123,7 @@
{"has been kicked","byl(a) vyhozen(a) z místnosti"}. {"has been kicked","byl(a) vyhozen(a) z místnosti"}.
{" has set the subject to: "," změnil(a) téma na: "}. {" has set the subject to: "," změnil(a) téma na: "}.
{"Host","Hostitel"}. {"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."}. {"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 Directory","Import adresáře"}.
{"Import File","Import souboru"}. {"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","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 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"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s je neplatné"}. {"Jabber ID ~s is invalid","Jabber ID ~s je neplatné"}.
{"January",". ledna"}. {"January",". ledna"}.
@ -177,6 +182,7 @@
{"May",". května"}. {"May",". května"}.
{"Members:","Členové:"}. {"Members:","Členové:"}.
{"Membership is required to enter this room","Pro vstup do místnosti musíte být členem"}. {"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ěť"}. {"Memory","Paměť"}.
{"Message body","Tělo zprávy"}. {"Message body","Tělo zprávy"}.
{"Middle Name","Druhé jméno"}. {"Middle Name","Druhé jméno"}.
@ -190,6 +196,7 @@
{"Name:","Jméno:"}. {"Name:","Jméno:"}.
{"Name","Jméno"}. {"Name","Jméno"}.
{"Never","Nikdy"}. {"Never","Nikdy"}.
{"New Password:","Nové heslo:"}.
{"Nickname","Přezdívka"}. {"Nickname","Přezdívka"}.
{"Nickname Registration at ","Registrace přezdívky na "}. {"Nickname Registration at ","Registrace přezdívky na "}.
{"Nickname ~s does not exist in the room","Přezdívka ~s v místnosti neexistuje"}. {"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:"}.
{"Offline Messages","Offline zprávy"}. {"Offline Messages","Offline zprávy"}.
{"OK","OK"}. {"OK","OK"}.
{"Old Password:","Současné heslo:"}.
{"Online","Online"}. {"Online","Online"}.
{"Online Users:","Online uživatelé:"}. {"Online Users:","Online uživatelé:"}.
{"Online Users","Online uživatelé"}. {"Online Users","Online uživatelé"}.
@ -234,6 +242,7 @@
{"Password ~b","Heslo ~b"}. {"Password ~b","Heslo ~b"}.
{"Password:","Heslo:"}. {"Password:","Heslo:"}.
{"Password","Heslo"}. {"Password","Heslo"}.
{"Password Verification:","Ověření hesla:"}.
{"Password Verification","Ověření hesla"}. {"Password Verification","Ověření hesla"}.
{"Path to Dir","Cesta k adresáři"}. {"Path to Dir","Cesta k adresáři"}.
{"Path to File","Cesta k souboru"}. {"Path to File","Cesta k souboru"}.
@ -257,8 +266,10 @@
{"Raw","Zdroj"}. {"Raw","Zdroj"}.
{"Really delete message of the day?","Skutečně smazat zprávu dne?"}. {"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"}. {"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í uživatelé"}.
{"Registered Users:","Registrovaní živatelé:"}. {"Registered Users:","Registrovaní živatelé:"}.
{"Register","Zaregistrovat se"}.
{"Registration in mod_irc for ","Registrace do mod_irc na "}. {"Registration in mod_irc for ","Registrace do mod_irc na "}.
{"Remote copy","Vzdálená kopie"}. {"Remote copy","Vzdálená kopie"}.
{"Remove All Offline Messages","Odstranit všechny offline zprávy"}. {"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"}. {"Send announcement to all users on all hosts","Odeslat oznámení všem uživatelům na všech hostitelích"}.
{"September",". září"}. {"September",". září"}.
{"Server ~b","Server ~b"}. {"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 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"}. {"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ů"}. {"Shared Roster Groups","Skupiny pro sdílený seznam kontaktů"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Zobrazit běžnou tabulku"}. {"Show Ordinary Table","Zobrazit běžnou tabulku"}.
{"Shut Down Service","Vypnout službu"}. {"Shut Down Service","Vypnout službu"}.
{"~s invites you to the room ~s","~s vás zve do místnosti ~s"}. {"~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 access model","Uveďte přístupový model"}.
{"Specify the event message type","Zvolte typ zpráv pro události"}. {"Specify the event message type","Zvolte typ zpráv pro události"}.
{"Specify the publisher model","Specifikovat model pro publikování"}. {"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 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"}. {"That nickname is registered by another person","Přezdívka je zaregistrována jinou osobou"}.
{"The captcha is valid.","CAPTCHA souhlasí."}. {"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 collections with which a node is affiliated","Kolekce, se kterými je uzel spřízněn"}.
{"the password is","heslo je"}. {"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","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 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"}. {"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"}. {"Transactions Restarted:","Transakce restartována"}.
{"Tuesday","Úterý"}. {"Tuesday","Úterý"}.
{"Unable to generate a captcha","Nebylo možné vygenerovat CAPTCHA"}. {"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í"}. {"Unauthorized","Nemáte oprávnění"}.
{"Unregister a Jabber account","Zrušte registraci účtu Jabberu"}.
{"Unregister","Zrušit registraci"}.
{"Update ","Aktualizovat "}. {"Update ","Aktualizovat "}.
{"Update","Aktualizovat"}. {"Update","Aktualizovat"}.
{"Update message of the day (don't send)","Aktualizovat zprávu dne (neodesílat)"}. {"Update message of the day (don't send)","Aktualizovat zprávu dne (neodesílat)"}.
@ -355,6 +380,7 @@
{"Uptime:","Čas běhu:"}. {"Uptime:","Čas běhu:"}.
{"Use of STARTTLS required","Je vyžadováno STARTTLS."}. {"Use of STARTTLS required","Je vyžadováno STARTTLS."}.
{"User Management","Správa uživatelů"}. {"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 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 Last Activity","Poslední aktivita uživatele"}.
{"Users","Uživatelé"}. {"Users","Uživatelé"}.
@ -367,11 +393,16 @@
{"Wednesday","Středa"}. {"Wednesday","Středa"}.
{"When to send the last published item","Kdy odeslat poslední publikovanou položku"}. {"When to send the last published item","Kdy odeslat poslední publikovanou položku"}.
{"Whether to allow subscriptions","Povolit odebírání"}. {"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 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 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 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 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"}. {"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 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"}. {"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-Language: Czech (čeština)\n"
"X-Additional-Translator: Milos Svasek [DuxforD] from openheads.net\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" msgid "Use of STARTTLS required"
msgstr "Je vyžadováno STARTTLS." msgstr "Je vyžadováno STARTTLS."
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Nebyl poskytnut žádný zdroj" msgstr "Nebyl poskytnut žádný zdroj"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Nahrazeno novým spojením" 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" msgid "Enter the text you see"
msgstr "Zadejte text, který vidíte" 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" 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" 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." msgid "The captcha is valid."
msgstr "CAPTCHA souhlasí." msgstr "CAPTCHA souhlasí."
@ -360,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Heslo" msgstr "Heslo"
@ -431,15 +443,15 @@ msgstr "IRC transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul" 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" 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" 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 " msgid "Registration in mod_irc for "
msgstr "Registrace do mod_irc na " msgstr "Registrace do mod_irc na "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -447,11 +459,11 @@ msgstr ""
"Zadejte přezdívku, kódování, porty a hesla, které chcete používat pro " "Zadejte přezdívku, kódování, porty a hesla, které chcete používat pro "
"připojení k serverům IRC" "připojení k serverům IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC přezdívka" msgstr "IRC přezdívka"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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í " "ve formátu '{\"irc server\",\"encoding\", port, \"password\"}'. Výchozí "
"kódování pro tuto službu je \"~s\", port ~p, empty password." "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 "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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." "Příklad: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}].2\"}]." "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" msgid "Connections parameters"
msgstr "Parametry spojení" msgstr "Parametry spojení"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Vstoupit do IRC kanálu" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanál (bez počátečního #)" msgstr "IRC kanál (bez počátečního #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRC přezdívka" 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." msgid "Join the IRC channel here."
msgstr "Vstoupit do tohoto IRC kanálu." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Vstupte do IRC kanálu s tímto 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" msgid "IRC settings"
msgstr "Nastavení IRC" msgstr "Nastavení IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "IRC. Stiskněte 'Další' pro více políček k vyplnění. Stiskněte 'Dokončit' pro "
"uložení nastavení." "uložení nastavení."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC přezdívka" msgstr "IRC přezdívka"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Heslo ~b" msgstr "Heslo ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Kódování pro server ~b" msgstr "Kódování pro server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -545,8 +557,8 @@ msgid "Chatrooms"
msgstr "Konference" msgstr "Konference"
#: mod_muc/mod_muc.erl:711 #: 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 "K registraci přezdívky potřebujete klienta s podporou x:data" msgstr "Pro registraci přezdívky potřebujete klienta s podporou x:data"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at " msgid "Nickname Registration at "
@ -562,8 +574,8 @@ msgstr "Zadejte přezdívku, kterou chcete zaregistrovat"
msgid "Nickname" msgid "Nickname"
msgstr "Přezdívka" msgstr "Přezdívka"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Přezdívka je zaregistrována jinou osobou" msgstr "Přezdívka je zaregistrována jinou osobou"
@ -612,7 +624,7 @@ msgid "is now known as"
msgstr "se přejmenoval(a) na" msgstr "se přejmenoval(a) na"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " změnil(a) téma na: " msgstr " změnil(a) téma na: "
@ -716,10 +728,6 @@ msgstr "Nastavení místnosti"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Počet účastníků" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Byl překročen limit" 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" msgid "Recipient is not in the conference room"
msgstr "Příjemce se nenachází v konferenční místnosti" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Jen členové mají povolené zasílat zprávy do konference" 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 "" msgstr ""
"Požadavky (queries) na členy konference nejsou v této místnosti povolené" "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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Jen moderátoři a účastníci mají povoleno měnit téma této místnosti" 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" 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" 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" 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" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "Tento účastník byl vyhozen, protože odeslal chybový status" 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" 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" 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" msgid "That nickname is already in use by another occupant"
msgstr "Přezdívka je již používána jiným členem" 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" msgid "You have been banned from this room"
msgstr "Byl jste vyloučen z této místnosti" 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" msgid "Membership is required to enter this room"
msgstr "Pro vstup do místnosti musíte být členem" 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" msgid "This room is not anonymous"
msgstr "Tato místnost není anonymní" 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" msgid "A password is required to enter this room"
msgstr "Pro vstup do místnosti musíte zadat heslo" 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" msgid "Unable to generate a captcha"
msgstr "Nebylo možné vygenerovat CAPTCHA" msgstr "Nebylo možné vygenerovat CAPTCHA"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Nesprávné heslo" msgstr "Nesprávné heslo"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Potřebujete práva administrátora" 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" msgid "Moderator privileges required"
msgstr "Potřebujete práva moderátora" 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" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Přezdívka ~s v místnosti neexistuje" 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" msgid "Invalid affiliation: ~s"
msgstr "Neplatné přiřazení: ~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" msgid "Invalid role: ~s"
msgstr "Neplatná 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" msgid "Owner privileges required"
msgstr "Jsou vyžadována práva vlastníka" 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" msgid "Configuration of room ~s"
msgstr "Konfigurace místnosti ~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" msgid "Room description"
msgstr "Popis místnosti" msgstr "Popis místnosti"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Nastavit místnost jako stálou" 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" msgid "Make room public searchable"
msgstr "Nastavit místnost jako veřejnou" 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" msgid "Make participants list public"
msgstr "Nastavit seznam účastníků jako veřejný" 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" msgid "Make room password protected"
msgstr "Chránit místnost heslem" 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" msgid "Maximum Number of Occupants"
msgstr "Počet účastníků" msgstr "Počet účastníků"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Bez limitu" msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Odhalovat skutečná Jabber ID" msgstr "Odhalovat skutečná Jabber ID"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "moderátorům" msgstr "moderátorům"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "každému" msgstr "každému"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Zpřístupnit místnost jen členům" 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" msgid "Make room moderated"
msgstr "Nastavit místnost jako moderovanou" 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" msgid "Default users as participants"
msgstr "Uživatelé jsou implicitně členy" 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" msgid "Allow users to change the subject"
msgstr "Povolit uživatelům měnit téma místnosti" 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" msgid "Allow users to send private messages"
msgstr "Povolit uživatelům odesílat soukromé zprávy" 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" msgid "Allow users to query other users"
msgstr "Povolit uživatelům odesílat požadavky (query) ostatním uživatelům" 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" msgid "Allow users to send invites"
msgstr "Povolit uživatelům posílání pozvánek" 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" 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" 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" msgid "Allow visitors to change nickname"
msgstr "Povolit návštěvníkům měnit přezdívku" 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" msgid "Make room captcha protected"
msgstr "Chránit místnost pomocí CAPTCHA" msgstr "Chránit místnost pomocí CAPTCHA"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Zaznamenávat konverzace" 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" msgid "You need an x:data capable client to configure room"
msgstr "Ke konfiguraci místnosti potřebujete klienta podporujícího x:data" 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" msgid "Number of occupants"
msgstr "Počet účastníků" msgstr "Počet účastníků"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "soukromá, " msgstr "soukromá, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s vás zve do místnosti ~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" msgid "the password is"
msgstr "heslo je" msgstr "heslo je"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "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." 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" msgid "~s's Offline Messages Queue"
msgstr "Fronta offline zpráv uživatele ~s" msgstr "Fronta offline zpráv uživatele ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -991,20 +1003,20 @@ msgstr "Od"
msgid "To" msgid "To"
msgstr "Pro" msgstr "Pro"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Smazat vybrané" msgstr "Smazat vybrané"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Offline zprávy:" 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" msgid "Remove All Offline Messages"
msgstr "Odstranit všechny offline zprávy" msgstr "Odstranit všechny offline zprávy"
@ -1012,111 +1024,132 @@ msgstr "Odstranit všechny offline zprávy"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul" 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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul" 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" msgid "PubSub subscriber request"
msgstr "Žádost odběratele PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, zda chcete schválit odebírání touto entitou" 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" msgid "Node ID"
msgstr "ID uzlu" 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" msgid "Subscriber Address"
msgstr "Adresa odběratele" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Povolit tomuto Jabber ID odebírat tento pubsub uzel?" 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" msgid "Deliver payloads with event notifications"
msgstr "Doručovat náklad s upozorněním na událost" 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" msgid "Deliver event notifications"
msgstr "Doručovat upozornění na události" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Upozornit odběratele na změnu nastavení uzlu" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Upozornit odběratele na smazání uzlu" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Upozornit odběratele na odstranění položek z uzlu" 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" msgid "Persist items to storage"
msgstr "Uložit položky natrvalo do úložiště" 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" msgid "A friendly name for the node"
msgstr "Přívětivé jméno pro uzel" 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" msgid "Max # of items to persist"
msgstr "Maximální počet položek, které je možné natrvalo uložit" 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" msgid "Whether to allow subscriptions"
msgstr "Povolit odebírání" 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" msgid "Specify the access model"
msgstr "Uveďte přístupový 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" msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktů, které mohou odebírat" 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" msgid "Specify the publisher model"
msgstr "Specifikovat model pro publikování" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Smazat všechny položky, pokud se příslušný poskytovatel odpojí" 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" msgid "Specify the event message type"
msgstr "Zvolte typ zpráv pro události" 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" msgid "Max payload size in bytes"
msgstr "Maximální náklad v bajtech" 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" msgid "When to send the last published item"
msgstr "Kdy odeslat poslední publikovanou položku" 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" msgid "Only deliver notifications to available users"
msgstr "Doručovat upozornění jen právě přihlášeným uživatelům" 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" msgid "The collections with which a node is affiliated"
msgstr "Kolekce, se kterými je uzel spřízněn" 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" msgid "Choose a username and password to register with this server"
msgstr "Zadejte jméno uživatele a heslo pro registraci na tomto serveru" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Je zakázáno registrovat účty v tak rychlém sledu" msgstr "Je zakázáno registrovat účty v tak rychlém sledu"
@ -1150,13 +1183,13 @@ msgstr "Odstranit"
msgid "Roster of " msgid "Roster of "
msgstr "Seznam kontaktů " msgstr "Seznam kontaktů "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Nesprávný formát" msgstr "Nesprávný formát"
@ -1168,37 +1201,37 @@ msgstr "Přidat Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Seznam kontaktů" msgstr "Seznam kontaktů"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Skupiny pro sdílený seznam kontaktů" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Přidat nový" msgstr "Přidat nový"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Jméno:" msgstr "Jméno:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Popis:" msgstr "Popis:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Členové:" msgstr "Členové:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:" msgstr "Zobrazené skupiny:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Skupina " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1270,11 +1303,6 @@ msgstr "Oddělení"
msgid "Search users in " msgid "Search users in "
msgstr "Hledat uživatele v " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "K vyhledávání potřebujete klienta podporujícího x:data" 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:" msgid "Outgoing s2s Servers:"
msgstr "Odchozí s2s servery:" 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" msgid "Change Password"
msgstr "Změnit heslo" msgstr "Změnit heslo"
@ -1409,7 +1439,8 @@ msgstr "Uživatel "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Připojené zdroje:" 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:" msgid "Password:"
msgstr "Heslo:" msgstr "Heslo:"
@ -1619,3 +1650,126 @@ msgstr "Smazat"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "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 "}. {"Backup to File at ","Datensicherung in die Datei "}.
{"Bad format","Ungültiges Format"}. {"Bad format","Ungültiges Format"}.
{"Birthday","Geburtsdatum"}. {"Birthday","Geburtsdatum"}.
{"CAPTCHA web page","CAPTCHA Webseite"}.
{"Change Password","Passwort ändern"}. {"Change Password","Passwort ändern"}.
{"Change User Password","Benutzer-Passwort ändern"}. {"Change User Password","Benutzer-Passwort ändern"}.
{"Characters not allowed:","Nicht erlaubte Zeichen:"}.
{"Chatroom configuration modified","Chatraum-Konfiguration geändert"}. {"Chatroom configuration modified","Chatraum-Konfiguration geändert"}.
{"Chatroom is created","Chatraum wurde erstellt"}. {"Chatroom is created","Chatraum wurde erstellt"}.
{"Chatroom is destroyed","Chatraum wurde entfernt"}. {"Chatroom is destroyed","Chatraum wurde entfernt"}.
@ -50,7 +52,7 @@
{"Conference room does not exist","Konferenzraum existiert nicht"}. {"Conference room does not exist","Konferenzraum existiert nicht"}.
{"Configuration","Konfiguration"}. {"Configuration","Konfiguration"}.
{"Configuration of room ~s","Konfiguration für Raum ~s"}. {"Configuration of room ~s","Konfiguration für Raum ~s"}.
{"Connected Resources:","Verbundene Ressourcen"}. {"Connected Resources:","Verbundene Ressourcen:"}.
{"Connections parameters","Verbindungsparameter"}. {"Connections parameters","Verbindungsparameter"}.
{"Country","Land"}. {"Country","Land"}.
{"CPU Time:","CPU-Zeit:"}. {"CPU Time:","CPU-Zeit:"}.
@ -69,6 +71,7 @@
{"Description:","Beschreibung:"}. {"Description:","Beschreibung:"}.
{"Disc only copy","Nur auf Festplatte"}. {"Disc only copy","Nur auf Festplatte"}.
{"Displayed Groups:","Angezeigte Gruppen:"}. {"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 Backup to Text File at ","Ausgabe der Sicherung in diese Textdatei "}.
{"Dump to Text File","Ausgabe in Textdatei"}. {"Dump to Text File","Ausgabe in Textdatei"}.
{"Edit Properties","Einstellungen ändern"}. {"Edit Properties","Einstellungen ändern"}.
@ -85,7 +88,7 @@
{"Encoding for server ~b","Kodierung für Server ~b"}. {"Encoding for server ~b","Kodierung für Server ~b"}.
{"End User Session","Benutzer-Sitzung beenden"}. {"End User Session","Benutzer-Sitzung beenden"}.
{"Enter list of {Module, [Options]}","Geben sie eine Liste bestehend aus {Modul, [Optionen]} ein"}. {"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 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 dir","Geben Sie den Pfad zum jabberd14-Spool-Verzeichnis ein"}.
{"Enter path to jabberd14 spool file","Geben Sie den Pfad zur jabberd14-Spool-Datei ein"}. {"Enter path to 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 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 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"}. {"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"}. {"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\"}]."}. {"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:"}. {"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 been kicked","wurde gekickt"}.
{" has set the subject to: "," hat das Thema geändert auf: "}. {" has set the subject to: "," hat das Thema geändert auf: "}.
{"Host","Host"}. {"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 Directory","Verzeichnis importieren"}.
{"Import File","Datei importieren"}. {"Import File","Datei importieren"}.
{"Import user data from jabberd14 spool file:","Importiere Benutzer von jabberd14 Spool Datei:"}. {"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","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 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"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Die Jabber-ID ~s ist ungültig"}. {"Jabber ID ~s is invalid","Die Jabber-ID ~s ist ungültig"}.
{"January","Januar"}. {"January","Januar"}.
@ -177,6 +182,7 @@
{"May","Mai"}. {"May","Mai"}.
{"Membership is required to enter this room","Um diesen Raum zu betreten müssen sie Mitglied sein"}. {"Membership is required to enter this room","Um diesen Raum zu betreten müssen sie Mitglied sein"}.
{"Members:","Mitglieder:"}. {"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"}. {"Memory","Speicher"}.
{"Message body","Nachrichtentext"}. {"Message body","Nachrichtentext"}.
{"Middle Name","Zweiter Vorname"}. {"Middle Name","Zweiter Vorname"}.
@ -190,9 +196,10 @@
{"Name:","Name:"}. {"Name:","Name:"}.
{"Name","Vorname"}. {"Name","Vorname"}.
{"Never","Nie"}. {"Never","Nie"}.
{"Nickname Registration at ","Registrieren des Spitznamens bei"}. {"New Password:","Neues Passwort:"}.
{"Nickname ~s does not exist in the room","Der Spitzname ~s existiert im Raum nicht"}. {"Nickname","Benutzername"}.
{"Nickname","Spitzname"}. {"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 body provided for announce message","Kein Text für die Ankündigung angegeben"}.
{"No Data","Keine Daten"}. {"No Data","Keine Daten"}.
{"Node ID","Knoten-ID"}. {"Node ID","Knoten-ID"}.
@ -202,7 +209,7 @@
{"No limit","Keine Begrenzung"}. {"No limit","Keine Begrenzung"}.
{"None","Keine"}. {"None","Keine"}.
{"No resource provided","Keine Ressource angegeben"}. {"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 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 configuration changes","Abonnenten benachrichtigen, wenn sich die Knotenkonfiguration ändert"}.
{"Notify subscribers when the node is deleted","Abonnenten benachrichtigen, wenn der Knoten gelöscht wird"}. {"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:"}.
{"Offline Messages","Offline-Nachrichten"}. {"Offline Messages","Offline-Nachrichten"}.
{"OK","OK"}. {"OK","OK"}.
{"Old Password:","Aktuelles Passwort:"}.
{"Online","Angemeldet"}. {"Online","Angemeldet"}.
{"Online Users:","Angemeldete Benutzer:"}. {"Online Users:","Angemeldete Benutzer:"}.
{"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 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 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 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"}. {"Only service administrators are allowed to send service messages","Nur Service-Administratoren sind berechtigt, Servicenachrichten zu versenden"}.
{"Options","Optionen"}. {"Options","Optionen"}.
{"Organization Name","Organisation"}. {"Organization Name","Organisation"}.
@ -234,6 +242,7 @@
{"Password ~b","Passwort ~b"}. {"Password ~b","Passwort ~b"}.
{"Password:","Passwort:"}. {"Password:","Passwort:"}.
{"Password","Passwort"}. {"Password","Passwort"}.
{"Password Verification:","Passwort bestätigen:"}.
{"Password Verification","Passwort bestätigen"}. {"Password Verification","Passwort bestätigen"}.
{"Path to Dir","Pfad zum Verzeichnis"}. {"Path to Dir","Pfad zum Verzeichnis"}.
{"Path to File","Pfad zur Datei"}. {"Path to File","Pfad zur Datei"}.
@ -257,6 +266,8 @@
{"Raw","Unformatiert"}. {"Raw","Unformatiert"}.
{"Really delete message of the day?","Die Nachricht des Tages wirklich löschen?"}. {"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"}. {"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:"}.
{"Registered Users","Registrierte Benutzer"}. {"Registered Users","Registrierte Benutzer"}.
{"Registration in mod_irc for ","Registrierung in mod_irc für "}. {"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"}. {"Send announcement to all users","Sende Ankündigung an alle Benutzer"}.
{"September","September"}. {"September","September"}.
{"Server ~b","Server ~b"}. {"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 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"}. {"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"}. {"Shared Roster Groups","Gruppen der gemeinsamen Kontaktliste"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Normale Tabelle anzeigen"}. {"Show Ordinary Table","Normale Tabelle anzeigen"}.
{"Shut Down Service","Dienst herunterfahren"}. {"Shut Down Service","Dienst herunterfahren"}.
{"~s invites you to the room ~s","~s lädt Sie in den Raum ~s ein"}. {"~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 access model","Geben sie das Zugangsmodell an"}.
{"Specify the event message type","Geben sie den Ereignis-Nachrichtentyp an"}. {"Specify the event message type","Geben sie den Ereignis-Nachrichtentyp an"}.
{"Specify the publisher model","Geben sie das Publikationsmodell an"}. {"Specify the publisher model","Geben sie das Publikationsmodell an"}.
@ -324,11 +337,20 @@
{"Subscriber Address","Abonnenten-Adresse"}. {"Subscriber Address","Abonnenten-Adresse"}.
{"Subscription","Abonnement"}. {"Subscription","Abonnement"}.
{"Sunday","Sonntag"}. {"Sunday","Sonntag"}.
{"That nickname is already in use by another occupant","Dieser Spitzname wird bereits von einem Teilnehmer genutzt"}. {"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 Spitzname wurde bereits von jemand anderem registriert"}. {"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 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 collections with which a node is affiliated","Sammlungen, mit denen ein Knoten verknüpft ist"}.
{"the password is","das Passwort lautet"}. {"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","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 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"}. {"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 Aborted:","Abgebrochene Transaktionen:"}.
{"Transactions Committed:","Durchgeführte Transaktionen:"}. {"Transactions Committed:","Durchgeführte Transaktionen:"}.
{"Transactions Logged:","Protokollierte Transaktionen:"}. {"Transactions Logged:","Protokollierte Transaktionen:"}.
{"Transactions Restarted:","Neugestartete Transaktionen:"}. {"Transactions Restarted:","Neu gestartete Transaktionen:"}.
{"Tuesday","Dienstag"}. {"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"}. {"Unauthorized","Nicht berechtigt"}.
{"Unregister","Abmelden"}.
{"Unregister a Jabber account","Jabber Konto entfernen"}.
{"Update","Aktualisieren"}. {"Update","Aktualisieren"}.
{"Update ","Aktualisierung "}. {"Update ","Aktualisierung "}.
{"Update message of the day (don't send)","Aktualisiere Nachricht des Tages (nicht senden)"}. {"Update message of the day (don't send)","Aktualisiere Nachricht des Tages (nicht senden)"}.
@ -357,21 +382,27 @@
{"User ","Benutzer "}. {"User ","Benutzer "}.
{"User","Benutzer"}. {"User","Benutzer"}.
{"User Management","Benutzerverwaltung"}. {"User Management","Benutzerverwaltung"}.
{"Username:","Benutzername:"}.
{"Users are not allowed to register accounts so quickly","Benutzer dürfen Konten nicht so schnell registrieren"}. {"Users are not allowed to register accounts so quickly","Benutzer dürfen Konten nicht so schnell registrieren"}.
{"Users","Benutzer"}. {"Users","Benutzer"}.
{"Users Last Activity","Letzte Benutzeraktivität"}. {"Users Last Activity","Letzte Benutzeraktivität"}.
{"Validate","Validieren"}. {"Validate","Validieren"}.
{"vCard User Search","vCard-Benutzer-Suche"}. {"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"}. {"Visitors are not allowed to send messages to all occupants","Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken"}.
{"Wednesday","Mittwoch"}. {"Wednesday","Mittwoch"}.
{"When to send the last published item","Wann soll das letzte veröffentlichte Objekt gesendet werden"}. {"When to send the last published item","Wann soll das letzte veröffentlichte Objekt gesendet werden"}.
{"Whether to allow subscriptions","Ob Abonnements erlaubt sind"}. {"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 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 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 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 die Suche verwenden zu können"}.
{"You need an x:data capable client to search","Sie benötigen einen Client, der x:data unterstützt, um suchen 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 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"}. {"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: Torsten Werner\n"
"X-Additional-Translator: Marina Hahn\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" msgid "Use of STARTTLS required"
msgstr "Verwendung von STARTTLS erforderlich" msgstr "Verwendung von STARTTLS erforderlich"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Keine Ressource angegeben" msgstr "Keine Ressource angegeben"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Durch neue Verbindung ersetzt" 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" msgid "Enter the text you see"
msgstr "Geben sie den Text den sie sehen ein" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Ihre Nachrichten an ~s werden blockiert. Um dies zu ändern, besuchen sie ~s" "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." msgid "The captcha is valid."
msgstr "Die Verifizierung ist gültig." msgstr "Die Verifizierung ist gültig."
@ -371,7 +385,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Passwort" msgstr "Passwort"
@ -442,17 +456,17 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC-Modul" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um die mod_irc-" "Sie benötigen einen Client, der x:data unterstützt, um die mod_irc-"
"Einstellungen zu konfigurieren" "Einstellungen zu konfigurieren"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registrierung in mod_irc für " msgstr "Registrierung in mod_irc für "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -460,11 +474,11 @@ msgstr ""
"Geben Sie Benutzernamen und Zeichenkodierung für die Verbindung zum IRC-" "Geben Sie Benutzernamen und Zeichenkodierung für die Verbindung zum IRC-"
"Server an" "Server an"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC-Benutzername" msgstr "IRC-Benutzername"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -473,10 +487,10 @@ msgid ""
msgstr "" msgstr ""
"Wenn sie verschiedene Ports, Passwörter und Kodierungen für IRC Server " "Wenn sie verschiedene Ports, Passwörter und Kodierungen für IRC Server "
"angeben wollen, erstellen sie die Liste mit folgendem Format '{\"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." "Dienst die \"~s\" Kodierung, den Port ~p und kein Passwort."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -484,35 +498,35 @@ msgstr ""
"Beispiel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta." "Beispiel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Verbindungsparameter" msgstr "Verbindungsparameter"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "IRC Channel beitreten" msgstr "IRC Channel beitreten"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC Channel (ohne dem ersten #)" msgstr "IRC Channel (ohne dem ersten #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "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." msgid "Join the IRC channel here."
msgstr "Hier den IRC Channel beitreten." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Den IRC Channel mit dieser Jabber ID beitreten: ~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" msgid "IRC settings"
msgstr "IRC Einstellungen" msgstr "IRC Einstellungen"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "Drücken sie 'Mehr' um leere Felder hinzuzufügen. Drücken sie 'Beenden' um "
"die Einstellungen zu speichern." "die Einstellungen zu speichern."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC Benutzername" msgstr "IRC Benutzername"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Passwort ~b" msgstr "Passwort ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Kodierung für Server ~b" msgstr "Kodierung für Server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -560,33 +574,33 @@ msgid "Chatrooms"
msgstr "Chaträume" msgstr "Chaträume"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um Ihren Spitznamen zu " "Sie benötigen einen Client, der x:data unterstützt, um Ihren Benutzernamen "
"registrieren" "zu registrieren"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at " msgid "Nickname Registration at "
msgstr "Registrieren des Spitznamens bei" msgstr "Registrieren des Benutzernames auf"
#: mod_muc/mod_muc.erl:721 #: mod_muc/mod_muc.erl:721
msgid "Enter nickname you want to register" 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_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.erl:358 mod_vcard.erl:471 mod_vcard_odbc.erl:336
#: mod_vcard_odbc.erl:447 #: mod_vcard_odbc.erl:447
msgid "Nickname" msgid "Nickname"
msgstr "Spitzname" msgstr "Benutzername"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" 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 #: mod_muc/mod_muc.erl:787
msgid "You must fill in field \"Nickname\" in the form" 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 #: mod_muc/mod_muc.erl:807
msgid "ejabberd MUC module" msgid "ejabberd MUC module"
@ -629,7 +643,7 @@ msgid "is now known as"
msgstr "ist nun bekannt als" msgstr "ist nun bekannt als"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " hat das Thema geändert auf: " msgstr " hat das Thema geändert auf: "
@ -733,10 +747,6 @@ msgstr "Raum-Konfiguration"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Teilnehmer in diesem Raum" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Datenratenlimit wurde überschritten" msgstr "Datenratenlimit wurde überschritten"
@ -773,8 +783,8 @@ msgstr ""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Der Empfänger ist nicht im Raum" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur Teilnehmer dürfen Nachrichten an den Raum schicken" 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 #: mod_muc/mod_muc_room.erl:509
msgid "Only occupants are allowed to send queries to the conference" 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 #: mod_muc/mod_muc_room.erl:521
msgid "Queries to the conference members are not allowed in this room" msgid "Queries to the conference members are not allowed in this room"
msgstr "Anfragen an die Teilnehmer sind in diesem Raum nicht erlaubt" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Nur Moderatoren und Mitglieder dürfen das Thema in diesem Raum ändern" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur Moderatoren dürfen das Thema in diesem Raum ändern" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besucher dürfen nicht an alle Teilnehmer Nachrichten verschicken" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften " "Dieser Teilnehmer wurde aus dem Raum gekickt, da er einen fehlerhaften "
"Status gesendet hat" "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" 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" 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" msgid "You have been banned from this room"
msgstr "Sie wurden aus diesem Raum verbannt" 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" msgid "Membership is required to enter this room"
msgstr "Um diesen Raum zu betreten müssen sie Mitglied sein" 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" msgid "This room is not anonymous"
msgstr "Dieser Raum ist nicht anonym" 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" msgid "A password is required to enter this room"
msgstr "Sie brauchen ein Passwort um diesen Raum zu betreten" 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" 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" msgid "Incorrect password"
msgstr "Falsches Passwort" msgstr "Falsches Passwort"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Administratorenrechte benötigt" msgstr "Administratorenrechte benötigt"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Moderatorrechte benötigt" msgstr "Moderatorrechte benötigt"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Die Jabber-ID ~s ist ungültig" 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" 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" msgid "Invalid affiliation: ~s"
msgstr "Ungültige Mitgliedschaft: ~s" msgstr "Ungültige Mitgliedschaft: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Ungültige Rolle: ~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" msgid "Owner privileges required"
msgstr "Besitzerrechte benötigt" msgstr "Besitzerrechte benötigt"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Konfiguration für Raum ~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" msgid "Room description"
msgstr "Raum Beschreibung" msgstr "Raum Beschreibung"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Raum persistent machen" msgstr "Raum persistent machen"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Raum öffentlich suchbar machen" msgstr "Raum öffentlich suchbar machen"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Teilnehmerliste öffentlich machen" msgstr "Teilnehmerliste öffentlich machen"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Raum mit Passwort schützen" 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" msgid "Maximum Number of Occupants"
msgstr "Maximale Anzahl von Teilnehmern" msgstr "Maximale Anzahl von Teilnehmern"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Keine Begrenzung" msgstr "Keine Begrenzung"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Echte Jabber-IDs anzeigen für" msgstr "Echte Jabber-IDs anzeigen für"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "ausschliesslich Moderatoren" msgstr "ausschliesslich Moderatoren"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "jeder" msgstr "jeder"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Raum nur für Mitglieder zugänglich machen" 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" msgid "Make room moderated"
msgstr "Raum moderiert machen" msgstr "Raum moderiert machen"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Standardbenutzer als Teilnehmer" 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" msgid "Allow users to change the subject"
msgstr "Erlaube Benutzern das Thema zu ändern" 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" msgid "Allow users to send private messages"
msgstr "Erlaube Benutzern private Nachrichten zu senden" 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" msgid "Allow users to query other users"
msgstr "Erlaube Benutzern andere Benutzer abzufragen" 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" msgid "Allow users to send invites"
msgstr "Erlaube Benutzern Einladungen zu senden" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Erlaube Besuchern einen Text bei Statusänderung zu setzen" 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" msgid "Allow visitors to change nickname"
msgstr "Erlaube Besuchern ihren Spitznamen zu ändern" 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" msgid "Make room captcha protected"
msgstr "Raum mit Verifizierung (Captcha) versehen" msgstr "Raum mit Verifizierung (Captcha) versehen"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Protokollierung aktivieren" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"Sie benötigen einen Client, der x:data unterstützt, um den Raum zu " "Sie benötigen einen Client, der x:data unterstützt, um den Raum zu "
"konfigurieren" "konfigurieren"
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "Anzahl der Teilnehmer" msgstr "Anzahl der Teilnehmer"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privat, " msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s lädt Sie in den Raum ~s ein" 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" msgid "the password is"
msgstr "das Passwort lautet" msgstr "das Passwort lautet"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Ihre Offline-Nachrichten-Warteschlange ist voll. Die Nachricht wurde " "Ihre Offline-Nachrichten-Warteschlange ist voll. Die Nachricht wurde "
"verworfen." "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" msgid "~s's Offline Messages Queue"
msgstr "~s's Offline-Nachrichten-Warteschlange" msgstr "~s's Offline-Nachrichten-Warteschlange"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1016,20 +1030,20 @@ msgstr "Von"
msgid "To" msgid "To"
msgstr "An" msgstr "An"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Markierte löschen" 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:" msgid "Offline Messages:"
msgstr "Offline-Nachrichten:" 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" msgid "Remove All Offline Messages"
msgstr "Alle Offline Nachrichten löschen" msgstr "Alle Offline Nachrichten löschen"
@ -1037,112 +1051,135 @@ msgstr "Alle Offline Nachrichten löschen"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5-Bytestreams-Modul" 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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe-Modul" 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" msgid "PubSub subscriber request"
msgstr "PubSub-Abonnenten-Anfrage" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Wähle Sie, ob dieses Abonnement akzeptiert werden soll." 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" msgid "Node ID"
msgstr "Knoten-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" msgid "Subscriber Address"
msgstr "Abonnenten-Adresse" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dieser Jabber-ID das Abonnement dieses pubsub-Knotens erlauben?" 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" msgid "Deliver payloads with event notifications"
msgstr "Nachrichten mit mit Ereignis-Benachrichtigungen zustellen" 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" msgid "Deliver event notifications"
msgstr "Ereignisbenachrichtigung zustellen" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnenten benachrichtigen, wenn sich die Knotenkonfiguration ändert" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Abonnenten benachrichtigen, wenn der Knoten gelöscht wird" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnenten benachrichtigen, wenn Einträge vom Knoten entfernt werden" 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" msgid "Persist items to storage"
msgstr "Einträge dauerhaft speichern" 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" msgid "A friendly name for the node"
msgstr "Ein merkbarer Name für den Knoten" 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" msgid "Max # of items to persist"
msgstr "Maximale Anzahl dauerhaft zu speichernder Einträge" 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" msgid "Whether to allow subscriptions"
msgstr "Ob Abonnements erlaubt sind" 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" msgid "Specify the access model"
msgstr "Geben sie das Zugangsmodell an" 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" msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlisten-Gruppen die abonnieren dürfen" 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" msgid "Specify the publisher model"
msgstr "Geben sie das Publikationsmodell an" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" msgstr ""
"Alle Einträge entfernen, wenn der relevante Veröffentlicher offline geht" "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" msgid "Specify the event message type"
msgstr "Geben sie den Ereignis-Nachrichtentyp an" 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" msgid "Max payload size in bytes"
msgstr "Maximale Nutzlastgrösse 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" msgid "When to send the last published item"
msgstr "Wann soll das letzte veröffentlichte Objekt gesendet werden" 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" msgid "Only deliver notifications to available users"
msgstr "Benachrichtigungen nur an verfügbare Benutzer schicken" 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" msgid "The collections with which a node is affiliated"
msgstr "Sammlungen, mit denen ein Knoten verknüpft ist" 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" msgid "Choose a username and password to register with this server"
msgstr "Wählen sie zum Registrieren einen Benutzernamen und ein Passwort" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Benutzer dürfen Konten nicht so schnell registrieren" msgstr "Benutzer dürfen Konten nicht so schnell registrieren"
@ -1176,13 +1213,13 @@ msgstr "Entfernen"
msgid "Roster of " msgid "Roster of "
msgstr "Kontaktliste von " msgstr "Kontaktliste von "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Ungültiges Format" msgstr "Ungültiges Format"
@ -1194,37 +1231,37 @@ msgstr "Jabber-ID hinzufügen"
msgid "Roster" msgid "Roster"
msgstr "Kontaktliste" msgstr "Kontaktliste"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Gruppen der gemeinsamen Kontaktliste" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Neuen hinzufügen" msgstr "Neuen hinzufügen"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Name:" msgstr "Name:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Beschreibung:" msgstr "Beschreibung:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Mitglieder:" msgstr "Mitglieder:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Angezeigte Gruppen:" msgstr "Angezeigte Gruppen:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Gruppe " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1232,7 +1269,7 @@ msgstr "Senden"
#: mod_vcard.erl:165 mod_vcard_ldap.erl:237 mod_vcard_odbc.erl:129 #: mod_vcard.erl:165 mod_vcard_ldap.erl:237 mod_vcard_odbc.erl:129
msgid "Erlang Jabber Server" 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.erl:358 mod_vcard.erl:472 mod_vcard_odbc.erl:336
#: mod_vcard_odbc.erl:448 #: mod_vcard_odbc.erl:448
@ -1296,15 +1333,11 @@ msgstr "Abteilung"
msgid "Search users in " msgid "Search users in "
msgstr "Benutzer suchen 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "" 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 #: mod_vcard.erl:383 mod_vcard_ldap.erl:483 mod_vcard_odbc.erl:361
msgid "vCard User Search" msgid "vCard User Search"
@ -1386,7 +1419,7 @@ msgstr "Statistik"
#: web/ejabberd_web_admin.erl:1113 #: web/ejabberd_web_admin.erl:1113
msgid "Not Found" msgid "Not Found"
msgstr "nicht gefunden" msgstr "Nicht gefunden"
#: web/ejabberd_web_admin.erl:1130 #: web/ejabberd_web_admin.erl:1130
msgid "Node not found" msgid "Node not found"
@ -1425,7 +1458,9 @@ msgstr "Ausgehende s2s-Verbindungen:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Ausgehende s2s-Server:" 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" msgid "Change Password"
msgstr "Passwort ändern" msgstr "Passwort ändern"
@ -1435,9 +1470,10 @@ msgstr "Benutzer "
#: web/ejabberd_web_admin.erl:1759 #: web/ejabberd_web_admin.erl:1759
msgid "Connected Resources:" 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:" msgid "Password:"
msgstr "Passwort:" msgstr "Passwort:"
@ -1591,7 +1627,7 @@ msgstr "Abgebrochene Transaktionen:"
#: web/ejabberd_web_admin.erl:2196 #: web/ejabberd_web_admin.erl:2196
msgid "Transactions Restarted:" msgid "Transactions Restarted:"
msgstr "Neugestartete Transaktionen:" msgstr "Neu gestartete Transaktionen:"
#: web/ejabberd_web_admin.erl:2199 #: web/ejabberd_web_admin.erl:2199
msgid "Transactions Logged:" msgid "Transactions Logged:"
@ -1648,3 +1684,133 @@ msgstr "Löschen"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Starten" 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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2.1.3\n" "Project-Id-Version: 2.1.6\n"
"X-Language: Language Name\n" "X-Language: Language Name\n"
"Last-Translator: Translator name and contact method\n" "Last-Translator: Translator name and contact method\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\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" msgid "Use of STARTTLS required"
msgstr "" msgstr ""
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "" msgstr ""
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "" 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" msgid "Enter the text you see"
msgstr "" msgstr ""
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "" msgstr ""
@ -359,7 +371,7 @@ msgid "Jabber ID"
msgstr "" msgstr ""
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "" msgstr ""
@ -430,25 +442,25 @@ msgstr ""
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -456,64 +468,64 @@ msgid ""
"~p, empty password." "~p, empty password."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "" 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." msgid "Join the IRC channel here."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Press 'Next' to get more fields to fill in. Press 'Complete' to save "
"settings." "settings."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "" msgstr ""
@ -534,7 +546,7 @@ msgid "Chatrooms"
msgstr "" msgstr ""
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -551,8 +563,8 @@ msgstr ""
msgid "Nickname" msgid "Nickname"
msgstr "" msgstr ""
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "" msgstr ""
@ -601,7 +613,7 @@ msgid "is now known as"
msgstr "" msgstr ""
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr "" msgstr ""
@ -705,10 +717,6 @@ msgstr ""
msgid "Room Occupants" msgid "Room Occupants"
msgstr "" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "" msgstr ""
@ -740,8 +748,8 @@ msgstr ""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "" msgstr ""
@ -757,205 +765,209 @@ msgstr ""
msgid "Queries to the conference members are not allowed in this room" msgid "Queries to the conference members are not allowed in this room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" 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" msgid "That nickname is already in use by another occupant"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" 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" msgid "Incorrect password"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2351 #: mod_muc/mod_muc_room.erl:2354
msgid "Nickname ~s does not exist in the room" msgid "Nickname ~s does not exist in the room"
msgstr "" 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" msgid "Invalid affiliation: ~s"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "" 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" msgid "Owner privileges required"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "" 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" msgid "Room description"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "" msgstr ""
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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" msgid "~s's Offline Messages Queue"
msgstr "" msgstr ""
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -977,20 +989,20 @@ msgstr ""
msgid "To" msgid "To"
msgstr "" msgstr ""
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "" msgstr ""
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "" msgstr ""
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "" msgstr ""
@ -998,111 +1010,132 @@ msgstr ""
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "" 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" msgid "Publish-Subscribe"
msgstr "" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "" 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" msgid "PubSub subscriber request"
msgstr "" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "" 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" msgid "Node ID"
msgstr "" 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" msgid "Subscriber Address"
msgstr "" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "" 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" msgid "Deliver payloads with event notifications"
msgstr "" 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" msgid "Deliver event notifications"
msgstr "" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "" 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" msgid "Notify subscribers when the node is deleted"
msgstr "" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "" 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" msgid "Persist items to storage"
msgstr "" 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" msgid "A friendly name for the node"
msgstr "" 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" msgid "Max # of items to persist"
msgstr "" 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" msgid "Whether to allow subscriptions"
msgstr "" 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" msgid "Specify the access model"
msgstr "" 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" msgid "Roster groups allowed to subscribe"
msgstr "" 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" msgid "Specify the publisher model"
msgstr "" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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" msgid "Specify the event message type"
msgstr "" 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" msgid "Max payload size in bytes"
msgstr "" 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" msgid "When to send the last published item"
msgstr "" 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" msgid "Only deliver notifications to available users"
msgstr "" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" msgid "Choose a username and password to register with this server"
msgstr "" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "" msgstr ""
@ -1136,13 +1169,13 @@ msgstr ""
msgid "Roster of " msgid "Roster of "
msgstr "" msgstr ""
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "" msgstr ""
@ -1154,37 +1187,37 @@ msgstr ""
msgid "Roster" msgid "Roster"
msgstr "" msgstr ""
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "" msgstr ""
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "" 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1254,11 +1287,6 @@ msgstr ""
msgid "Search users in " msgid "Search users in "
msgstr "" 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "" msgstr ""
@ -1381,7 +1409,9 @@ msgstr ""
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "" 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" msgid "Change Password"
msgstr "" msgstr ""
@ -1393,7 +1423,8 @@ msgstr ""
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "" 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:" msgid "Password:"
msgstr "" msgstr ""
@ -1597,3 +1628,113 @@ msgstr ""
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "" 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","Αποθήκευση Αντιγράφου Ασφαλείας"}. {"Backup","Αποθήκευση Αντιγράφου Ασφαλείας"}.
{"Bad format","Ακατάλληλη μορφή"}. {"Bad format","Ακατάλληλη μορφή"}.
{"Birthday","Γενέθλια"}. {"Birthday","Γενέθλια"}.
{"CAPTCHA web page","Ιστοσελίδα CAPTCHA "}.
{"Change Password","Αλλαγή κωδικού"}. {"Change Password","Αλλαγή κωδικού"}.
{"Change User Password","Αλλαγή Κωδικού Πρόσβασης Χρήστη"}. {"Change User Password","Αλλαγή Κωδικού Πρόσβασης Χρήστη"}.
{"Characters not allowed:","Χαρακτήρες δεν επιτρέπονται:"}.
{"Chatroom configuration modified","Διαμόρφωση Αίθουσaς σύνεδριασης τροποποιηθηκε"}. {"Chatroom configuration modified","Διαμόρφωση Αίθουσaς σύνεδριασης τροποποιηθηκε"}.
{"Chatroom is created","Η αίθουσα σύνεδριασης δημιουργήθηκε"}. {"Chatroom is created","Η αίθουσα σύνεδριασης δημιουργήθηκε"}.
{"Chatroom is destroyed","Η αίθουσα σύνεδριασης διαγράφηκε"}. {"Chatroom is destroyed","Η αίθουσα σύνεδριασης διαγράφηκε"}.
@ -69,6 +71,7 @@
{"Description:","Περιγραφή:"}. {"Description:","Περιγραφή:"}.
{"Disc only copy","Αντίγραφο μόνο σε δίσκο"}. {"Disc only copy","Αντίγραφο μόνο σε δίσκο"}.
{"Displayed Groups:","Εμφανίσμενες Ομάδες:"}. {"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 Backup to Text File at ","Αποθήκευση Αντιγράφου Ασφαλείας σε αρχείο κειμένου στο "}.
{"Dump to Text File","Αποθήκευση σε αρχείο κειμένου"}. {"Dump to Text File","Αποθήκευση σε αρχείο κειμένου"}.
{"Edit Properties","Επεξεργασία ιδιοτήτων"}. {"Edit Properties","Επεξεργασία ιδιοτήτων"}.
@ -120,6 +123,7 @@
{"has been kicked","αποβλήθηκε "}. {"has been kicked","αποβλήθηκε "}.
{" has set the subject to: "," έχει θέσει το θέμα σε: "}. {" has set the subject to: "," έχει θέσει το θέμα σε: "}.
{"Host","Κεντρικός Υπολογιστής"}. {"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, κενό κωδικό πρόσβασης."}. {"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 Directory","Εισαγωγή κατάλογου αρχείων"}.
{"Import File","Εισαγωγή αρχείων"}. {"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 of type \"groupchat\"","Δεν επιτρέπεται να στείλει προσωπικά μηνύματα του τύπου \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Δεν επιτρέπεται να στείλει προσωπικά μηνύματα για τη διάσκεψη"}. {"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 ~s is invalid","Η Jabber Ταυτότητα ~s είναι άκυρη"}. {"Jabber ID ~s is invalid","Η Jabber Ταυτότητα ~s είναι άκυρη"}.
{"Jabber ID","Ταυτότητα Jabber"}. {"Jabber ID","Ταυτότητα Jabber"}.
{"January","Ιανουάριος"}. {"January","Ιανουάριος"}.
@ -177,6 +182,7 @@
{"May","Μάιος"}. {"May","Μάιος"}.
{"Membership is required to enter this room","Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"}. {"Membership is required to enter this room","Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"}.
{"Members:","Μέλη:"}. {"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","Μνήμη"}. {"Memory","Μνήμη"}.
{"Message body","Περιεχόμενο μηνυμάτως"}. {"Message body","Περιεχόμενο μηνυμάτως"}.
{"Middle Name","Πατρώνυμο"}. {"Middle Name","Πατρώνυμο"}.
@ -190,6 +196,7 @@
{"Name:","Όνομα:"}. {"Name:","Όνομα:"}.
{"Name","Όνομα"}. {"Name","Όνομα"}.
{"Never","Ποτέ"}. {"Never","Ποτέ"}.
{"New Password:","Νέος κωδικός πρόσβασης:"}.
{"Nickname Registration at ","Εγγραφή με Ψευδώνυμο στο "}. {"Nickname Registration at ","Εγγραφή με Ψευδώνυμο στο "}.
{"Nickname ~s does not exist in the room","Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα"}. {"Nickname ~s does not exist in the room","Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα"}.
{"Nickname","Ψευδώνυμο"}. {"Nickname","Ψευδώνυμο"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Χωρίς Σύνδεση Μηνύματα:"}. {"Offline Messages:","Χωρίς Σύνδεση Μηνύματα:"}.
{"Offline Messages","Χωρίς Σύνδεση Μηνύματα"}. {"Offline Messages","Χωρίς Σύνδεση Μηνύματα"}.
{"OK","Όλλα Καλά"}. {"OK","Όλλα Καλά"}.
{"Old Password:","Παλαιός κωδικός πρόσβασης:"}.
{"Online Users:","Online Χρήστες:"}. {"Online Users:","Online Χρήστες:"}.
{"Online Users","Συνδεμένοι χρήστες"}. {"Online Users","Συνδεμένοι χρήστες"}.
{"Online","Συνδεδεμένο"}. {"Online","Συνδεδεμένο"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Aπαιτούνται προνόμια ιδιοκτήτη"}. {"Owner privileges required","Aπαιτούνται προνόμια ιδιοκτήτη"}.
{"Packet","Πακέτο"}. {"Packet","Πακέτο"}.
{"Password ~b","Κωδικός πρόσβασης ~b"}. {"Password ~b","Κωδικός πρόσβασης ~b"}.
{"Password Verification:","Επαλήθευση κωδικού πρόσβασης:"}.
{"Password Verification","Επαλήθευση κωδικού πρόσβασης"}. {"Password Verification","Επαλήθευση κωδικού πρόσβασης"}.
{"Password","Κωδικός Πρόσβασης"}. {"Password","Κωδικός Πρόσβασης"}.
{"Password:","Κωδικός πρόσβασης:"}. {"Password:","Κωδικός πρόσβασης:"}.
@ -257,8 +266,10 @@
{"Raw","Ακατέργαστο"}. {"Raw","Ακατέργαστο"}.
{"Really delete message of the day?","Πραγματικά να διαγράψετε το μήνυμα της ημέρας;"}. {"Really delete message of the day?","Πραγματικά να διαγράψετε το μήνυμα της ημέρας;"}.
{"Recipient is not in the conference room","Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"}. {"Recipient is not in the conference room","Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"}.
{"Register a Jabber account","Καταχωρήστε έναν λογαριασμό Jabber"}.
{"Registered Users:","Εγγεγραμμένοι Χρήστες:"}. {"Registered Users:","Εγγεγραμμένοι Χρήστες:"}.
{"Registered Users","Εγγεγραμμένοι Χρήστες"}. {"Registered Users","Εγγεγραμμένοι Χρήστες"}.
{"Register","Καταχωρήστε"}.
{"Registration in mod_irc for ","Εγγραφή στο mod_irc για "}. {"Registration in mod_irc for ","Εγγραφή στο mod_irc για "}.
{"Remote copy","Απομεμακρυσμένο αντίγραφο"}. {"Remote copy","Απομεμακρυσμένο αντίγραφο"}.
{"Remove All Offline Messages","Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"}. {"Remove All Offline Messages","Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Αποστολή ανακοίνωσης σε όλους τους χρήστες"}. {"Send announcement to all users","Αποστολή ανακοίνωσης σε όλους τους χρήστες"}.
{"September","Σεπτέμβριος"}. {"September","Σεπτέμβριος"}.
{"Server ~b","Διακομιστής ~b"}. {"Server ~b","Διακομιστής ~b"}.
{"Server:","Διακομιστής:"}.
{"Set message of the day and send to online users","Ορίστε μήνυμα ημέρας και αποστολή στους συνδεδεμένους χρήστες"}. {"Set message of the day and send to online users","Ορίστε μήνυμα ημέρας και αποστολή στους συνδεδεμένους χρήστες"}.
{"Set message of the day on all hosts and send to online users","Ορίστε μήνυμα ημέρας και άμεση αποστολή στους συνδεδεμένους χρήστες σε όλους τους κεντρικούς υπολογιστές"}. {"Set message of the day on all hosts and send to online users","Ορίστε μήνυμα ημέρας και άμεση αποστολή στους συνδεδεμένους χρήστες σε όλους τους κεντρικούς υπολογιστές"}.
{"Shared Roster Groups","Κοινές Ομάδες Καταλόγων Επαφών"}. {"Shared Roster Groups","Κοινές Ομάδες Καταλόγων Επαφών"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Δείτε Κοινό Πίνακα"}. {"Show Ordinary Table","Δείτε Κοινό Πίνακα"}.
{"Shut Down Service","Κλείσιμο Υπηρεσίας"}. {"Shut Down Service","Κλείσιμο Υπηρεσίας"}.
{"~s invites you to the room ~s","~s σας προσκαλεί στην αίθουσα ~s"}. {"~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 access model","Καθορίστε το μοντέλο πρόσβασης"}.
{"Specify the event message type","Καθορίστε τον τύπο μηνύματος συμβάντος"}. {"Specify the event message type","Καθορίστε τον τύπο μηνύματος συμβάντος"}.
{"Specify the publisher model","Καθορίστε το μοντέλο εκδότη"}. {"Specify the publisher model","Καθορίστε το μοντέλο εκδότη"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"}. {"That nickname is already in use by another occupant","Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"}.
{"That nickname is registered by another person","Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"}. {"That nickname is registered by another person","Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"}.
{"The captcha is valid.","Το captcha είναι έγκυρο."}. {"The captcha is valid.","Το captcha είναι έγκυρο."}.
{"The CAPTCHA verification has failed","Η επαλήθευση της εικόνας CAPTCHA απέτυχε"}.
{"The collections with which a node is affiliated","Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται"}. {"The collections with which a node is affiliated","Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται"}.
{"The password is too weak","Ο κωδικός πρόσβασης είναι πολύ ασθενές"}.
{"the password is","ο κωδικός πρόσβασης είναι"}. {"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 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 message","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε ένα μήνυμα σφάλματος"}.
{"This participant is kicked from the room because he sent an error presence","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε σφάλμα παρουσίας "}. {"This participant is kicked from the room because he sent an error presence","Αυτός ο συμμετέχων αποβλήθηκε από την αίθουσα, επειδή έστειλε σφάλμα παρουσίας "}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Επανειλημμένες συναλλαγές:"}. {"Transactions Restarted:","Επανειλημμένες συναλλαγές:"}.
{"Tuesday","Τρίτη"}. {"Tuesday","Τρίτη"}.
{"Unable to generate a captcha","Αδήνατο να δημιουργηθεί CAPTCHA"}. {"Unable to generate a captcha","Αδήνατο να δημιουργηθεί CAPTCHA"}.
{"Unable to generate a CAPTCHA","Αδήνατο να δημιουργηθεί εικόνα CAPTCHA"}.
{"Unauthorized","Χορίς Εξουσιοδότηση"}. {"Unauthorized","Χορίς Εξουσιοδότηση"}.
{"Unregister a Jabber account","Καταργήστε την εγγραφή ενός λογαριασμού Jabber"}.
{"Unregister","Καταργήση εγγραφής"}.
{"Update message of the day (don't send)","Ενημέρωση μηνύματως ημέρας (χωρίς άμεση αποστολή)"}. {"Update message of the day (don't send)","Ενημέρωση μηνύματως ημέρας (χωρίς άμεση αποστολή)"}.
{"Update message of the day on all hosts (don't send)","Ενημέρωση μηνύματως ημέρας σε όλους τους κεντρικούς υπολογιστές (χωρίς άμεση αποστολή)"}. {"Update message of the day on all hosts (don't send)","Ενημέρωση μηνύματως ημέρας σε όλους τους κεντρικούς υπολογιστές (χωρίς άμεση αποστολή)"}.
{"Update plan","Σχέδιο ενημέρωσης"}. {"Update plan","Σχέδιο ενημέρωσης"}.
@ -355,6 +380,7 @@
{"Uptime:","Uptime:"}. {"Uptime:","Uptime:"}.
{"Use of STARTTLS required","Απαιτείται χρήση STARTTLS "}. {"Use of STARTTLS required","Απαιτείται χρήση STARTTLS "}.
{"User Management","Διαχείριση χρηστών"}. {"User Management","Διαχείριση χρηστών"}.
{"Username:","Όνομα χρήστη"}.
{"Users are not allowed to register accounts so quickly","Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"}. {"Users are not allowed to register accounts so quickly","Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"}.
{"Users Last Activity","Τελευταία Δραστηριότητα Χρήστη"}. {"Users Last Activity","Τελευταία Δραστηριότητα Χρήστη"}.
{"Users","Χρήστες"}. {"Users","Χρήστες"}.
@ -367,11 +393,16 @@
{"Wednesday","Τετάρτη"}. {"Wednesday","Τετάρτη"}.
{"When to send the last published item","Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε"}. {"When to send the last published item","Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε"}.
{"Whether to allow subscriptions","Εάν επιτρέποντε συνδρομές"}. {"Whether to allow subscriptions","Εάν επιτρέποντε συνδρομές"}.
{"You can later change your password using a Jabber client.","Μπορείτε αργότερα να αλλάξετε τον κωδικό πρόσβασής σας χρησιμοποιώντας έναν πελάτη Jabber."}.
{"You have been banned from this room","Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"}. {"You have been banned from this room","Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"}.
{"You must fill in field \"Nickname\" in the form","Θα πρέπει να συμπληρώσετε το πεδίο \"Ψευδώνυμο\" στη φόρμα"}. {"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 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 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 ικανό πελάτη για αναζήτηση"}. {"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 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"}. {"Your messages to ~s are being blocked. To unblock them, visit ~s","Τα μηνύματά σας πρως ~s είναι αποκλεισμένα. Για αποδεσμεύση, επισκεφθείτε ~s"}.

View File

@ -2,7 +2,7 @@ msgid ""
msgstr "" msgstr ""
"Project-Id-Version: el\n" "Project-Id-Version: el\n"
"POT-Creation-Date: \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" "Last-Translator: James Iakovos Mandelis <ebuggerd@008.clara.co.uk>\n"
"Language-Team: \n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
@ -10,28 +10,42 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Greek (ελληνικά)\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" msgid "Use of STARTTLS required"
msgstr "Απαιτείται χρήση STARTTLS " msgstr "Απαιτείται χρήση STARTTLS "
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Δεν προμηθεύτικε πόρος" msgstr "Δεν προμηθεύτικε πόρος"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Αντικαταστάθικε από νέα σύνδεση" 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" msgid "Enter the text you see"
msgstr "Πληκτρολογήστε το κείμενο που βλέπετε" msgstr "Πληκτρολογήστε το κείμενο που βλέπετε"
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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 "Εάν δεν βλέπετε την εικόνα CAPTCHA εδώ, επισκεφθείτε την ιστοσελίδα."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Ιστοσελίδα CAPTCHA "
#: ejabberd_captcha.erl:302
msgid "The captcha is valid." msgid "The captcha is valid."
msgstr "Το captcha είναι έγκυρο." msgstr "Το captcha είναι έγκυρο."
@ -371,7 +385,7 @@ msgid "Jabber ID"
msgstr "Ταυτότητα Jabber" msgstr "Ταυτότητα Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Κωδικός Πρόσβασης" msgstr "Κωδικός Πρόσβασης"
@ -442,15 +456,15 @@ msgstr "IRC Διαβιβάσεις"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε το mod_irc" msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε το mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Εγγραφή στο mod_irc για " msgstr "Εγγραφή στο mod_irc για "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -458,11 +472,11 @@ msgstr ""
"Εισάγετε το όνομα χρήστη, κωδικοποιήσεις, τις θύρες και τους κωδικούς " "Εισάγετε το όνομα χρήστη, κωδικοποιήσεις, τις θύρες και τους κωδικούς "
"πρόσβασης που θέλετε να χρησιμοποιήσετε για σύνδεση με IRC διακομιστή" "πρόσβασης που θέλετε να χρησιμοποιήσετε για σύνδεση με IRC διακομιστή"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC Όνομα χρήστη" msgstr "IRC Όνομα χρήστη"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -475,7 +489,7 @@ msgstr ""
"Προεπιλεγμενα αυτή η υπηρεσία χρησιμοποιεί \"~s\" κωδικοποιήση, θύρα ~p, " "Προεπιλεγμενα αυτή η υπηρεσία χρησιμοποιεί \"~s\" κωδικοποιήση, θύρα ~p, "
"κενό κωδικό πρόσβασης." "κενό κωδικό πρόσβασης."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -483,35 +497,35 @@ msgstr ""
"Παράδειγμα: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta." "Παράδειγμα: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Παράμετροι Συνδέσης" msgstr "Παράμετροι Συνδέσης"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Είσοδος στο IRC κανάλι" msgstr "Είσοδος στο IRC κανάλι"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC κανάλι (μην τεθεί το πρώτο #)" msgstr "IRC κανάλι (μην τεθεί το πρώτο #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Διακομιστής IRC" 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." msgid "Join the IRC channel here."
msgstr "Είσοδος στο κανάλι IRC εδώ." msgstr "Είσοδος στο κανάλι IRC εδώ."
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Είσοδος στο κανάλι IRC αυτής της Jabber Ταυτότητας: ~s" msgstr "Είσοδος στο κανάλι IRC αυτής της Jabber Ταυτότητας: ~s"
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "IRC Ρυθμίσεις" msgstr "IRC Ρυθμίσεις"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -522,23 +536,23 @@ msgstr ""
"πάρετε περισσότερα πεδία να συμπληρώσετε. Πατήστε 'Complete' για να " "πάρετε περισσότερα πεδία να συμπληρώσετε. Πατήστε 'Complete' για να "
"αποθηκεύσετε ρυθμίσεις." "αποθηκεύσετε ρυθμίσεις."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC όνομα χρήστη" msgstr "IRC όνομα χρήστη"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Κωδικός πρόσβασης ~b" msgstr "Κωδικός πρόσβασης ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Θύρα ~b" msgstr "Θύρα ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Κωδικοποίηση για διακομιστή ~b" msgstr "Κωδικοποίηση για διακομιστή ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Διακομιστής ~b" msgstr "Διακομιστής ~b"
@ -561,8 +575,8 @@ msgid "Chatrooms"
msgstr "Αίθουσες σύνεδριασης" msgstr "Αίθουσες σύνεδριασης"
#: mod_muc/mod_muc.erl:711 #: 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 ικανό πελάτη για να εγγράφή με ψευδώνυμο" msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για εγγραφή με ψευδώνυμο"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at " msgid "Nickname Registration at "
@ -578,8 +592,8 @@ msgstr "Πληκτρολογήστε το ψευδώνυμο που θέλετε
msgid "Nickname" msgid "Nickname"
msgstr "Ψευδώνυμο" msgstr "Ψευδώνυμο"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο" msgstr "Αυτό το ψευδώνυμο είναι καταχωρημένο από άλλο πρόσωπο"
@ -628,7 +642,7 @@ msgid "is now known as"
msgstr "είναι τώρα γνωστή ως" msgstr "είναι τώρα γνωστή ως"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " έχει θέσει το θέμα σε: " msgstr " έχει θέσει το θέμα σε: "
@ -732,10 +746,6 @@ msgstr "Διαμόρφωση Αίθουσας σύνεδριασης"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Συμετεχόντες Αίθουσας σύνεδριασης" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Υπέρφορτωση" msgstr "Υπέρφορτωση"
@ -771,8 +781,8 @@ msgstr "Δεν επιτρέπεται να στείλει προσωπικά μ
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων" msgstr "Παραλήπτης δεν είναι στην αίθουσα συνεδριάσεων"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Μόνο οι συμμετέχωντες μπορούν να στέλνουν μηνύματα στο συνέδριο" msgstr "Μόνο οι συμμετέχωντες μπορούν να στέλνουν μηνύματα στο συνέδριο"
@ -789,7 +799,7 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr "" msgstr ""
"Ερωτήματα πρώς τα μέλη της διασκέψεως δεν επιτρέπονται σε αυτήν την αίθουσα" "Ερωτήματα πρώς τα μέλη της διασκέψεως δεν επιτρέπονται σε αυτήν την αίθουσα"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Μόνο οι συντονιστές μπορούν να αλλάξουν το θέμα αυτής της αίθουσας" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "" msgstr ""
"Οι επισκέπτες δεν επιτρέπεται να στείλουν μηνύματα σε όλους τους " "Οι επισκέπτες δεν επιτρέπεται να στείλουν μηνύματα σε όλους τους "
"συμμετέχωντες" "συμμετέχωντες"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" 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" msgid "That nickname is already in use by another occupant"
msgstr "Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων" msgstr "Αυτό το ψευδώνυμο είναι ήδη σε χρήση από άλλον συμμετέχων"
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα" msgstr "Σας έχει απαγορευθεί η είσοδος σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα" msgstr "Απαιτείται αίτηση συμετοχής για είσοδο σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Η αίθουσα αυτή δεν είναι ανώνυμη" msgstr "Η αίθουσα αυτή δεν είναι ανώνυμη"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "Απαιτείται κωδικός πρόσβασης για είσοδο σε αυτή την αίθουσα" msgstr "Απαιτείται κωδικός πρόσβασης για είσοδο σε αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" msgid "Unable to generate a captcha"
msgstr "Αδήνατο να δημιουργηθεί CAPTCHA" msgstr "Αδήνατο να δημιουργηθεί CAPTCHA"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Εσφαλμένος κωδικός πρόσβασης" msgstr "Εσφαλμένος κωδικός πρόσβασης"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Aπαιτούνται προνόμια διαχειριστή" msgstr "Aπαιτούνται προνόμια διαχειριστή"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Aπαιτούνται προνόμια συντονιστή" msgstr "Aπαιτούνται προνόμια συντονιστή"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Η Jabber Ταυτότητα ~s είναι άκυρη" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Ψευδώνυμο ~s δεν υπάρχει σε αυτή την αίθουσα" 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" msgid "Invalid affiliation: ~s"
msgstr "Άκυρη υπαγωγή: ~s" msgstr "Άκυρη υπαγωγή: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Άκυρος ρόλο: ~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" msgid "Owner privileges required"
msgstr "Aπαιτούνται προνόμια ιδιοκτήτη" msgstr "Aπαιτούνται προνόμια ιδιοκτήτη"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Διαμόρφωση Αίθουσας σύνεδριασης ~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" msgid "Room description"
msgstr "Περιγραφή Αίθουσας" msgstr "Περιγραφή Αίθουσας"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Κάντε αίθουσα μόνιμη" msgstr "Κάντε αίθουσα μόνιμη"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Κάντε την δημόσια αναζήτηση δυνατή για αυτή την αίθουσα" msgstr "Κάντε την δημόσια αναζήτηση δυνατή για αυτή την αίθουσα"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Κάντε κοινό τον κατάλογο συμμετεχόντων" msgstr "Κάντε κοινό τον κατάλογο συμμετεχόντων"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Κάντε την αίθουσα προστατεύομενη με κωδικό πρόσβασης" msgstr "Κάντε την αίθουσα προστατεύομενη με κωδικό πρόσβασης"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "Μέγιστος αριθμός συμετεχόντων" msgstr "Μέγιστος αριθμός συμετεχόντων"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Χωρίς όριο" msgstr "Χωρίς όριο"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Παρούσιαση πραγματικών ταυτοτήτων Jabber σε" msgstr "Παρούσιαση πραγματικών ταυτοτήτων Jabber σε"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "συντονιστές μόνο" msgstr "συντονιστές μόνο"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "οποιοσδήποτε" msgstr "οποιοσδήποτε"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Κάντε την αίθουσα μόνο για μέλη" msgstr "Κάντε την αίθουσα μόνο για μέλη"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Κάντε την αίθουσα εποπτεύονομενη" msgstr "Κάντε την αίθουσα εποπτεύονομενη"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Προεπιλογη χρήστων ως συμμετέχοντες" msgstr "Προεπιλογη χρήστων ως συμμετέχοντες"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Επιτρέψετε στους χρήστες να αλλάζουν το θέμα" msgstr "Επιτρέψετε στους χρήστες να αλλάζουν το θέμα"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν ιδιωτικά μηνύματα" msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν ιδιωτικά μηνύματα"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "Επιτρέπστε στους χρήστες να ερωτούν άλλους χρήστες" msgstr "Επιτρέπστε στους χρήστες να ερωτούν άλλους χρήστες"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "Επιτρέψετε στους χρήστες να αποστέλλουν προσκλήσεις" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Επιτρέψτε στους επισκέπτες να αποστέλλουν κατάσταση στις ενημερώσεις " "Επιτρέψτε στους επισκέπτες να αποστέλλουν κατάσταση στις ενημερώσεις "
"παρουσίας" "παρουσίας"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Επιτρέψετε στους επισκέπτες να αλλάζου ψευδώνυμο" msgstr "Επιτρέψετε στους επισκέπτες να αλλάζου ψευδώνυμο"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Κάντε την αίθουσα CAPTCHA προστατεύονομενη" msgstr "Κάντε την αίθουσα CAPTCHA προστατεύονομενη"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Ενεργοποίηση καταγραφής" 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" msgid "You need an x:data capable client to configure room"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε την αίθουσα " msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για να ρυθμίσετε την αίθουσα "
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "Αριθμός συμετεχόντων" msgstr "Αριθμός συμετεχόντων"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "ιδιωτικό," msgstr "ιδιωτικό,"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s σας προσκαλεί στην αίθουσα ~s" msgstr "~s σας προσκαλεί στην αίθουσα ~s"
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "ο κωδικός πρόσβασης είναι" msgstr "ο κωδικός πρόσβασης είναι"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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" msgid "~s's Offline Messages Queue"
msgstr "Η Σειρά Χωρίς Σύνδεση Μηνύματων τού ~s" msgstr "Η Σειρά Χωρίς Σύνδεση Μηνύματων τού ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1020,20 +1034,20 @@ msgstr "Από"
msgid "To" msgid "To"
msgstr "Πρώς" msgstr "Πρώς"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Πακέτο" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Διαγραφή επιλεγμένων" msgstr "Διαγραφή επιλεγμένων"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Χωρίς Σύνδεση Μηνύματα:" msgstr "Χωρίς Σύνδεση Μηνύματα:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων" msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύματων"
@ -1041,115 +1055,136 @@ msgstr "Αφαίρεση Όλων των Χωρίς Σύνδεση Μηνύμα
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "Δημοσίευση-Εγγραφή" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd 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" msgid "PubSub subscriber request"
msgstr "Αίτηση συνδρομητή Δημοσίευσης-Εγγραφής" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Επιλέξτε αν θα εγκρίθεί η εγγραφή αυτής της οντότητας." 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" msgid "Node ID"
msgstr "Ταυτότητα Κόμβου" 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" msgid "Subscriber Address"
msgstr "Διεύθυνση Συνδρομητή" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "" msgstr ""
"Επιτρέπετε σε αυτή την Jabber Ταυτότητα να εγγραφεί σε αυτό τον κόμβο " "Επιτρέπετε σε αυτή την 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" msgid "Deliver payloads with event notifications"
msgstr "Κοινοποιήσεις με την παράδοση φορτίων" 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" msgid "Deliver event notifications"
msgstr "Κοινοποιήσεις παράδοσης" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Ειδοποιηση στους συνδρομητές όταν αλλάζει η διαμόρφωση κόμβου" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Ειδοποιηση στους συνδρομητές όταν ο κόμβος διαγράφεται" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Ειδοποιηση στους συνδρομητές όταν αφαίρούντε στοιχεία από τον κόμβο" 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" msgid "Persist items to storage"
msgstr "Μονιμη αποθήκευση στοιχείων" 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" msgid "A friendly name for the node"
msgstr "Ένα φιλικό όνομα για τον κόμβο" 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" msgid "Max # of items to persist"
msgstr "Μέγιστος αριθμός μόνιμων στοιχείων" 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" msgid "Whether to allow subscriptions"
msgstr "Εάν επιτρέποντε συνδρομές" 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" msgid "Specify the access model"
msgstr "Καθορίστε το μοντέλο πρόσβασης" 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" msgid "Roster groups allowed to subscribe"
msgstr "Ομάδες Καταλόγου Επαφών μπορούν να εγγραφούν" 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" msgid "Specify the publisher model"
msgstr "Καθορίστε το μοντέλο εκδότη" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Διαγραφή όλων των στοιχείων όταν ο σχετικός εκδότης αποσυνδέεται" 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" msgid "Specify the event message type"
msgstr "Καθορίστε τον τύπο μηνύματος συμβάντος" 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" msgid "Max payload size in bytes"
msgstr "Μέγιστο μέγεθος φορτίου σε 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" msgid "When to send the last published item"
msgstr "Πότε να αποσταλθεί το τελευταίο στοιχείο που δημοσιεύθηκε" 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" msgid "Only deliver notifications to available users"
msgstr "Παράδωση κοινοποιήσεων μόνο σε διαθέσιμους χρήστες" 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" msgid "The collections with which a node is affiliated"
msgstr "Οι συλλογές με την οποία είναι ένας κόμβος συνδέεται" 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" msgid "Choose a username and password to register with this server"
msgstr "" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα" msgstr "Οι χρήστες δεν επιτρέπεται να εγγραφούν λογαριασμούς τόσο γρήγορα"
@ -1183,13 +1218,13 @@ msgstr "Αφαίρεστε"
msgid "Roster of " msgid "Roster of "
msgstr "Καταλόγος Επαφών τού" msgstr "Καταλόγος Επαφών τού"
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Ακατάλληλη μορφή" msgstr "Ακατάλληλη μορφή"
@ -1201,37 +1236,37 @@ msgstr "Προσθήκη Jabber Ταυτότητας"
msgid "Roster" msgid "Roster"
msgstr "Καταλόγος Επαφών" msgstr "Καταλόγος Επαφών"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Κοινές Ομάδες Καταλόγων Επαφών" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Προσθήκη νέου" msgstr "Προσθήκη νέου"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Όνομα:" msgstr "Όνομα:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Περιγραφή:" msgstr "Περιγραφή:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Μέλη:" msgstr "Μέλη:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Εμφανίσμενες Ομάδες:" msgstr "Εμφανίσμενες Ομάδες:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Ομάδα" 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1304,11 +1339,6 @@ msgstr "Μονάδα Οργανισμού"
msgid "Search users in " msgid "Search users in "
msgstr "Αναζήτηση χρηστών στο" 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για αναζήτηση" msgstr "Χρειάζεστε ένα x:data ικανό πελάτη για αναζήτηση"
@ -1432,7 +1462,9 @@ msgstr "Εξερχόμενες S2S Συνδέσεις:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Εξερχόμενοι S2S διακομιστές:" 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" msgid "Change Password"
msgstr "Αλλαγή κωδικού" msgstr "Αλλαγή κωδικού"
@ -1444,7 +1476,8 @@ msgstr "Χρήστης"
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Συνδεδεμένοι Πόροι:" 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:" msgid "Password:"
msgstr "Κωδικός πρόσβασης:" msgstr "Κωδικός πρόσβασης:"
@ -1658,3 +1691,135 @@ msgstr "Διαγραφή"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Εκκίνηση" 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 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 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 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"}. {"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 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"}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Esperanto\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" msgid "Use of STARTTLS required"
msgstr "Uzo de STARTTLS bezonata" msgstr "Uzo de STARTTLS bezonata"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Neniu risurco donita" msgstr "Neniu risurco donita"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Anstataŭigita je nova konekto" 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" msgid "Enter the text you see"
msgstr "Enmetu montrita teksto" 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" 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" 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." msgid "The captcha is valid."
msgstr "La aŭtomata Turingtesto estas ĝusta" msgstr "La aŭtomata Turingtesto estas ĝusta"
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Pasvorto" msgstr "Pasvorto"
@ -434,15 +446,15 @@ msgstr "IRC-transportilo"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC-modulo" 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" 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" 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 " msgid "Registration in mod_irc for "
msgstr "Registraĵo en mod_irc de " msgstr "Registraĵo en mod_irc de "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -450,11 +462,11 @@ msgstr ""
"Enmetu uzantnomon,j enkodigojn, pordojn kaj pasvortojn kiujn vi volas uzi " "Enmetu uzantnomon,j enkodigojn, pordojn kaj pasvortojn kiujn vi volas uzi "
"por konektoj al IRC-serviloj" "por konektoj al IRC-serviloj"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC-kaŝnomo" msgstr "IRC-kaŝnomo"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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\", porto, \"pasvorto\"}'. Se ne specifita, ĉi tiu servilo uzas la "
"enkodigo \"~s\", porto ~p, malplena pasvorto." "enkodigo \"~s\", porto ~p, malplena pasvorto."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -474,35 +486,35 @@ msgstr ""
"Ekzemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"sekreto\"}, {\"vendetta." "Ekzemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"sekreto\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.iutestservilo.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Konekto-parametroj" msgstr "Konekto-parametroj"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Eniras IRC-babilejon" msgstr "Eniras IRC-babilejon"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC-babilejo (ne aldonu #-prefikson)" msgstr "IRC-babilejo (ne aldonu #-prefikson)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRC-servilo" 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." msgid "Join the IRC channel here."
msgstr "Eniru IRC-babilejon jen" 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Eniru IRC-babilejon en ĉi 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" msgid "IRC settings"
msgstr "IRC agordoj" msgstr "IRC agordoj"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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" "serviloj. Elektu \"Sekvonto\" por ekhavi pliajn kampojn. Elektu \"Kompletigu"
"\" por savi agordojn." "\" por savi agordojn."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC-uzantnomo" msgstr "IRC-uzantnomo"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Pasvorto ~b" msgstr "Pasvorto ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Pordo ~b" msgstr "Pordo ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Enkodigo por servilo ~b" msgstr "Enkodigo por servilo ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Servilo ~b" msgstr "Servilo ~b"
@ -549,7 +561,8 @@ msgid "Chatrooms"
msgstr "Babilejoj" msgstr "Babilejoj"
#: mod_muc/mod_muc.erl:711 #: 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" msgstr "Vi bezonas klienton kun x:data-funkcio por registri kaŝnomon"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -566,8 +579,8 @@ msgstr "Enmetu kaŝnomon kiun vi volas registri"
msgid "Nickname" msgid "Nickname"
msgstr "Kaŝnomo" msgstr "Kaŝnomo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Kaŝnomo estas registrita de alia persono" msgstr "Kaŝnomo estas registrita de alia persono"
@ -616,7 +629,7 @@ msgid "is now known as"
msgstr "nun nomiĝas" msgstr "nun nomiĝas"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " ŝanĝis la temon al: " msgstr " ŝanĝis la temon al: "
@ -720,10 +733,6 @@ msgstr "Babilejo-agordo"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Nombro de ĉeestantoj" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Trafikrapida limigo superita" msgstr "Trafikrapida limigo superita"
@ -759,8 +768,8 @@ msgstr "Malpermesas sendi mesaĝojn de tipo \"groupchat\""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Ricevanto ne ĉeestas en la babilejo " 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Nur partoprenantoj rajtas sendi mesaĝojn al la babilejo" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Malpermesas informmendoj al partoprenantoj en ĉi tiu babilejo" msgstr "Malpermesas informmendoj al partoprenantoj en ĉi tiu babilejo"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "" msgstr ""
"Nur moderigantoj kaj partoprenantoj rajtas ŝanĝi la temon en ĉi tiu babilejo" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Nur moderigantoj rajtas ŝanĝi la temon en ĉi tiu babilejo" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Vizitantoj ne rajtas sendi mesaĝojn al ĉiuj partoprenantoj" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Ĉi tiu partoprenanto estas forpelata de la babilejo pro sendo de erar-ĉeesto" "Ĉ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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" msgstr ""
"Ne estas permesata al vizitantoj ŝanĝi siajn kaŝnomojn en ĉi tiu ĉambro" "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" msgid "That nickname is already in use by another occupant"
msgstr "Tiu kaŝnomo jam estas uzata de alia partoprenanto" 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" msgid "You have been banned from this room"
msgstr "Vi estas malpermesata en ĉi tiu babilejo" 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" msgid "Membership is required to enter this room"
msgstr "Membreco estas bezonata por eniri ĉi tiun babilejon" 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" msgid "This room is not anonymous"
msgstr "Ĉi tiu babilejo ne estas anonima" 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" msgid "A password is required to enter this room"
msgstr "Pasvorto estas bezonata por eniri ĉi tiun babilejon" 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" msgid "Unable to generate a captcha"
msgstr "Ne eblis krei aŭtomatas turingteston" msgstr "Ne eblis krei aŭtomatas turingteston"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Nekorekta pasvorto" msgstr "Nekorekta pasvorto"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Administrantaj rajtoj bezonata" msgstr "Administrantaj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Moderantaj rajtoj bezonata" msgstr "Moderantaj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s estas nevalida" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Kaŝnomo ~s ne ekzistas en la babilejo" 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" msgid "Invalid affiliation: ~s"
msgstr "Nevalida aparteneco: ~s" msgstr "Nevalida aparteneco: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Nevalida rolo: ~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" msgid "Owner privileges required"
msgstr "Mastraj rajtoj bezonata" msgstr "Mastraj rajtoj bezonata"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Agordo de babilejo ~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" msgid "Room description"
msgstr "Babilejo-priskribo" msgstr "Babilejo-priskribo"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Farigu babilejon daŭra" msgstr "Farigu babilejon daŭra"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Farigu babilejon publike trovebla" msgstr "Farigu babilejon publike trovebla"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Farigu partoprento-liston publika" msgstr "Farigu partoprento-liston publika"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Farigu babilejon protektata per pasvorto" 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" msgid "Maximum Number of Occupants"
msgstr "Limigo de nombro de partoprenantoj" msgstr "Limigo de nombro de partoprenantoj"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Neniu limigo" msgstr "Neniu limigo"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Montru verajn Jabber ID-ojn al" msgstr "Montru verajn Jabber ID-ojn al"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "moderantoj sole" msgstr "moderantoj sole"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "iu ajn" msgstr "iu ajn"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Farigu babilejon sole por membroj" msgstr "Farigu babilejon sole por membroj"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Farigu babilejon moderigata" msgstr "Farigu babilejon moderigata"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Kutime farigu uzantojn kiel partpoprenantoj" 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" msgid "Allow users to change the subject"
msgstr "Permesu uzantojn ŝanĝi la temon" 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" msgid "Allow users to send private messages"
msgstr "Permesu uzantojn sendi privatajn mesaĝojn" 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" msgid "Allow users to query other users"
msgstr "Permesu uzantojn informpeti aliajn uzantojn" 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" msgid "Allow users to send invites"
msgstr "Permesu uzantojn sendi invitojn" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Permesu al vizitantoj sendi statmesaĝon en ĉeest-sciigoj" 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" msgid "Allow visitors to change nickname"
msgstr "Permesu al vizitantoj ŝanĝi siajn kaŝnomojn" 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" msgid "Make room captcha protected"
msgstr "Farigu babilejon protektata per aŭtomata Turingtesto" 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" msgid "Enable logging"
msgstr "Ŝaltu protokoladon" 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" msgid "You need an x:data capable client to configure room"
msgstr "Vi bezonas klienton kun x:data-funkcio por agordi la babilejon" 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" msgid "Number of occupants"
msgstr "Nombro de ĉeestantoj" msgstr "Nombro de ĉeestantoj"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privata, " msgstr "privata, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s invitas vin al la babilejo ~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" msgid "the password is"
msgstr "la pasvorto estas" msgstr "la pasvorto estas"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Mesaĝo-atendovico de la senkonekta kontakto estas plena. La mesaĝo estas " "Mesaĝo-atendovico de la senkonekta kontakto estas plena. La mesaĝo estas "
"forĵetita" "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" msgid "~s's Offline Messages Queue"
msgstr "Mesaĝo-atendovico de ~s" msgstr "Mesaĝo-atendovico de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1001,20 +1014,20 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "Ĝis" msgstr "Ĝis"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pakaĵo" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Forigu elektata(j)n" 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:" msgid "Offline Messages:"
msgstr "Liverontaj mesaĝoj" 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" msgid "Remove All Offline Messages"
msgstr "Forigu ĉiujn liverontajn mesaĝojn" msgstr "Forigu ĉiujn liverontajn mesaĝojn"
@ -1022,111 +1035,135 @@ msgstr "Forigu ĉiujn liverontajn mesaĝojn"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bajtfluo modulo" 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" msgid "Publish-Subscribe"
msgstr "Public-Abonado" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Public-Abonada modulo" 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" msgid "PubSub subscriber request"
msgstr "PubAbo abonpeto" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Elektu ĉu permesi la abonon de ĉi tiu ento" 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" msgid "Node ID"
msgstr "Nodo 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" msgid "Subscriber Address"
msgstr "Abonanta adreso" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Ĉu permesi ĉi tiun Jabber ID aboni al la jena PubAbo-nodo" 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" msgid "Deliver payloads with event notifications"
msgstr "Liveru aĵojn de event-sciigoj" 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" msgid "Deliver event notifications"
msgstr "Liveru event-sciigojn" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Sciigu abonantoj kiam la agordo de la nodo ŝanĝas" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Sciigu abonantoj kiam la nodo estas forigita" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Sciigu abonantoj kiam eroj estas forigita de la nodo" 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" msgid "Persist items to storage"
msgstr "Savu erojn en konservado" 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" msgid "A friendly name for the node"
msgstr "Kromnomo por ĉi tiu nodo" 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" msgid "Max # of items to persist"
msgstr "Maksimuma kiomo de eroj en konservado" 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" msgid "Whether to allow subscriptions"
msgstr "Ĉu permesi aboni" 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" msgid "Specify the access model"
msgstr "Specifu atingo-modelon" 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" msgid "Roster groups allowed to subscribe"
msgstr "Kontaktlist-grupoj kiuj rajtas aboni" 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" msgid "Specify the publisher model"
msgstr "Enmetu publikadan modelon" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Forigu ĉiujn erojn kiam la rilata publikanto malkonektiĝas" 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" msgid "Specify the event message type"
msgstr "Specifu tipo de event-mesaĝo" 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" msgid "Max payload size in bytes"
msgstr "Maksimuma aĵo-grando je bajtoj" 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" msgid "When to send the last published item"
msgstr "Kiam sendi la laste publicitan eron" 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" msgid "Only deliver notifications to available users"
msgstr "Nur liveru sciigojn al konektataj uzantoj" 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" msgid "The collections with which a node is affiliated"
msgstr "Aro kun kiu nodo estas filigita" 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" msgid "Choose a username and password to register with this server"
msgstr "Elektu uzantnomon kaj pasvorton por registri je ĉi tiu servilo" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Ne estas permesata al uzantoj registri tiel rapide" msgstr "Ne estas permesata al uzantoj registri tiel rapide"
@ -1160,13 +1197,13 @@ msgstr "Forigu"
msgid "Roster of " msgid "Roster of "
msgstr "Kontaktlisto de " msgstr "Kontaktlisto de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Malĝusta formo" msgstr "Malĝusta formo"
@ -1178,37 +1215,37 @@ msgstr "Aldonu Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Kontaktlisto" msgstr "Kontaktlisto"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Komuna Kontaktlist-grupo" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Aldonu novan" msgstr "Aldonu novan"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nomo:" msgstr "Nomo:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Priskribo:" msgstr "Priskribo:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Membroj:" msgstr "Membroj:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Montrataj grupoj:" msgstr "Montrataj grupoj:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grupo " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1280,11 +1317,6 @@ msgstr "Organiz-parto"
msgid "Search users in " msgid "Search users in "
msgstr "Serĉu uzantojn en " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Vi bezonas klienton kun x:data-funkcio por serĉado" 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:" msgid "Outgoing s2s Servers:"
msgstr "Elirantaj s-al-s-serviloj" 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" msgid "Change Password"
msgstr "Ŝanĝu pasvorton" msgstr "Ŝanĝu pasvorton"
@ -1419,7 +1453,8 @@ msgstr "Uzanto "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Konektataj risurcoj:" 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:" msgid "Password:"
msgstr "Pasvorto:" msgstr "Pasvorto:"
@ -1628,6 +1663,126 @@ msgstr "Forigu"
msgid "Start" msgid "Start"
msgstr "Startu" 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" #~ msgid "Encodings"
#~ msgstr "Enkodigoj" #~ msgstr "Enkodigoj"

View File

@ -33,8 +33,10 @@
{"Backup to File at ","Guardar copia de seguridad en fichero en "}. {"Backup to File at ","Guardar copia de seguridad en fichero en "}.
{"Bad format","Mal formato"}. {"Bad format","Mal formato"}.
{"Birthday","Cumpleaños"}. {"Birthday","Cumpleaños"}.
{"CAPTCHA web page","Página web de CAPTCHA"}.
{"Change Password","Cambiar contraseña"}. {"Change Password","Cambiar contraseña"}.
{"Change User Password","Cambiar contraseña de usuario"}. {"Change User Password","Cambiar contraseña de usuario"}.
{"Characters not allowed:","Caracteres no permitidos:"}.
{"Chatroom configuration modified","Configuración de la sala modificada"}. {"Chatroom configuration modified","Configuración de la sala modificada"}.
{"Chatroom is created","Se ha creado la sala"}. {"Chatroom is created","Se ha creado la sala"}.
{"Chatroom is destroyed","Se ha destruido la sala"}. {"Chatroom is destroyed","Se ha destruido la sala"}.
@ -69,6 +71,7 @@
{"Description:","Descripción:"}. {"Description:","Descripción:"}.
{"Disc only copy","Copia en disco solamente"}. {"Disc only copy","Copia en disco solamente"}.
{"Displayed Groups:","Mostrar grupos:"}. {"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 Backup to Text File at ","Exporta copia de seguridad a fichero de texto en "}.
{"Dump to Text File","Exportar a fichero de texto"}. {"Dump to Text File","Exportar a fichero de texto"}.
{"Edit Properties","Editar propiedades"}. {"Edit Properties","Editar propiedades"}.
@ -120,6 +123,7 @@
{"has been kicked","ha sido expulsado"}. {"has been kicked","ha sido expulsado"}.
{" has set the subject to: "," ha puesto el asunto: "}. {" has set the subject to: "," ha puesto el asunto: "}.
{"Host","Dominio"}. {"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."}. {"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 Directory","Importar directorio"}.
{"Import File","Importar fichero"}. {"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","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 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"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","El Jabber ID ~s no es válido"}. {"Jabber ID ~s is invalid","El Jabber ID ~s no es válido"}.
{"January","enero"}. {"January","enero"}.
@ -177,6 +182,7 @@
{"May","mayo"}. {"May","mayo"}.
{"Membership is required to enter this room","Necesitas ser miembro de esta sala para poder entrar"}. {"Membership is required to enter this room","Necesitas ser miembro de esta sala para poder entrar"}.
{"Members:","Miembros:"}. {"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"}. {"Memory","Memoria"}.
{"Message body","Cuerpo del mensaje"}. {"Message body","Cuerpo del mensaje"}.
{"Middle Name","Segundo nombre"}. {"Middle Name","Segundo nombre"}.
@ -190,6 +196,7 @@
{"Name:","Nombre:"}. {"Name:","Nombre:"}.
{"Name","Nombre"}. {"Name","Nombre"}.
{"Never","Nunca"}. {"Never","Nunca"}.
{"New Password:","Nueva contraseña:"}.
{"Nickname","Apodo"}. {"Nickname","Apodo"}.
{"Nickname Registration at ","Registro del apodo en "}. {"Nickname Registration at ","Registro del apodo en "}.
{"Nickname ~s does not exist in the room","El apodo ~s no existe en la sala"}. {"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:"}.
{"Offline Messages","Mensajes diferidos"}. {"Offline Messages","Mensajes diferidos"}.
{"OK","Aceptar"}. {"OK","Aceptar"}.
{"Old Password:","Contraseña antigua:"}.
{"Online","Conectado"}. {"Online","Conectado"}.
{"Online Users:","Usuarios conectados:"}. {"Online Users:","Usuarios conectados:"}.
{"Online Users","Usuarios conectados"}. {"Online Users","Usuarios conectados"}.
@ -234,6 +242,7 @@
{"Password ~b","Contraseña ~b"}. {"Password ~b","Contraseña ~b"}.
{"Password:","Contraseña:"}. {"Password:","Contraseña:"}.
{"Password","Contraseña"}. {"Password","Contraseña"}.
{"Password Verification:","Verificación de la 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 Dir","Ruta al directorio"}.
{"Path to File","Ruta al fichero"}. {"Path to File","Ruta al fichero"}.
@ -257,8 +266,10 @@
{"Raw","Crudo"}. {"Raw","Crudo"}.
{"Really delete message of the day?","¿Está seguro de quere borrar el mensaje del dia?"}. {"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"}. {"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:"}.
{"Registered Users","Usuarios registrados"}. {"Registered Users","Usuarios registrados"}.
{"Register","Registrar"}.
{"Registration in mod_irc for ","Registro en mod_irc para"}. {"Registration in mod_irc for ","Registro en mod_irc para"}.
{"Remote copy","Copia remota"}. {"Remote copy","Copia remota"}.
{"Remove All Offline Messages","Borrar todos los mensajes diferidos"}. {"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"}. {"Send announcement to all users on all hosts","Enviar anuncio a todos los usuarios en todos los dominios"}.
{"September","septiembre"}. {"September","septiembre"}.
{"Server ~b","Servidor ~b"}. {"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 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"}. {"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"}. {"Shared Roster Groups","Grupos Compartidos"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Mostrar Tabla Ordinaria"}. {"Show Ordinary Table","Mostrar Tabla Ordinaria"}.
{"Shut Down Service","Detener el servicio"}. {"Shut Down Service","Detener el servicio"}.
{"~s invites you to the room ~s","~s te invita a la sala ~s"}. {"~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 access model","Especifica el modelo de acceso"}.
{"Specify the event message type","Especifica el tipo del mensaje de evento"}. {"Specify the event message type","Especifica el tipo del mensaje de evento"}.
{"Specify the publisher model","Especificar el modelo del publicante"}. {"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 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"}. {"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 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 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","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","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 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"}. {"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:"}. {"Transactions Restarted:","Transacciones reiniciadas:"}.
{"Tuesday","martes"}. {"Tuesday","martes"}.
{"Unable to generate a captcha","No se pudo generar un captcha."}. {"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"}. {"Unauthorized","No autorizado"}.
{"Unregister a Jabber account","Borrar una cuenta Jabber"}.
{"Unregister","Borrar"}.
{"Update ","Actualizar "}. {"Update ","Actualizar "}.
{"Update","Actualizar"}. {"Update","Actualizar"}.
{"Update message of the day (don't send)","Actualizar mensaje del dia, pero no enviarlo"}. {"Update message of the day (don't send)","Actualizar mensaje del dia, pero no enviarlo"}.
@ -355,6 +380,7 @@
{"Uptime:","Tiempo desde el inicio:"}. {"Uptime:","Tiempo desde el inicio:"}.
{"Use of STARTTLS required","Es obligatorio usar STARTTLS"}. {"Use of STARTTLS required","Es obligatorio usar STARTTLS"}.
{"User Management","Administración de usuarios"}. {"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 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 Last Activity","Última actividad de los usuarios"}.
{"Users","Usuarios"}. {"Users","Usuarios"}.
@ -367,11 +393,16 @@
{"Wednesday","miércoles"}. {"Wednesday","miércoles"}.
{"When to send the last published item","Cuando enviar el último elemento publicado"}. {"When to send the last published item","Cuando enviar el último elemento publicado"}.
{"Whether to allow subscriptions","Permitir subscripciones"}. {"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 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 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 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 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"}. {"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 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"}. {"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 "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: es\n" "Project-Id-Version: es\n"
"PO-Revision-Date: 2010-05-21 00:15+0200\n" "PO-Revision-Date: 2010-11-19 13:40+0100\n"
"Last-Translator: Badlop <badlop@process-one.net>\n" "Last-Translator: \n"
"Language-Team: <en@li.org>\n" "Language-Team: \n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Spanish (castellano)\n" "X-Language: Spanish (castellano)\n"
"X-Generator: KBabel 1.11.4\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" msgid "Use of STARTTLS required"
msgstr "Es obligatorio usar STARTTLS" msgstr "Es obligatorio usar STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "No se ha proporcionado recurso" msgstr "No se ha proporcionado recurso"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Reemplazado por una nueva conexión" 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" msgid "Enter the text you see"
msgstr "Teclea el texto que ves" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Tus mensajes a ~s están siendo bloqueados. Para desbloquearlos, visita ~s" "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." msgid "The captcha is valid."
msgstr "El captcha es válido." msgstr "El captcha es válido."
@ -367,7 +379,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Contraseña" msgstr "Contraseña"
@ -438,17 +450,17 @@ msgstr "Transporte de IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Módulo de IRC para ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Necesitas un cliente con soporte de x:data para configurar las opciones de " "Necesitas un cliente con soporte de x:data para configurar las opciones de "
"mod_irc" "mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registro en mod_irc para" msgstr "Registro en mod_irc para"
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -456,11 +468,11 @@ msgstr ""
"Introduce el nombre de usuario, codificaciones de carácteres, puertos y " "Introduce el nombre de usuario, codificaciones de carácteres, puertos y "
"contraseñas que quieras usar al conectar en los servidores de IRC" "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" msgid "IRC Username"
msgstr "Nombre de usuario en IRC" msgstr "Nombre de usuario en IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -472,7 +484,7 @@ msgstr ""
"'{\"servidor irc\", \"codificación\", \"puerto\", \"contrasela\"}'. Este " "'{\"servidor irc\", \"codificación\", \"puerto\", \"contrasela\"}'. Este "
"servicio usa por defecto la codificación \"~s\", puerto ~p, sin contraseña." "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 "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -480,35 +492,35 @@ msgstr ""
"Ejemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Ejemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Parámetros de conexiones" msgstr "Parámetros de conexiones"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Entrar en canal IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Canal IRC (no pongas el # del principio)" msgstr "Canal IRC (no pongas el # del principio)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Servidor IRC" 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." msgid "Join the IRC channel here."
msgstr "Entrar en el canal de IRC aquí" 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra en el canal de IRC en esta dirección Jabber: ~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" msgid "IRC settings"
msgstr "Opciones de IRC" msgstr "Opciones de IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "usar al conectar en los servidores de IRC. Pulsa Siguiente para conseguir "
"más campos en el formulario. Pulsa Completar para guardar las opciones." "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" msgid "IRC username"
msgstr "Nombre de usuario en IRC" msgstr "Nombre de usuario en IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Contraseña ~b" msgstr "Contraseña ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Puerto ~b" msgstr "Puerto ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Codificación del servidor ~b" msgstr "Codificación del servidor ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Servidor ~b" msgstr "Servidor ~b"
@ -557,7 +569,7 @@ msgid "Chatrooms"
msgstr "Salas de charla" msgstr "Salas de charla"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Necesitas un cliente con soporte de x:data para poder registrar el apodo" "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" msgid "Nickname"
msgstr "Apodo" msgstr "Apodo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "El apodo ya está registrado por otra persona" msgstr "El apodo ya está registrado por otra persona"
@ -625,7 +637,7 @@ msgid "is now known as"
msgstr "se cambia el nombre a" msgstr "se cambia el nombre a"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " ha puesto el asunto: " msgstr " ha puesto el asunto: "
@ -729,10 +741,6 @@ msgstr "Configuración de la sala"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Ocupantes de la sala" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Se ha exedido el límite de tráfico" 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" msgid "Recipient is not in the conference room"
msgstr "El receptor no está en la sala de conferencia" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Solo los ocupantes pueden enviar mensajes a la sala" 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" 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" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "" msgstr ""
"Solo los moderadores y participantes pueden cambiar el asunto de esta sala" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Solo los moderadores pueden cambiar el asunto de esta sala" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Los visitantes no pueden enviar mensajes a todos los ocupantes" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Este participante ha sido expulsado de la sala porque envió una presencia de " "Este participante ha sido expulsado de la sala porque envió una presencia de "
"error" "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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Los visitantes no tienen permitido cambiar sus apodos en esta sala" 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" msgid "That nickname is already in use by another occupant"
msgstr "Ese apodo ya está siendo usado por otro ocupante" 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" msgid "You have been banned from this room"
msgstr "Has sido bloqueado en esta sala" 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" msgid "Membership is required to enter this room"
msgstr "Necesitas ser miembro de esta sala para poder entrar" 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" msgid "This room is not anonymous"
msgstr "Sala no anónima" 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" msgid "A password is required to enter this room"
msgstr "Se necesita contraseña para entrar en esta sala" 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" msgid "Unable to generate a captcha"
msgstr "No se pudo generar un 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" msgid "Incorrect password"
msgstr "Contraseña incorrecta" msgstr "Contraseña incorrecta"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Se necesita privilegios de administrador" msgstr "Se necesita privilegios de administrador"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Se necesita privilegios de moderador" 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" msgid "Jabber ID ~s is invalid"
msgstr "El Jabber ID ~s no es válido" 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" msgid "Nickname ~s does not exist in the room"
msgstr "El apodo ~s no existe en la sala" 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" msgid "Invalid affiliation: ~s"
msgstr "Afiliación no válida: ~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" msgid "Invalid role: ~s"
msgstr "Rol no válido: ~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" msgid "Owner privileges required"
msgstr "Se requieren privilegios de propietario de la sala" 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" msgid "Configuration of room ~s"
msgstr "Configuración para la sala ~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" msgid "Room description"
msgstr "Descripción de la sala" msgstr "Descripción de la sala"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Sala permanente" msgstr "Sala permanente"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Sala públicamente visible" msgstr "Sala públicamente visible"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "La lista de participantes es pública" 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" msgid "Make room password protected"
msgstr "Proteger la sala con contraseña" 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" msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes" msgstr "Número máximo de ocupantes"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Sin límite" msgstr "Sin límite"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Los Jabber ID reales pueden verlos" msgstr "Los Jabber ID reales pueden verlos"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "solo moderadores" msgstr "solo moderadores"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "cualquiera" msgstr "cualquiera"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Sala sólo para miembros" msgstr "Sala sólo para miembros"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Sala moderada" msgstr "Sala moderada"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Los usuarios son participantes por defecto" 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" msgid "Allow users to change the subject"
msgstr "Permitir a los usuarios cambiar el asunto" 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" msgid "Allow users to send private messages"
msgstr "Permitir a los usuarios enviar mensajes privados" 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" msgid "Allow users to query other users"
msgstr "Permitir a los usuarios consultar a otros usuarios" 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" msgid "Allow users to send invites"
msgstr "Permitir a los usuarios enviar invitaciones" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Permitir a los visitantes enviar texto de estado en las actualizaciones de " "Permitir a los visitantes enviar texto de estado en las actualizaciones de "
"presencia" "presencia"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Permitir a los visitantes cambiarse el apodo" 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" msgid "Make room captcha protected"
msgstr "Proteger la sala con captcha" msgstr "Proteger la sala con captcha"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Guardar históricos" 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" msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar la sala" 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" msgid "Number of occupants"
msgstr "Número de ocupantes" msgstr "Número de ocupantes"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privado" msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s te invita a la sala ~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" msgid "the password is"
msgstr "la contraseña es" msgstr "la contraseña es"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Tu cola de mensajes diferidos de contactos está llena. El mensaje se ha " "Tu cola de mensajes diferidos de contactos está llena. El mensaje se ha "
"descartado." "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" msgid "~s's Offline Messages Queue"
msgstr "Cola de mensajes diferidos de ~s" msgstr "Cola de mensajes diferidos de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1012,20 +1024,20 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "Para" msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paquete" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminar los seleccionados" 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:" msgid "Offline Messages:"
msgstr "Mensajes diferidos:" 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" msgid "Remove All Offline Messages"
msgstr "Borrar todos los mensajes diferidos" msgstr "Borrar todos los mensajes diferidos"
@ -1033,112 +1045,133 @@ msgstr "Borrar todos los mensajes diferidos"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo SOCKS5 Bytestreams para ejabberd" 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" msgid "Publish-Subscribe"
msgstr "Servicio de Publicar-Subscribir" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd" 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" msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir si aprobar la subscripción de esta entidad." 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" msgid "Node ID"
msgstr "Nodo 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" msgid "Subscriber Address"
msgstr "Dirección del subscriptor" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "¿Deseas permitir a este JabberID que se subscriba a este nodo PubSub?" 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" msgid "Deliver payloads with event notifications"
msgstr "Enviar contenidos junto con las notificaciones de eventos" 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" msgid "Deliver event notifications"
msgstr "Entregar notificaciones de eventos" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cuando cambia la configuración del nodo" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cuando el nodo se borra" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cuando los elementos se borran del nodo" 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" msgid "Persist items to storage"
msgstr "Persistir elementos al almacenar" 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" msgid "A friendly name for the node"
msgstr "Un nombre sencillo para el nodo" 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" msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten" 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" msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones" 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" msgid "Specify the access model"
msgstr "Especifica el modelo de acceso" 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" msgid "Roster groups allowed to subscribe"
msgstr "Grupos de contactos que pueden suscribirse" 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" msgid "Specify the publisher model"
msgstr "Especificar el modelo del publicante" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Borra todos los elementos cuando el publicador relevante se desconecta" 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" msgid "Specify the event message type"
msgstr "Especifica el tipo del mensaje de evento" 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" msgid "Max payload size in bytes"
msgstr "Máximo tamaño del contenido en 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" msgid "When to send the last published item"
msgstr "Cuando enviar el último elemento publicado" 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" msgid "Only deliver notifications to available users"
msgstr "Solo enviar notificaciones a los usuarios disponibles" 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" msgid "The collections with which a node is affiliated"
msgstr "Las colecciones a las que un nodo está afiliado" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Escoge un nombre de usuario y contraseña para registrarte en este servidor" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Los usuarios no tienen permitido crear cuentas con tanta rapidez" msgstr "Los usuarios no tienen permitido crear cuentas con tanta rapidez"
@ -1172,13 +1205,13 @@ msgstr "Borrar"
msgid "Roster of " msgid "Roster of "
msgstr "Lista de contactos de " msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Mal formato" msgstr "Mal formato"
@ -1190,37 +1223,37 @@ msgstr "Añadir Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Lista de contactos" msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Grupos Compartidos" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Añadir nuevo" msgstr "Añadir nuevo"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nombre:" msgstr "Nombre:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Descripción:" msgstr "Descripción:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Miembros:" msgstr "Miembros:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Mostrar grupos:" msgstr "Mostrar grupos:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grupo " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1292,11 +1325,6 @@ msgstr "Unidad de la organización"
msgid "Search users in " msgid "Search users in "
msgstr "Buscar usuarios en " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar" msgstr "Necesitas un cliente con soporte de x:data para poder buscar"
@ -1419,7 +1447,9 @@ msgstr "Conexiones S2S salientes:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S salientes:" 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" msgid "Change Password"
msgstr "Cambiar contraseña" msgstr "Cambiar contraseña"
@ -1431,7 +1461,8 @@ msgstr "Usuario "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Recursos conectados:" 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:" msgid "Password:"
msgstr "Contraseña:" msgstr "Contraseña:"
@ -1643,3 +1674,124 @@ msgstr "Eliminar"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Iniciar" 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 "}. {"Backup to File at ","Sauvegarde sur fichier sur "}.
{"Bad format","Mauvais format"}. {"Bad format","Mauvais format"}.
{"Birthday","Date d'anniversaire"}. {"Birthday","Date d'anniversaire"}.
{"CAPTCHA web page","Page web de CAPTCHA"}.
{"Change Password","Modifier le mot de passe"}. {"Change Password","Modifier le mot de passe"}.
{"Change User Password","Changer le mot de passe de l'utilisateur"}. {"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 configuration modified","Configuration du salon modifiée"}.
{"Chatroom is created","Le salon de discussion est créé"}. {"Chatroom is created","Le salon de discussion est créé"}.
{"Chatroom is destroyed","Le salon de discussion est détruit"}. {"Chatroom is destroyed","Le salon de discussion est détruit"}.
@ -69,6 +71,7 @@
{"Description:","Description :"}. {"Description:","Description :"}.
{"Disc only copy","Copie sur disque uniquement"}. {"Disc only copy","Copie sur disque uniquement"}.
{"Displayed Groups:","Groupes affichés :"}. {"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 Backup to Text File at ","Enregistrer la sauvegarde dans un fichier texte sur "}.
{"Dump to Text File","Sauvegarder dans un fichier texte"}. {"Dump to Text File","Sauvegarder dans un fichier texte"}.
{"Edit Properties","Modifier les propriétés"}. {"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 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: "}. {" has set the subject to: "," a changé le sujet pour: "}.
{"Host","Serveur"}. {"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."}. {"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 Directory","Importer une répertoire"}.
{"Import File","Importer un fichier"}. {"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","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 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"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Le Jabber ID ~s n'est pas valide"}. {"Jabber ID ~s is invalid","Le Jabber ID ~s n'est pas valide"}.
{"January","Janvier"}. {"January","Janvier"}.
@ -177,6 +182,7 @@
{"May","Mai"}. {"May","Mai"}.
{"Membership is required to enter this room","Vous devez être membre pour accèder à ce salon"}. {"Membership is required to enter this room","Vous devez être membre pour accèder à ce salon"}.
{"Members:","Membres :"}. {"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"}. {"Memory","Mémoire"}.
{"Message body","Corps du message"}. {"Message body","Corps du message"}.
{"Middle Name","Autre nom"}. {"Middle Name","Autre nom"}.
@ -190,6 +196,7 @@
{"Name:","Nom :"}. {"Name:","Nom :"}.
{"Name","Nom"}. {"Name","Nom"}.
{"Never","Jamais"}. {"Never","Jamais"}.
{"New Password:","Nouveau mot de passe:"}.
{"Nickname","Pseudo"}. {"Nickname","Pseudo"}.
{"Nickname Registration at ","Enregistrement d'un pseudo sur "}. {"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"}. {"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 :"}.
{"Offline Messages","Messages en attente"}. {"Offline Messages","Messages en attente"}.
{"OK","OK"}. {"OK","OK"}.
{"Old Password:","Ancien mot de passe:"}.
{"Online","En ligne"}. {"Online","En ligne"}.
{"Online Users:","Utilisateurs connectés:"}. {"Online Users:","Utilisateurs connectés:"}.
{"Online Users","Utilisateurs en ligne"}. {"Online Users","Utilisateurs en ligne"}.
@ -234,6 +242,7 @@
{"Password ~b","Mot de passe ~b"}. {"Password ~b","Mot de passe ~b"}.
{"Password:","Mot de passe:"}. {"Password:","Mot de passe:"}.
{"Password","Mot de passe"}. {"Password","Mot de passe"}.
{"Password Verification:","Vérification du 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 Dir","Chemin vers le répertoire"}.
{"Path to File","Chemin vers le fichier"}. {"Path to File","Chemin vers le fichier"}.
@ -257,8 +266,10 @@
{"Raw","Brut"}. {"Raw","Brut"}.
{"Really delete message of the day?","Confirmer la suppression du message du jour ?"}. {"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"}. {"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:"}.
{"Registered Users","Utilisateurs enregistrés"}. {"Registered Users","Utilisateurs enregistrés"}.
{"Register","Enregistrer"}.
{"Registration in mod_irc for ","Enregistrement du mod_irc pour "}. {"Registration in mod_irc for ","Enregistrement du mod_irc pour "}.
{"Remote copy","Copie distante"}. {"Remote copy","Copie distante"}.
{"Remove All Offline Messages","Effacer tous les messages hors ligne"}. {"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"}. {"Send announcement to all users on all hosts","Envoyer une annonce à tous les utilisateurs de tous les domaines"}.
{"September","Septembre"}. {"September","Septembre"}.
{"Server ~b","Serveur ~b"}. {"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 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"}. {"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"}. {"Shared Roster Groups","Groupes de liste de contacts partagée"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Montrer la table ordinaire"}. {"Show Ordinary Table","Montrer la table ordinaire"}.
{"Shut Down Service","Arrêter le service"}. {"Shut Down Service","Arrêter le service"}.
{"~s invites you to the room ~s","~s vous a invité dans la salle de discussion ~s"}. {"~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 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 event message type","Définir le type de message d'événement"}.
{"Specify the publisher model","Définir le modèle de publication"}. {"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 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"}. {"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 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 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","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","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 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é"}. {"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 :"}. {"Transactions Restarted:","Transactions redémarrées :"}.
{"Tuesday","Mardi"}. {"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"}.
{"Unable to generate a CAPTCHA","Impossible de générer le CAPTCHA"}.
{"Unauthorized","Non autorisé"}. {"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 (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 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"}. {"Update","Mettre à jour"}.
@ -355,6 +380,7 @@
{"Uptime:","Temps depuis le démarrage :"}. {"Uptime:","Temps depuis le démarrage :"}.
{"Use of STARTTLS required","L'utilisation de STARTTLS est impérative"}. {"Use of STARTTLS required","L'utilisation de STARTTLS est impérative"}.
{"User Management","Gestion des utilisateurs"}. {"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 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 Last Activity","Dernière activité des utilisateurs"}.
{"Users","Utilisateurs"}. {"Users","Utilisateurs"}.
@ -367,11 +393,16 @@
{"Wednesday","Mercredi"}. {"Wednesday","Mercredi"}.
{"When to send the last published item","A quel moment envoyer le dernier élément publié"}. {"When to send the last published item","A quel moment envoyer le dernier élément publié"}.
{"Whether to allow subscriptions","Autoriser l'abonnement ?"}. {"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 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 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 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 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"}. {"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 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"}. {"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: Mickaël Rémond\n"
"X-Additional-Translator: Vincent Ricard\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" msgid "Use of STARTTLS required"
msgstr "L'utilisation de STARTTLS est impérative" msgstr "L'utilisation de STARTTLS est impérative"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Aucune ressource fournie" msgstr "Aucune ressource fournie"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Remplacé par une nouvelle connexion" 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" msgid "Enter the text you see"
msgstr "Tapez le texte que vous voyez" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Vos messages pour ~s sont bloqués. Pour les débloquer, veuillez visiter ~s" "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." msgid "The captcha is valid."
msgstr "Le captcha est valide" msgstr "Le captcha est valide"
@ -370,7 +382,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Mot de passe" msgstr "Mot de passe"
@ -441,16 +453,16 @@ msgstr "Passerelle IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Module IRC ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Vous avez besoin d'un client supportant x:data pour configurer le module IRC" "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 " msgid "Registration in mod_irc for "
msgstr "Enregistrement du mod_irc pour " msgstr "Enregistrement du mod_irc pour "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -458,11 +470,11 @@ msgstr ""
"Entrez le nom d'utilisateur, les encodages, les ports et mots de passe que " "Entrez le nom d'utilisateur, les encodages, les ports et mots de passe que "
"vous souhaitez utiliser pour vous connecter aux serveurs IRC" "vous souhaitez utiliser pour vous connecter aux serveurs IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Nom d'utilisateur IRC" msgstr "Nom d'utilisateur IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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 " "'{\"serveur irc\", \"encodage\", port, \"mot de passe\"}'. Par défaut ce "
"service utilise l'encodage \"~s\", port ~p, mot de passe vide." "service utilise l'encodage \"~s\", port ~p, mot de passe vide."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -482,35 +494,35 @@ msgstr ""
"Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Exemple: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Paramètres de connexion" msgstr "Paramètres de connexion"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Rejoindre un canal IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Canal IRC (ne pas insérer le premier caractère #)" 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" msgid "IRC server"
msgstr "Serveur IRC" 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." msgid "Join the IRC channel here."
msgstr "Rejoindre un canal IRC ici" 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Rejoindre un canal IRC avec ce 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" msgid "IRC settings"
msgstr "Configuration IRC" msgstr "Configuration IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "pour vous connecter aux serveurs IRC. Appuyez sur 'Suivant' pour pour avoir "
"d'autres champs à remplir. Appuyez sur 'Terminer' pour sauver les paramètres." "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" msgid "IRC username"
msgstr "Nom d'utilisateur IRC" msgstr "Nom d'utilisateur IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Mot de passe ~b" msgstr "Mot de passe ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Codage pour le serveur ~b" msgstr "Codage pour le serveur ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Serveur ~b" msgstr "Serveur ~b"
@ -559,9 +571,10 @@ msgid "Chatrooms"
msgstr "Salons de discussion" msgstr "Salons de discussion"
#: mod_muc/mod_muc.erl:711 #: 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 "" 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 #: mod_muc/mod_muc.erl:717
msgid "Nickname Registration at " msgid "Nickname Registration at "
@ -577,8 +590,8 @@ msgstr "Entrez le pseudo que vous souhaitez enregistrer"
msgid "Nickname" msgid "Nickname"
msgstr "Pseudo" msgstr "Pseudo"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Le pseudo est enregistré par une autre personne" msgstr "Le pseudo est enregistré par une autre personne"
@ -627,7 +640,7 @@ msgid "is now known as"
msgstr "est maintenant connu comme" msgstr "est maintenant connu comme"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " a changé le sujet pour: " msgstr " a changé le sujet pour: "
@ -731,10 +744,6 @@ msgstr "Configuration du salon"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Occupants du salon" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "La limite de trafic a été dépassée" msgstr "La limite de trafic a été dépassée"
@ -770,8 +779,8 @@ msgstr ""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Le destinataire n'est pas dans la conférence" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seuls les occupants peuvent envoyer des messages à la conférence" 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 " "Les requêtes sur les membres de la conférence ne sont pas autorisé dans ce "
"salon" "salon"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -798,206 +807,210 @@ msgstr ""
"Seuls les modérateurs et les participants peuvent changer le sujet dans ce " "Seuls les modérateurs et les participants peuvent changer le sujet dans ce "
"salon" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Seuls les modérateurs peuvent changer le sujet dans ce salon" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "" msgstr ""
"Les visiteurs ne sont pas autorisés à envoyer des messages à tout les " "Les visiteurs ne sont pas autorisés à envoyer des messages à tout les "
"occupants" "occupants"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Ce participant est expulsé du salon pour avoir envoyé une présence erroné" "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" 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" 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" msgid "That nickname is already in use by another occupant"
msgstr "Le pseudo est déjà utilisé par un autre 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" msgid "You have been banned from this room"
msgstr "Vous avez été exclus de ce salon" 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" msgid "Membership is required to enter this room"
msgstr "Vous devez être membre pour accèder à ce salon" 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" msgid "This room is not anonymous"
msgstr "Ce salon n'est pas anonyme" 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" msgid "A password is required to enter this room"
msgstr "Un mot de passe est nécessaire pour accèder à ce salon" 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" msgid "Unable to generate a captcha"
msgstr "Impossible de générer le 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" msgid "Incorrect password"
msgstr "Mot de passe incorrect" msgstr "Mot de passe incorrect"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Les droits d'administrateur sont nécessaires" 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" msgid "Moderator privileges required"
msgstr "Les droits de modérateur sont nécessaires" 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" msgid "Jabber ID ~s is invalid"
msgstr "Le Jabber ID ~s n'est pas valide" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Le pseudo ~s n'existe pas dans ce salon" 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" msgid "Invalid affiliation: ~s"
msgstr "Affiliation invalide : ~s" msgstr "Affiliation invalide : ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Role invalide : ~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" msgid "Owner privileges required"
msgstr "Les droits de propriétaire sont nécessaires" 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" msgid "Configuration of room ~s"
msgstr "Configuration pour le salon ~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" msgid "Room description"
msgstr "Description :" msgstr "Description :"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Rendre le salon persistant" msgstr "Rendre le salon persistant"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Rendre le salon public" msgstr "Rendre le salon public"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Rendre la liste des participants publique" 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" msgid "Make room password protected"
msgstr "Protéger le salon par mot de passe" 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" msgid "Maximum Number of Occupants"
msgstr "Nombre maximum d'occupants" msgstr "Nombre maximum d'occupants"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Pas de limite" msgstr "Pas de limite"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Rendre le Jabber ID réel visible pour" 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" msgid "moderators only"
msgstr "modérateurs seulement" msgstr "modérateurs seulement"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "tout le monde" msgstr "tout le monde"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Réserver le salon aux membres uniquement" 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" msgid "Make room moderated"
msgstr "Rendre le salon modéré" 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" msgid "Default users as participants"
msgstr "Les utilisateurs sont par défaut participant" 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" msgid "Allow users to change the subject"
msgstr "Autoriser les utilisateurs à changer le sujet" 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" msgid "Allow users to send private messages"
msgstr "Autoriser les utilisateurs à envoyer des messages privés" 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" msgid "Allow users to query other users"
msgstr "" msgstr ""
"Permettre aux utilisateurs d'envoyer des requêtes aux autres utilisateurs" "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" msgid "Allow users to send invites"
msgstr "Permettre aux utilisateurs d'envoyer des invitations" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Autoriser les visiteurs à envoyer un message d'état avec leur présence" 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" msgid "Allow visitors to change nickname"
msgstr "Autoriser les visiteurs à changer de pseudo" 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" msgid "Make room captcha protected"
msgstr "Protéger le salon par un captcha" 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" msgid "Enable logging"
msgstr "Activer l'archivage" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"Vous avez besoin d'un client supportant x:data pour configurer le salon" "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" msgid "Number of occupants"
msgstr "Nombre d'occupants" msgstr "Nombre d'occupants"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privé" msgstr "privé"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s vous a invité dans la salle de discussion ~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" msgid "the password is"
msgstr "le mot de passe est" 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 "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"La file d'attente de message de votre contact est pleine. Votre message a " "La file d'attente de message de votre contact est pleine. Votre message a "
"été détruit." "é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" msgid "~s's Offline Messages Queue"
msgstr "~s messages en file d'attente" msgstr "~s messages en file d'attente"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1019,20 +1032,20 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "A" msgstr "A"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paquet" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Suppression des éléments sélectionnés" 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:" msgid "Offline Messages:"
msgstr "Messages en attente :" 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" msgid "Remove All Offline Messages"
msgstr "Effacer tous les messages hors ligne" msgstr "Effacer tous les messages hors ligne"
@ -1040,113 +1053,136 @@ msgstr "Effacer tous les messages hors ligne"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "Publication-Abonnement" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Module Publish-Subscribe d'ejabberd" 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" msgid "PubSub subscriber request"
msgstr "Demande d'abonnement PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Accepter cet abonnement ?" 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" msgid "Node ID"
msgstr "Identifiant du nœud" 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" msgid "Subscriber Address"
msgstr "Adresse de l'abonné" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Autoriser ce Jabber ID à s'abonner à ce nœud PubSub" 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" msgid "Deliver payloads with event notifications"
msgstr "Inclure le contenu du message avec la notification" 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" msgid "Deliver event notifications"
msgstr "Envoyer les notifications d'événement" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Avertir les abonnés lorsque la configuration du nœud change" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Avertir les abonnés lorsque le nœud est supprimé" 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" 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" 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" msgid "Persist items to storage"
msgstr "Stockage persistant des éléments" 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" msgid "A friendly name for the node"
msgstr "Un nom convivial pour le noeud" 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" msgid "Max # of items to persist"
msgstr "Nombre maximum d'éléments à stocker" 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" msgid "Whether to allow subscriptions"
msgstr "Autoriser l'abonnement ?" 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" msgid "Specify the access model"
msgstr "Définir le modèle d'accès" 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" msgid "Roster groups allowed to subscribe"
msgstr "Groupes de liste de contact autorisés à s'abonner" 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" msgid "Specify the publisher model"
msgstr "Définir le modèle de publication" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Purger tous les items lorsque publieur est hors-ligne" 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" msgid "Specify the event message type"
msgstr "Définir le type de message d'événement" 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" msgid "Max payload size in bytes"
msgstr "Taille maximum pour le contenu du message en octet" 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" msgid "When to send the last published item"
msgstr "A quel moment envoyer le dernier élément publié" 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" msgid "Only deliver notifications to available users"
msgstr "Envoyer les notifications uniquement aux utilisateurs disponibles" 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" msgid "The collections with which a node is affiliated"
msgstr "Les collections avec lesquelle un nœud est affilié" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Choisissez un nom d'utilisateur et un mot de passe pour s'enregistrer sur ce " "Choisissez un nom d'utilisateur et un mot de passe pour s'enregistrer sur ce "
"serveur" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "" msgstr ""
"Les utilisateurs ne sont pas autorisés à enregistrer des comptes si " "Les utilisateurs ne sont pas autorisés à enregistrer des comptes si "
@ -1182,13 +1218,13 @@ msgstr "Enlever"
msgid "Roster of " msgid "Roster of "
msgstr "Liste de contact de " msgstr "Liste de contact de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Mauvais format" msgstr "Mauvais format"
@ -1200,37 +1236,37 @@ msgstr "Ajouter un Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Liste de contacts" msgstr "Liste de contacts"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Groupes de liste de contacts partagée" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Ajouter" msgstr "Ajouter"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nom :" msgstr "Nom :"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Description :" msgstr "Description :"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Membres :" msgstr "Membres :"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Groupes affichés :" msgstr "Groupes affichés :"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Groupe " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1302,11 +1338,6 @@ msgstr "Unité de l'organisation"
msgid "Search users in " msgid "Search users in "
msgstr "Rechercher des utilisateurs " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "" msgstr ""
@ -1430,7 +1461,9 @@ msgstr "Connexions s2s sortantes:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Serveurs s2s sortants" 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" msgid "Change Password"
msgstr "Modifier le mot de passe" msgstr "Modifier le mot de passe"
@ -1442,7 +1475,8 @@ msgstr "Utilisateur "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Ressources connectées:" 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:" msgid "Password:"
msgstr "Mot de passe:" msgstr "Mot de passe:"
@ -1656,6 +1690,135 @@ msgstr "Supprimer"
msgid "Start" msgid "Start"
msgstr "Démarrer" 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" #~ msgid "Encodings"
#~ msgstr "Encodages" #~ 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 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 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 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"}. {"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 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"}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Galician (galego)\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" msgid "Use of STARTTLS required"
msgstr "É obrigatorio usar STARTTLS" msgstr "É obrigatorio usar STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Non se proporcionou recurso" msgstr "Non se proporcionou recurso"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Substituído por unha nova conexión" 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" msgid "Enter the text you see"
msgstr "Introduza o texto que ves" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"As súas mensaxes a ~s encóntranse bloqueadas. Para desbloquear, visite ~s" "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." msgid "The captcha is valid."
msgstr "O Captcha é válido." msgstr "O Captcha é válido."
@ -361,7 +373,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Contrasinal" msgstr "Contrasinal"
@ -432,17 +444,17 @@ msgstr "Transporte IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Módulo de IRC para ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Necesitas un cliente con soporte de x:data para configurar as opcións de " "Necesitas un cliente con soporte de x:data para configurar as opcións de "
"mod_irc" "mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Rexistro en mod_irc para" msgstr "Rexistro en mod_irc para"
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -450,11 +462,11 @@ msgstr ""
"Introduza o nome de usuario, codificaciones de carácter, portos e " "Introduza o nome de usuario, codificaciones de carácter, portos e "
"contrasinal que pretende utilizar a conectar a servidores de IRC" "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" msgid "IRC Username"
msgstr "Nome de usuario en IRC" msgstr "Nome de usuario en IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -466,7 +478,7 @@ msgstr ""
"\"codificación\", \"porto\", \"contrasinal\"}'. Este servizo utiliza por " "\"codificación\", \"porto\", \"contrasinal\"}'. Este servizo utiliza por "
"defecto a codificación \"~s\", porto ~p, sen contrasinal." "defecto a codificación \"~s\", porto ~p, sen contrasinal."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -474,35 +486,35 @@ msgstr ""
"Exemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Exemplo: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Parámetros de conexiones" msgstr "Parámetros de conexiones"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Entrar en canle IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Canle de IRC (non poñer o primeiro #)" msgstr "Canle de IRC (non poñer o primeiro #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Servidor IRC" 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." msgid "Join the IRC channel here."
msgstr "Únete á canle de IRC aquí." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Únete á canle de IRC con este IDE de Jabber: ~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" msgid "IRC settings"
msgstr "IRC axustes" msgstr "IRC axustes"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "ao conectar nos servidores de IRC. Presione 'Siguiente' para obtener más "
"campos para rellenar Presione 'completo' para guardar axustes." "campos para rellenar Presione 'completo' para guardar axustes."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Nome de usuario en IRC" msgstr "Nome de usuario en IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Contrasinal ~b" msgstr "Contrasinal ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Porto ~b" msgstr "Porto ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Codificación de servidor ~b" msgstr "Codificación de servidor ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Servidor ~b" msgstr "Servidor ~b"
@ -551,7 +563,8 @@ msgid "Chatrooms"
msgstr "Salas de charla" msgstr "Salas de charla"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Necesitas un cliente con soporte de x:data para poder rexistrar o alcume" "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" msgid "Nickname"
msgstr "Alcume" msgstr "Alcume"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "O alcume xa está rexistrado por outra persoa" msgstr "O alcume xa está rexistrado por outra persoa"
@ -619,7 +632,7 @@ msgid "is now known as"
msgstr "cámbiase o nome a" msgstr "cámbiase o nome a"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " puxo o asunto: " msgstr " puxo o asunto: "
@ -727,10 +740,6 @@ msgstr "Configuración da Sala"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Ocupantes da sala" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Hase exedido o límite de tráfico" 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" msgid "Recipient is not in the conference room"
msgstr "O receptor non está na sala de conferencia" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes poden enviar mensaxes á sala" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala non se permiten solicitudes aos membros da sala" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -790,204 +799,208 @@ msgstr ""
"Só os moderadores e os participantes se lles permite cambiar o tema nesta " "Só os moderadores e os participantes se lles permite cambiar o tema nesta "
"sala" "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" 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" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes non poden enviar mensaxes a todos os ocupantes" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Este participante é expulsado da sala, porque el enviou un erro de presenza" "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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" msgstr ""
"Os visitantes non están autorizados a cambiar os seus That alcumes nesta sala" "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" msgid "That nickname is already in use by another occupant"
msgstr "Ese alcume que xa está en uso por outro ocupante" 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" msgid "You have been banned from this room"
msgstr "fuches bloqueado nesta sala" 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" msgid "Membership is required to enter this room"
msgstr "Necesitas ser membro desta sala para poder entrar" 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" msgid "This room is not anonymous"
msgstr "Sala non anónima" 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" msgid "A password is required to enter this room"
msgstr "Necesítase contrasinal para entrar nesta sala" 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" msgid "Unable to generate a captcha"
msgstr "Non se pode xerar un 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" msgid "Incorrect password"
msgstr "Contrasinal incorrecta" msgstr "Contrasinal incorrecta"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Necesítase privilexios de administrador" msgstr "Necesítase privilexios de administrador"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Necesítase privilexios de moderador" 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" msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s non é válido" 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" msgid "Nickname ~s does not exist in the room"
msgstr "O alcume ~s non existe na sala" 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" msgid "Invalid affiliation: ~s"
msgstr "Afiliación non válida: ~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" msgid "Invalid role: ~s"
msgstr "Rol non válido: ~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" msgid "Owner privileges required"
msgstr "Requírense privilexios de propietario da sala" 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" msgid "Configuration of room ~s"
msgstr "Configuración para a sala ~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" msgid "Room description"
msgstr "Descrición da sala" msgstr "Descrición da sala"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Sala permanente" msgstr "Sala permanente"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Sala publicamente visible" msgstr "Sala publicamente visible"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "A lista de participantes é pública" 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" msgid "Make room password protected"
msgstr "Protexer a sala con contrasinal" 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" msgid "Maximum Number of Occupants"
msgstr "Número máximo de ocupantes" msgstr "Número máximo de ocupantes"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Sen límite" msgstr "Sen límite"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Os Jabber ID reais poden velos" msgstr "Os Jabber ID reais poden velos"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "só moderadores" msgstr "só moderadores"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "calquera" msgstr "calquera"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Sala só para membros" msgstr "Sala só para membros"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Facer sala moderada" msgstr "Facer sala moderada"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Os usuarios son participantes por defecto" 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" msgid "Allow users to change the subject"
msgstr "Permitir aos usuarios cambiar o asunto" 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" msgid "Allow users to send private messages"
msgstr "Permitir aos usuarios enviar mensaxes privadas" 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" msgid "Allow users to query other users"
msgstr "Permitir aos usuarios consultar a outros usuarios" 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" msgid "Allow users to send invites"
msgstr "Permitir aos usuarios enviar invitacións" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Permitir aos visitantes enviar texto de estado nas actualizacións depresenza" "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" msgid "Allow visitors to change nickname"
msgstr "Permitir aos visitantes cambiarse o alcume" 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" msgid "Make room captcha protected"
msgstr "Protexer a sala con captcha" msgstr "Protexer a sala con captcha"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Gardar históricos" 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" msgid "You need an x:data capable client to configure room"
msgstr "Necesitas un cliente con soporte de x:data para configurar a sala" 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" msgid "Number of occupants"
msgstr "Número de ocupantes" msgstr "Número de ocupantes"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privado" msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s invítache á sala ~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" msgid "the password is"
msgstr "a contrasinal é" msgstr "a contrasinal é"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"A túa cola de mensaxes diferidas de contactos está chea. A mensaxe " "A túa cola de mensaxes diferidas de contactos está chea. A mensaxe "
"descartouse." "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" msgid "~s's Offline Messages Queue"
msgstr "Cola de mensaxes diferidas de ~s" msgstr "Cola de mensaxes diferidas de ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1009,20 +1022,20 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "Para" msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paquete" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminar os seleccionados" 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:" msgid "Offline Messages:"
msgstr "Mensaxes sen conexión:" 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" msgid "Remove All Offline Messages"
msgstr "Borrar Todas as Mensaxes Sen conexión" 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" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "Publicar-Subscribir" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo de Publicar-Subscribir de ejabberd" 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" msgid "PubSub subscriber request"
msgstr "Petición de subscriptor de PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Decidir se aprobar a subscripción desta entidade." 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" msgid "Node ID"
msgstr "Nodo IDE" 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" msgid "Subscriber Address"
msgstr "Dirección do subscriptor" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Desexas permitir a este JabberID que se subscriba a este nodo PubSub?" 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" msgid "Deliver payloads with event notifications"
msgstr "Enviar payloads xunto coas notificacións de eventos" 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" msgid "Deliver event notifications"
msgstr "Entregar notificacións de eventos" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Notificar subscriptores cando cambia a configuración do nodo" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Notificar subscriptores cando o nodo bórrase" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Notificar subscriptores cando os elementos bórranse do nodo" 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" msgid "Persist items to storage"
msgstr "Persistir elementos ao almacenar" 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" msgid "A friendly name for the node"
msgstr "Un nome para o nodo" 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" msgid "Max # of items to persist"
msgstr "Máximo # de elementos que persisten" 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" msgid "Whether to allow subscriptions"
msgstr "Permitir subscripciones" 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" msgid "Specify the access model"
msgstr "Especifica o modelo de acceso" 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" msgid "Roster groups allowed to subscribe"
msgstr "Lista de grupos autorizados a subscribir" 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" msgid "Specify the publisher model"
msgstr "Especificar o modelo do publicante" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "Especifica o modelo de acceso" 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" msgid "Max payload size in bytes"
msgstr "Máximo tamaño do payload en 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" msgid "When to send the last published item"
msgstr "Cando enviar o último elemento publicado" 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" msgid "Only deliver notifications to available users"
msgstr "Só enviar notificacións aos usuarios dispoñibles" 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" msgid "The collections with which a node is affiliated"
msgstr "As coleccións coas que un nodo está afiliado" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Escolle un nome de usuario e contrasinal para rexistrarche neste servidor" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Os usuarios non están autorizados a rexistrar contas con tanta rapidez" msgstr "Os usuarios non están autorizados a rexistrar contas con tanta rapidez"
@ -1170,13 +1208,13 @@ msgstr "Borrar"
msgid "Roster of " msgid "Roster of "
msgstr "Lista de contactos de " msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Mal formato" msgstr "Mal formato"
@ -1188,37 +1226,37 @@ msgstr "Engadir ID Jabber"
msgid "Roster" msgid "Roster"
msgstr "Lista de contactos" msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Grupos Compartidos" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Engadir novo" msgstr "Engadir novo"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nome:" msgstr "Nome:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Descrición:" msgstr "Descrición:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Membros:" msgstr "Membros:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Mostrar grupos:" msgstr "Mostrar grupos:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grupo " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1290,11 +1328,6 @@ msgstr "Unidade da organización"
msgid "Search users in " msgid "Search users in "
msgstr "Buscar usuarios en " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Necesitas un cliente con soporte de x:data para poder buscar" 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:" msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S saíntes:" 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" msgid "Change Password"
msgstr "Cambiar contrasinal" msgstr "Cambiar contrasinal"
@ -1429,7 +1464,8 @@ msgstr "Usuario "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Recursos conectados:" 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:" msgid "Password:"
msgstr "Contrasinal:" msgstr "Contrasinal:"
@ -1643,6 +1679,126 @@ msgstr "Eliminar"
msgid "Start" msgid "Start"
msgstr "Iniciar" 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" #~ msgid "Encodings"
#~ msgstr "Codificaciones" #~ 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 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 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 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"}. {"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 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"}. {"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: Gabriele Stilli <superenzima@libero.it>\n"
"X-Additional-Translator: Smart2128\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" msgid "Use of STARTTLS required"
msgstr "Utilizzo di STARTTLS obbligatorio" msgstr "Utilizzo di STARTTLS obbligatorio"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Nessuna risorsa fornita" msgstr "Nessuna risorsa fornita"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Sostituito da una nuova connessione" 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" msgid "Enter the text you see"
msgstr "Immettere il testo visibile" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "I messaggi verso ~s sono bloccati. Per sbloccarli, visitare ~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." msgid "The captcha is valid."
msgstr "Il captcha è valido." msgstr "Il captcha è valido."
@ -365,7 +377,7 @@ msgid "Jabber ID"
msgstr "Jabber ID (Jabber ID)" msgstr "Jabber ID (Jabber ID)"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Password" msgstr "Password"
@ -436,17 +448,17 @@ msgstr "Transport IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Modulo IRC per ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Per la configurazione del modulo IRC è necessario un client che supporti x:" "Per la configurazione del modulo IRC è necessario un client che supporti x:"
"data" "data"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registrazione in mod_irc per " msgstr "Registrazione in mod_irc per "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -454,11 +466,11 @@ msgstr ""
"Immettere il nome utente, le codifiche, le porte e le password che si " "Immettere il nome utente, le codifiche, le porte e le password che si "
"desidera utilizzare per la connessione ai server IRC" "desidera utilizzare per la connessione ai server IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Nome utente IRC" msgstr "Nome utente IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -470,7 +482,7 @@ msgstr ""
"\", \"codifica\", porta, \"password\"}'. Per default questo servizio " "\", \"codifica\", porta, \"password\"}'. Per default questo servizio "
"utilizza la codifica \"~s\", la porta ~p, la password vuota." "utilizza la codifica \"~s\", la porta ~p, la password vuota."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -478,35 +490,35 @@ msgstr ""
"Esempio: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"segreto\"}, {\"vendetta." "Esempio: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"segreto\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.serverdiprova.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Parametri delle connessioni" msgstr "Parametri delle connessioni"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Entra nel canale IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Canale IRC (senza il # iniziale)" msgstr "Canale IRC (senza il # iniziale)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Server IRC" 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." msgid "Join the IRC channel here."
msgstr "Entra nel canale IRC qui." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Entra nel canale IRC in questo ID Jabber: ~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" msgid "IRC settings"
msgstr "Impostazioni IRC" msgstr "Impostazioni IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "connessione ai server IRC. Premere \"Avanti\" per vedere i successivi campi "
"da compilare. Premere \"Fatto\" per salvare le impostazioni." "da compilare. Premere \"Fatto\" per salvare le impostazioni."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Nome utente IRC" msgstr "Nome utente IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Password ~b" msgstr "Password ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Porta ~b" msgstr "Porta ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Codifica per il server ~b" msgstr "Codifica per il server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -555,7 +567,8 @@ msgid "Chatrooms"
msgstr "Stanze" msgstr "Stanze"
#: mod_muc/mod_muc.erl:711 #: 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" msgstr "Per registrare un nickname è necessario un client che supportix:data"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -572,8 +585,8 @@ msgstr "Immettere il nickname che si vuole registrare"
msgid "Nickname" msgid "Nickname"
msgstr "Nickname" msgstr "Nickname"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Questo nickname è registrato da un'altra persona" msgstr "Questo nickname è registrato da un'altra persona"
@ -622,7 +635,7 @@ msgid "is now known as"
msgstr "è ora conosciuta/o come" msgstr "è ora conosciuta/o come"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " ha modificato l'oggetto in: " msgstr " ha modificato l'oggetto in: "
@ -726,10 +739,6 @@ msgstr "Configurazione della stanza"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Presenti nella stanza" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Limite di traffico superato" 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" msgid "Recipient is not in the conference room"
msgstr "Il destinatario non è nella stanza per conferenze" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "L'invio di messaggi alla conferenza è consentito soltanto ai presenti" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "In questa stanza non sono consentite query ai membri della conferenza" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -789,206 +798,210 @@ msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai " "La modifica dell'oggetto di questa stanza è consentita soltanto ai "
"moderatori e ai partecipanti" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "" msgstr ""
"La modifica dell'oggetto di questa stanza è consentita soltanto ai moderatori" "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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Non è consentito ai visitatori l'invio di messaggi a tutti i presenti" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Partecipante espulso dalla stanza perché ha inviato una presenza non valido" "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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Non è consentito ai visitatori cambiare il nickname in questa stanza" 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" msgid "That nickname is already in use by another occupant"
msgstr "Il nickname è già in uso all'interno della conferenza" 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" msgid "You have been banned from this room"
msgstr "Sei stata/o bandita/o da questa stanza" 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" msgid "Membership is required to enter this room"
msgstr "Per entrare in questa stanza è necessario essere membro" 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" msgid "This room is not anonymous"
msgstr "Questa stanza non è anonima" 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" msgid "A password is required to enter this room"
msgstr "Per entrare in questa stanza è prevista una password" 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" msgid "Unable to generate a captcha"
msgstr "Impossibile generare un captcha" msgstr "Impossibile generare un captcha"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Password non esatta" msgstr "Password non esatta"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Necessari i privilegi di amministratore" msgstr "Necessari i privilegi di amministratore"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Necessari i privilegi di moderatore" 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" msgid "Jabber ID ~s is invalid"
msgstr "Il Jabber ID ~s non è valido" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Il nickname ~s non esiste nella stanza" 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" msgid "Invalid affiliation: ~s"
msgstr "Affiliazione non valida: ~s" msgstr "Affiliazione non valida: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Ruolo non valido: ~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" msgid "Owner privileges required"
msgstr "Necessari i privilegi di proprietario" 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" msgid "Configuration of room ~s"
msgstr "Configurazione per la stanza ~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" msgid "Room description"
msgstr "Descrizione della stanza" msgstr "Descrizione della stanza"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Rendere la stanza persistente" msgstr "Rendere la stanza persistente"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Rendere la sala visibile al pubblico" 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" msgid "Make participants list public"
msgstr "Rendere pubblica la lista dei partecipanti" 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" msgid "Make room password protected"
msgstr "Rendere la stanza protetta da password" 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" msgid "Maximum Number of Occupants"
msgstr "Numero massimo di occupanti" msgstr "Numero massimo di occupanti"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Nessun limite" msgstr "Nessun limite"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Rendere visibile il Jabber ID reale a" 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" msgid "moderators only"
msgstr "moderatori soltanto" msgstr "moderatori soltanto"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "tutti" msgstr "tutti"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Rendere la stanza riservata ai membri" 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" msgid "Make room moderated"
msgstr "Rendere la stanza moderata" msgstr "Rendere la stanza moderata"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Definire per default gli utenti come partecipanti" 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" msgid "Allow users to change the subject"
msgstr "Consentire agli utenti di cambiare l'oggetto" 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" msgid "Allow users to send private messages"
msgstr "Consentire agli utenti l'invio di messaggi privati" 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" msgid "Allow users to query other users"
msgstr "Consentire agli utenti query verso altri utenti" 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" msgid "Allow users to send invites"
msgstr "Consentire agli utenti l'invio di inviti" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Consentire ai visitatori l'invio di testo sullo stato in aggiornamenti sulla " "Consentire ai visitatori l'invio di testo sullo stato in aggiornamenti sulla "
"presenza" "presenza"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Consentire ai visitatori di cambiare il 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" msgid "Make room captcha protected"
msgstr "Rendere la stanza protetta da captcha" msgstr "Rendere la stanza protetta da captcha"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Abilitare i log" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"Per la configurazione della stanza è necessario un client che supporti x:data" "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" msgid "Number of occupants"
msgstr "Numero di presenti" msgstr "Numero di presenti"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privato, " msgstr "privato, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s ti invita nella stanza ~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" msgid "the password is"
msgstr "la password è" msgstr "la password è"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"La coda dei messaggi offline del contatto è piena. Il messaggio è stato " "La coda dei messaggi offline del contatto è piena. Il messaggio è stato "
"scartato" "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" msgid "~s's Offline Messages Queue"
msgstr "Coda di ~s messaggi offline" msgstr "Coda di ~s messaggi offline"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1010,20 +1023,20 @@ msgstr "Da"
msgid "To" msgid "To"
msgstr "A" msgstr "A"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pacchetto" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminare gli elementi selezionati" 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:" msgid "Offline Messages:"
msgstr "Messaggi offline:" 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" msgid "Remove All Offline Messages"
msgstr "Eliminare tutti i messaggi offline" msgstr "Eliminare tutti i messaggi offline"
@ -1031,114 +1044,138 @@ msgstr "Eliminare tutti i messaggi offline"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Modulo SOCKS5 Bytestreams per ejabberd" 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" msgid "Publish-Subscribe"
msgstr "Pubblicazione-Iscrizione" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Modulo Pubblicazione/Iscrizione (PubSub) per ejabberd" 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" msgid "PubSub subscriber request"
msgstr "Richiesta di iscrizione per PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Scegliere se approvare l'iscrizione per questa entità" 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" msgid "Node ID"
msgstr "ID del nodo" 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" msgid "Subscriber Address"
msgstr "Indirizzo dell'iscritta/o" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Consentire a questo Jabber ID l'iscrizione a questo nodo pubsub?" 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" msgid "Deliver payloads with event notifications"
msgstr "Inviare il contenuto del messaggio con la notifica dell'evento" 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" msgid "Deliver event notifications"
msgstr "Inviare notifiche degli eventi" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Notificare gli iscritti quando la configurazione del nodo cambia" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Notificare gli iscritti quando il nodo è cancellato" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Notificare gli iscritti quando sono eliminati degli elementi dal nodo" 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" msgid "Persist items to storage"
msgstr "Conservazione persistente degli elementi" 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" msgid "A friendly name for the node"
msgstr "Un nome comodo per il nodo" 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" msgid "Max # of items to persist"
msgstr "Numero massimo di elementi da conservare persistentemente" 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" msgid "Whether to allow subscriptions"
msgstr "Consentire iscrizioni?" 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" msgid "Specify the access model"
msgstr "Specificare il modello di accesso" 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" msgid "Roster groups allowed to subscribe"
msgstr "Gruppi roster abilitati alla registrazione" 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" msgid "Specify the publisher model"
msgstr "Definire il modello di pubblicazione" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" msgstr ""
"Cancella tutti gli elementi quando chi li ha pubblicati non è più online" "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" msgid "Specify the event message type"
msgstr "Specificare il tipo di messaggio di evento" 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" msgid "Max payload size in bytes"
msgstr "Dimensione massima del contenuto del messaggio in byte" 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" msgid "When to send the last published item"
msgstr "Quando inviare l'ultimo elemento pubblicato" 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" msgid "Only deliver notifications to available users"
msgstr "Inviare le notifiche solamente agli utenti disponibili" 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" msgid "The collections with which a node is affiliated"
msgstr "Le collezioni a cui è affiliato un nodo" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Scegliere un nome utente e una password per la registrazione con questo " "Scegliere un nome utente e una password per la registrazione con questo "
"server" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Non è consentito agli utenti registrare account così rapidamente" msgstr "Non è consentito agli utenti registrare account così rapidamente"
@ -1172,13 +1209,13 @@ msgstr "Eliminare"
msgid "Roster of " msgid "Roster of "
msgstr "Lista dei contatti di " msgstr "Lista dei contatti di "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Formato non valido" msgstr "Formato non valido"
@ -1190,37 +1227,37 @@ msgstr "Aggiungere un Jabber ID (Jabber ID)"
msgid "Roster" msgid "Roster"
msgstr "Lista dei contatti" msgstr "Lista dei contatti"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Gruppi di liste di contatti comuni" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Aggiungere nuovo" msgstr "Aggiungere nuovo"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nome:" msgstr "Nome:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Descrizione:" msgstr "Descrizione:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Membri:" msgstr "Membri:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Gruppi visualizzati:" msgstr "Gruppi visualizzati:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Gruppo " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1292,11 +1329,6 @@ msgstr "Unità dell'organizzazione"
msgid "Search users in " msgid "Search users in "
msgstr "Cercare utenti 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Per effettuare ricerche è necessario un client che supporti x:data" msgstr "Per effettuare ricerche è necessario un client che supporti x:data"
@ -1420,7 +1452,9 @@ msgstr "Connessioni s2s in uscita:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Server s2s in uscita" 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" msgid "Change Password"
msgstr "Modificare la password" msgstr "Modificare la password"
@ -1432,7 +1466,8 @@ msgstr "Utente "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Risorse connesse:" 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:" msgid "Password:"
msgstr "Password:" msgstr "Password:"
@ -1642,3 +1677,123 @@ msgstr "Eliminare"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Avviare" 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 ","ファイルにバックアップ"}. {"Backup to File at ","ファイルにバックアップ"}.
{"Bad format","不正なフォーマット"}. {"Bad format","不正なフォーマット"}.
{"Birthday","誕生日"}. {"Birthday","誕生日"}.
{"CAPTCHA web page","キャプチャWEBページ"}.
{"Change Password","パスワードの変更"}. {"Change Password","パスワードの変更"}.
{"Change User Password","パスワードを変更"}. {"Change User Password","パスワードを変更"}.
{"Characters not allowed:","許可されていない文字:"}.
{"Chatroom configuration modified","チャットルームの設定を変更しました"}. {"Chatroom configuration modified","チャットルームの設定を変更しました"}.
{"Chatroom is created","チャットルームは作られました。"}. {"Chatroom is created","チャットルームは作られました。"}.
{"Chatroom is destroyed","チャットルームは削除されました。"}. {"Chatroom is destroyed","チャットルームは削除されました。"}.
@ -69,6 +71,7 @@
{"Description:","詳細:"}. {"Description:","詳細:"}.
{"Disc only copy","ディスクだけのコピー"}. {"Disc only copy","ディスクだけのコピー"}.
{"Displayed Groups:","表示グループ"}. {"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 Backup to Text File at ","テキストファイルにバックアップ"}.
{"Dump to Text File","テキストファイルに出力"}. {"Dump to Text File","テキストファイルに出力"}.
{"Edit Properties","プロパティの編集"}. {"Edit Properties","プロパティの編集"}.
@ -120,6 +123,7 @@
{"has been kicked because the room has been changed to members-only","はチャットルームのメンバー制限によりキックされました"}. {"has been kicked because the room has been changed to members-only","はチャットルームのメンバー制限によりキックされました"}.
{" has set the subject to: "," は件名を設定しました: "}. {" has set the subject to: "," は件名を設定しました: "}.
{"Host","ホスト"}. {"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、パスワードは空になっています。"}. {"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 Directory","ディレクトリインポート"}.
{"Import File","ファイルかインポート"}. {"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 of type \"groupchat\"","種別が\"groupchat\" であるプライベートメッセージは許可されていません"}.
{"It is not allowed to send private messages to the conference","カンファレンスルームにプライベートメッセージを送信することは出来ません"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s は無効です"}. {"Jabber ID ~s is invalid","Jabber ID ~s は無効です"}.
{"January","1月"}. {"January","1月"}.
@ -177,6 +182,7 @@
{"May","5月"}. {"May","5月"}.
{"Members:","メンバー:"}. {"Members:","メンバー:"}.
{"Membership is required to enter this room","チャットルームに入るにはメンバーでなければなりません"}. {"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","メモリ"}. {"Memory","メモリ"}.
{"Message body","本文"}. {"Message body","本文"}.
{"Middle Name","ミドルネーム"}. {"Middle Name","ミドルネーム"}.
@ -190,6 +196,7 @@
{"Name","名"}. {"Name","名"}.
{"Name:","名前: "}. {"Name:","名前: "}.
{"Never","無し"}. {"Never","無し"}.
{"New Password:","新しいパスワード:"}.
{"Nickname","ニックネーム"}. {"Nickname","ニックネーム"}.
{"Nickname Registration at ","ニックネーム登録: "}. {"Nickname Registration at ","ニックネーム登録: "}.
{"Nickname ~s does not exist in the room","ニックネーム ~s はこのチャットルームに居ません"}. {"Nickname ~s does not exist in the room","ニックネーム ~s はこのチャットルームに居ません"}.
@ -214,6 +221,7 @@
{"Offline Messages:","オフラインメッセージ"}. {"Offline Messages:","オフラインメッセージ"}.
{"Offline Messages","オフラインメッセージ"}. {"Offline Messages","オフラインメッセージ"}.
{"OK","OK"}. {"OK","OK"}.
{"Old Password:","古いパスワード:"}.
{"Online","オンライン"}. {"Online","オンライン"}.
{"Online Users:","オンラインユーザー:"}. {"Online Users:","オンラインユーザー:"}.
{"Online Users","オンラインユーザー"}. {"Online Users","オンラインユーザー"}.
@ -234,6 +242,7 @@
{"Password:","パスワード"}. {"Password:","パスワード"}.
{"Password","パスワード"}. {"Password","パスワード"}.
{"Password ~b","パスワード ~b"}. {"Password ~b","パスワード ~b"}.
{"Password Verification:","パスワード(確認):"}.
{"Password Verification","パスワード(確認)"}. {"Password Verification","パスワード(確認)"}.
{"Path to Dir","ディレクトリのパス"}. {"Path to Dir","ディレクトリのパス"}.
{"Path to File","ファイルパス"}. {"Path to File","ファイルパス"}.
@ -257,8 +266,10 @@
{"Raw","Raw"}. {"Raw","Raw"}.
{"Really delete message of the day?","本当にお知らせメッセージを削除しますか?"}. {"Really delete message of the day?","本当にお知らせメッセージを削除しますか?"}.
{"Recipient is not in the conference room","受信者がカンファレンスルームに居ません"}. {"Recipient is not in the conference room","受信者がカンファレンスルームに居ません"}.
{"Register a Jabber account","Jabberアカウントを登録"}.
{"Registered Users:","登録ユーザー:"}. {"Registered Users:","登録ユーザー:"}.
{"Registered Users","登録ユーザー"}. {"Registered Users","登録ユーザー"}.
{"Register","登録"}.
{"Registration in mod_irc for ","mod_irc での登録: "}. {"Registration in mod_irc for ","mod_irc での登録: "}.
{"Remote copy","リモートコピー"}. {"Remote copy","リモートコピー"}.
{"Remove All Offline Messages","すべてのオフラインメッセージを削除します"}. {"Remove All Offline Messages","すべてのオフラインメッセージを削除します"}.
@ -274,7 +285,7 @@
{"Restore binary backup immediately:","直ちにバイナリバックアップからリストア"}. {"Restore binary backup immediately:","直ちにバイナリバックアップからリストア"}.
{"Restore plain text backup immediately:","直ちにプレーンテキストバックアップからリストア"}. {"Restore plain text backup immediately:","直ちにプレーンテキストバックアップからリストア"}.
{"Room Configuration","チャットルーム設定"}. {"Room Configuration","チャットルーム設定"}.
{"Room creation is denied by service policy","サービスポリシーによってチャットルームの作成が禁止されています"}. {"Room creation is denied by service policy","サービスポリシーによってチャットルームの作成が禁止されています"}.
{"Room description","チャットルームの詳細"}. {"Room description","チャットルームの詳細"}.
{"Room Occupants","居住者の数"}. {"Room Occupants","居住者の数"}.
{"Room title","チャットルームタイトル"}. {"Room title","チャットルームタイトル"}.
@ -294,6 +305,7 @@
{"Send announcement to all users on all hosts","アナウンスを全ホストのユーザーに送信"}. {"Send announcement to all users on all hosts","アナウンスを全ホストのユーザーに送信"}.
{"Send announcement to all users","アナウンスを全てのユーザーに送信"}. {"Send announcement to all users","アナウンスを全てのユーザーに送信"}.
{"September","9月"}. {"September","9月"}.
{"Server:","サーバー:"}.
{"Server ~b","サーバー ~b"}. {"Server ~b","サーバー ~b"}.
{"Set message of the day and send to online users","お知らせメッセージを設定し、オンラインユーザーに送信する"}. {"Set message of the day and send to online users","お知らせメッセージを設定し、オンラインユーザーに送信する"}.
{"Set message of the day on all hosts 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テーブルを表示"}. {"Show Ordinary Table","Ordinaryテーブルを表示"}.
{"Shut Down Service","サービスを停止"}. {"Shut Down Service","サービスを停止"}.
{"~s invites you to the room ~s","~s はあなたをチャットルーム ~s に招待しています"}. {"~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 access model","アクセスモデルを設定する"}.
{"Specify the event message type","イベントメッセージ種別を設定"}. {"Specify the event message type","イベントメッセージ種別を設定"}.
{"Specify the publisher model","公開モデルを指定する"}. {"Specify the publisher model","公開モデルを指定する"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","ニックネームは既に他の移住者によって使用されています"}. {"That nickname is already in use by another occupant","ニックネームは既に他の移住者によって使用されています"}.
{"That nickname is registered by another person","ニックネームは他の人によって登録されています"}. {"That nickname is registered by another person","ニックネームは他の人によって登録されています"}.
{"The captcha is valid.","キャプチャは有効です。"}. {"The captcha is valid.","キャプチャは有効です。"}.
{"The CAPTCHA verification has failed","キャプチャ検証は失敗しました"}.
{"The collections with which a node is affiliated","提携されたノードの集合です"}. {"The collections with which a node is affiliated","提携されたノードの集合です"}.
{"the password is","パスワードは"}. {"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 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 message","エラーメッセージを送信したため、この参加者はキックされました"}.
{"This participant is kicked from the room because he sent an error presence","エラープレゼンスを送信したため、この参加者はキックされました"}. {"This participant is kicked from the room because he sent an error presence","エラープレゼンスを送信したため、この参加者はキックされました"}.
@ -344,8 +366,11 @@
{"Transactions Logged:","トランザクションのログ: "}. {"Transactions Logged:","トランザクションのログ: "}.
{"Transactions Restarted:","トランザクションの再起動:"}. {"Transactions Restarted:","トランザクションの再起動:"}.
{"Tuesday","火曜日"}. {"Tuesday","火曜日"}.
{"Unable to generate a captcha","チャプタを生成することが出来ません。"}. {"Unable to generate a captcha","キャプチャを生成することが出来ません。"}.
{"Unable to generate a CAPTCHA","キャプチャを生成出来ませんでした"}.
{"Unauthorized","認証されていません"}. {"Unauthorized","認証されていません"}.
{"Unregister a Jabber account","Jabberアカウントの登録解除"}.
{"Unregister","登録解除"}.
{"Update message of the day (don't send)","お知らせメッセージを更新する(送信しない)"}. {"Update message of the day (don't send)","お知らせメッセージを更新する(送信しない)"}.
{"Update message of the day on all hosts (don't send)","全ホストのお知らせメッセージを更新する"}. {"Update message of the day on all hosts (don't send)","全ホストのお知らせメッセージを更新する"}.
{"Update plan","更新計画"}. {"Update plan","更新計画"}.
@ -357,6 +382,7 @@
{"User ","ユーザー "}. {"User ","ユーザー "}.
{"User","ユーザー"}. {"User","ユーザー"}.
{"User Management","ユーザー管理"}. {"User Management","ユーザー管理"}.
{"Username:","ユーザー名:"}.
{"Users","ユーザー"}. {"Users","ユーザー"}.
{"Users are not allowed to register accounts so quickly","早すぎるユーザーアカウント登録は許可されていません"}. {"Users are not allowed to register accounts so quickly","早すぎるユーザーアカウント登録は許可されていません"}.
{"Users Last Activity","ユーザーの活動履歴"}. {"Users Last Activity","ユーザーの活動履歴"}.
@ -367,11 +393,16 @@
{"Wednesday","水曜日"}. {"Wednesday","水曜日"}.
{"When to send the last published item","最後の公開アイテムを送信するタイミングで"}. {"When to send the last published item","最後の公開アイテムを送信するタイミングで"}.
{"Whether to allow subscriptions","購読を許可するかどうか"}. {"Whether to allow subscriptions","購読を許可するかどうか"}.
{"You can later change your password using a Jabber client.","あなたは後からJabberクライアントを使用してパスワードを変更する事が出来ます。"}.
{"You have been banned from this room","あなたはチャットルームからバンされています"}. {"You have been banned from this room","あなたはチャットルームからバンされています"}.
{"You must fill in field \"Nickname\" in the form","フォームの\"ニックネーム\"フィールドを入力する必要があります"}. {"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 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 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 をサポートする必要があります"}. {"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 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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Japanese (日本語)\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" msgid "Use of STARTTLS required"
msgstr "STARTTLS を使用" msgstr "STARTTLS を使用"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "リソースが提供されませんでした" msgstr "リソースが提供されませんでした"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "新しいコネクションによって置き換えられました" 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" msgid "Enter the text you see"
msgstr "見えているテキストを入力してください" msgstr "見えているテキストを入力してください"
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "キャプチャは有効です。" msgstr "キャプチャは有効です。"
@ -361,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "パスワード" msgstr "パスワード"
@ -432,15 +443,15 @@ msgstr "IRC トランスポート"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "mod_irc の設定にはクライアントが x:data をサポートする必要があります" msgstr "mod_irc の設定にはクライアントが x:data をサポートする必要があります"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "mod_irc での登録: " msgstr "mod_irc での登録: "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -448,11 +459,11 @@ msgstr ""
"IRCサーバーに接続先する為に、使用するユーザー名、文字エンコーディング、ポー" "IRCサーバーに接続先する為に、使用するユーザー名、文字エンコーディング、ポー"
"ト、パスワードを入力して下さい" "ト、パスワードを入力して下さい"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRCユーザー名" msgstr "IRCユーザー名"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -464,7 +475,7 @@ msgstr ""
"フォルトでエンコーディングは \"~s\" を使用し、ポートは ~p、パスワードは空に" "フォルトでエンコーディングは \"~s\" を使用し、ポートは ~p、パスワードは空に"
"なっています。" "なっています。"
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -472,35 +483,35 @@ msgstr ""
"例: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net" "例: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef.net"
"\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "接続パラメータ" msgstr "接続パラメータ"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "IRCチャンネルに参加" msgstr "IRCチャンネルに参加"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "IRCチャンネル(先頭に#は不要)" msgstr "IRCチャンネル(先頭に#は不要)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRCサーバー" 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." msgid "Join the IRC channel here."
msgstr "このIRCチャンネルに参加" msgstr "このIRCチャンネルに参加"
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Jabber ID: ~s でIRCチャンネルに参加" msgstr "Jabber ID: ~s でIRCチャンネルに参加"
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "IRC設定" msgstr "IRC設定"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -510,23 +521,23 @@ msgstr ""
"い。'Next' を押して次の項目に進みます。'Complete' を押すと設定が保存されま" "い。'Next' を押して次の項目に進みます。'Complete' を押すと設定が保存されま"
"す。" "す。"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRCユーザー名" msgstr "IRCユーザー名"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "パスワード ~b" msgstr "パスワード ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "ポート ~b" msgstr "ポート ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "サーバーのエンコーディング ~b" msgstr "サーバーのエンコーディング ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "サーバー ~b" msgstr "サーバー ~b"
@ -536,7 +547,7 @@ msgstr "カービス管理者のみがサービスメッセージを送信出来
#: mod_muc/mod_muc.erl:493 #: mod_muc/mod_muc.erl:493
msgid "Room creation is denied by service policy" msgid "Room creation is denied by service policy"
msgstr "サービスポリシーによってチャットルームの作成が禁止されています" msgstr "サービスポリシーによってチャットルームの作成が禁止されています"
#: mod_muc/mod_muc.erl:500 #: mod_muc/mod_muc.erl:500
msgid "Conference room does not exist" msgid "Conference room does not exist"
@ -547,7 +558,7 @@ msgid "Chatrooms"
msgstr "チャットルーム" msgstr "チャットルーム"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"ニックネームを登録するにはクライアントが x:data をサポートする必要があります" "ニックネームを登録するにはクライアントが x:data をサポートする必要があります"
@ -565,8 +576,8 @@ msgstr "登録するニックネームを入力して下さい"
msgid "Nickname" msgid "Nickname"
msgstr "ニックネーム" msgstr "ニックネーム"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "ニックネームは他の人によって登録されています" msgstr "ニックネームは他の人によって登録されています"
@ -615,7 +626,7 @@ msgid "is now known as"
msgstr "は名前を変更しました: " msgstr "は名前を変更しました: "
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " は件名を設定しました: " msgstr " は件名を設定しました: "
@ -719,10 +730,6 @@ msgstr "チャットルーム設定"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "居住者の数" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "トラフィックレートの制限を超えました" msgstr "トラフィックレートの制限を超えました"
@ -755,8 +762,8 @@ msgstr "種別が\"groupchat\" であるプライベートメッセージは許
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "受信者がカンファレンスルームに居ません" msgstr "受信者がカンファレンスルームに居ません"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "移住者のみがカンファレンスに" msgstr "移住者のみがカンファレンスに"
@ -773,210 +780,214 @@ msgid "Queries to the conference members are not allowed in this room"
msgstr "" msgstr ""
"このチャットルームではカンファレンスメンバーへのクエリーは禁止されています" "このチャットルームではカンファレンスメンバーへのクエリーは禁止されています"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "モデレーターのみがチャットルームの件名を変更出来ます" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ビジターが移住者ににメッセージを送ることは許可されていません" msgstr "ビジターが移住者ににメッセージを送ることは許可されていません"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "エラープレゼンスを送信したため、この参加者はキックされました" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" 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" msgid "That nickname is already in use by another occupant"
msgstr "ニックネームは既に他の移住者によって使用されています" msgstr "ニックネームは既に他の移住者によって使用されています"
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "あなたはチャットルームからバンされています" msgstr "あなたはチャットルームからバンされています"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "チャットルームに入るにはメンバーでなければなりません" msgstr "チャットルームに入るにはメンバーでなければなりません"
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "このチャットルームは非匿名です" msgstr "このチャットルームは非匿名です"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "チャットルームに入るにはパスワードが必要です" msgstr "チャットルームに入るにはパスワードが必要です"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" 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" msgid "Incorrect password"
msgstr "パスワードが違います" msgstr "パスワードが違います"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "管理者権限が必要です" msgstr "管理者権限が必要です"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "モデレーター権限が必要です" msgstr "モデレーター権限が必要です"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s は無効です" 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" msgid "Nickname ~s does not exist in the room"
msgstr "ニックネーム ~s はこのチャットルームに居ません" 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" msgid "Invalid affiliation: ~s"
msgstr "無効な提携です: ~s" msgstr "無効な提携です: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "無効なロールです: ~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" msgid "Owner privileges required"
msgstr "オーナー権限が必要です" msgstr "オーナー権限が必要です"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "チャットルーム ~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" msgid "Room description"
msgstr "チャットルームの詳細" msgstr "チャットルームの詳細"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "チャットルームを永続化します" msgstr "チャットルームを永続化します"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "チャットルームを検索可能にします" msgstr "チャットルームを検索可能にします"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "参加者一覧を公開します" msgstr "参加者一覧を公開します"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "チャットルームにパスワードを設定します" msgstr "チャットルームにパスワードを設定します"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "最大移住者数" msgstr "最大移住者数"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "制限無し" msgstr "制限無し"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "本当の Jabber ID を公開する" msgstr "本当の Jabber ID を公開する"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "モデレーターのみ" msgstr "モデレーターのみ"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "誰でも" msgstr "誰でも"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "チャットルームをメンバーのみに制限する" msgstr "チャットルームをメンバーのみに制限する"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "チャットルームをモデレートする" msgstr "チャットルームをモデレートする"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "デフォルトのユーザーは参加者にする" msgstr "デフォルトのユーザーは参加者にする"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "ユーザーによる件名の変更を許可する" msgstr "ユーザーによる件名の変更を許可する"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "ユーザーによるプライベートメッセージの送信を許可する" msgstr "ユーザーによるプライベートメッセージの送信を許可する"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "ユーザーによる他のユーザーへの問い合わせを許可する" msgstr "ユーザーによる他のユーザーへの問い合わせを許可する"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "ユーザーによる招待を許可する" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "ビジターがプレゼンス更新のステータス文を送信する事を許可する" msgstr "ビジターがプレゼンス更新のステータス文を送信する事を許可する"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "ビジターがニックネームを変更する事を許可します" msgstr "ビジターがニックネームを変更する事を許可します"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "チャットルームをキャプチャで保護します" msgstr "チャットルームをキャプチャで保護します"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "ロギングを有効にする" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"チャットルームを設定するにはにはクライアントが x:data をサポートする必要があ" "チャットルームを設定するにはにはクライアントが x:data をサポートする必要があ"
"ります" "ります"
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "居住者の数" msgstr "居住者の数"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "プライベート" msgstr "プライベート"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s はあなたをチャットルーム ~s に招待しています" msgstr "~s はあなたをチャットルーム ~s に招待しています"
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "パスワードは" msgstr "パスワードは"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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" msgid "~s's Offline Messages Queue"
msgstr "~s's オフラインメッセージキュー" msgstr "~s's オフラインメッセージキュー"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -998,20 +1009,20 @@ msgstr "差出人"
msgid "To" msgid "To"
msgstr "宛先" msgstr "宛先"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "パケット" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "選択した項目を削除" msgstr "選択した項目を削除"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "オフラインメッセージ" msgstr "オフラインメッセージ"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "すべてのオフラインメッセージを削除します" msgstr "すべてのオフラインメッセージを削除します"
@ -1019,111 +1030,133 @@ msgstr "すべてのオフラインメッセージを削除します"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "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" msgid "PubSub subscriber request"
msgstr "PubSub 購読リクエスト" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "このエントリを承認するかどうかを選択して下さい" 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" msgid "Node ID"
msgstr "ード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" msgid "Subscriber Address"
msgstr "購読アドレス" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "この Jabber ID をこの pubsubードへ購読することを許可しますか" 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" msgid "Deliver payloads with event notifications"
msgstr "イベント通知と同時にペイロードを配送します" 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" msgid "Deliver event notifications"
msgstr "イベント通知を配送します" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "ノード設定に変更があった時に購読者へ通知します" 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" msgid "Notify subscribers when the node is deleted"
msgstr "ノードが削除された時に購読者へ通知します" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "アイテムがノードから消された時に購読者へ通知します" 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" msgid "Persist items to storage"
msgstr "アイテムをストレージに保存する" 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" msgid "A friendly name for the node"
msgstr "ノードの為のフレンドリネーム" 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" msgid "Max # of items to persist"
msgstr "アイテムの最大保存数 #" 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" msgid "Whether to allow subscriptions"
msgstr "購読を許可するかどうか" 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" msgid "Specify the access model"
msgstr "アクセスモデルを設定する" 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" msgid "Roster groups allowed to subscribe"
msgstr "名簿グループは購読を許可しました" 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" msgid "Specify the publisher model"
msgstr "公開モデルを指定する" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "公開者がオフラインになる時に、全てののアイテムを削除" 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" msgid "Specify the event message type"
msgstr "イベントメッセージ種別を設定" 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" msgid "Max payload size in bytes"
msgstr "最大ぺイロードサイズ(byte)" 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" msgid "When to send the last published item"
msgstr "最後の公開アイテムを送信するタイミングで" 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" msgid "Only deliver notifications to available users"
msgstr "有効なユーザーにのみ告知を送信する" 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" msgid "The collections with which a node is affiliated"
msgstr "提携されたノードの集合です" 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" msgid "Choose a username and password to register with this server"
msgstr "サーバーに登録するユーザー名とパスワードを選択して下さい" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "早すぎるユーザーアカウント登録は許可されていません" msgstr "早すぎるユーザーアカウント登録は許可されていません"
@ -1157,13 +1190,13 @@ msgstr "削除"
msgid "Roster of " msgid "Roster of "
msgstr "名簿: " msgstr "名簿: "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "不正なフォーマット" msgstr "不正なフォーマット"
@ -1175,37 +1208,37 @@ msgstr "Jabber ID の追加"
msgid "Roster" msgid "Roster"
msgstr "名簿" msgstr "名簿"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "共有名簿グループ" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "新規追加" msgstr "新規追加"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "名前: " msgstr "名前: "
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "詳細:" msgstr "詳細:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "メンバー:" msgstr "メンバー:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "表示グループ" msgstr "表示グループ"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "グループ" 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1277,11 +1310,6 @@ msgstr "部署名"
msgid "Search users in " msgid "Search users in "
msgstr "ユーザーの検索: " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "検索を行うためにはクライアントが x:data をサポートする必要があります" msgstr "検索を行うためにはクライアントが x:data をサポートする必要があります"
@ -1404,7 +1432,9 @@ msgstr "外向き s2s コネクション:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "外向き s2s サービス:" 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" msgid "Change Password"
msgstr "パスワードの変更" msgstr "パスワードの変更"
@ -1416,7 +1446,8 @@ msgstr "ユーザー "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "接続リソース:" 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:" msgid "Password:"
msgstr "パスワード" msgstr "パスワード"
@ -1625,6 +1656,131 @@ msgstr "削除"
msgid "Start" msgid "Start"
msgstr "開始" 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" #~ msgid "Encodings"
#~ msgstr "エンコーディング" #~ msgstr "エンコーディング"

View File

@ -371,7 +371,6 @@
{"You must fill in field \"Nickname\" in the form","U moet het veld \"bijnaam\" invullen"}. {"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 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 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"}. {"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 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"}. {"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-Language: Dutch (nederlands)\n"
"X-Additional-Translator: Sander Devrieze\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" msgid "Use of STARTTLS required"
msgstr "Gebruik van STARTTLS is vereist" msgstr "Gebruik van STARTTLS is vereist"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Geen bron opgegeven" msgstr "Geen bron opgegeven"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Vervangen door een nieuwe verbinding" 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" msgid "Enter the text you see"
msgstr "Voer de getoonde tekst in" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Uw berichten aan ~s worden geblokkeerd. Om ze te deblokkeren, ga naar ~s" "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." msgid "The captcha is valid."
msgstr "De geautomatiseerde Turing-test is geslaagd." msgstr "De geautomatiseerde Turing-test is geslaagd."
@ -366,7 +378,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Wachtwoord" msgstr "Wachtwoord"
@ -437,17 +449,17 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd's 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"U hebt een client nodig die x:data ondersteunt om dit IRC-transport in te " "U hebt een client nodig die x:data ondersteunt om dit IRC-transport in te "
"stellen" "stellen"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registratie van " msgstr "Registratie van "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -455,11 +467,11 @@ msgstr ""
"Voer de gebruikersnaam, coderingen, poorten en wachtwoorden in die U wilt " "Voer de gebruikersnaam, coderingen, poorten en wachtwoorden in die U wilt "
"gebruiken voor het verbinden met IRC-servers" "gebruiken voor het verbinden met IRC-servers"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Gebruikersnaam voor IRC:" msgstr "Gebruikersnaam voor IRC:"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -471,7 +483,7 @@ msgstr ""
"\", \"codering\", poort, \"wachtwoord\"}'. Standaard gebruikt deze service " "\", \"codering\", poort, \"wachtwoord\"}'. Standaard gebruikt deze service "
"de codering \"~s\", poort ~p, leeg wachtwoord." "de codering \"~s\", poort ~p, leeg wachtwoord."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -479,35 +491,35 @@ msgstr ""
"Voorbeeld: [{\"irc.example.org\", \"koi8-r\", 6667, \"geheim\"}, {\"vendetta." "Voorbeeld: [{\"irc.example.org\", \"koi8-r\", 6667, \"geheim\"}, {\"vendetta."
"example.net\", \"iso8859-1\", 7000}, {irc,testserver.nl\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Verbindingsparameters" msgstr "Verbindingsparameters"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Ga IRC kanaal binnen" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanaal (zonder eerste #)" msgstr "IRC kanaal (zonder eerste #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "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." msgid "Join the IRC channel here."
msgstr "Ga het IRC kanaal binnen" 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Ga het IRC kanaal van deze Jabber ID binnen: ~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" msgid "IRC settings"
msgstr "IRC instellingen" msgstr "IRC instellingen"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "verbindingen met IRC-servers. Klik op 'Volgende' om meer velden aan te "
"maken. Klik op \"Voltooi' om de instellingen op te slaan." "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" msgid "IRC username"
msgstr "Gebruikersnaam voor IRC" msgstr "Gebruikersnaam voor IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Wachtwoord ~b" msgstr "Wachtwoord ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Poort ~b" msgstr "Poort ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Karakterset voor server ~b" msgstr "Karakterset voor server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -558,7 +570,8 @@ msgid "Chatrooms"
msgstr "Groepsgesprekken" msgstr "Groepsgesprekken"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"U hebt een client nodig die x:data ondersteunt om een bijnaam te registreren" "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" msgid "Nickname"
msgstr "Bijnaam" msgstr "Bijnaam"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Deze bijnaam is al geregistreerd door iemand anders" msgstr "Deze bijnaam is al geregistreerd door iemand anders"
@ -628,7 +641,7 @@ msgid "is now known as"
msgstr "heet nu" msgstr "heet nu"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " veranderde het onderwerp in: " msgstr " veranderde het onderwerp in: "
@ -732,10 +745,6 @@ msgstr "Instellingen van de chatruimte"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Aantal aanwezigen" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Dataverkeerslimiet overschreden" msgstr "Dataverkeerslimiet overschreden"
@ -772,8 +781,8 @@ msgstr ""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "De ontvanger is niet in de chatruimte" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Alleen aanwezigen mogen berichten naar de chatruimte verzenden" 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 "" msgstr ""
"Er mogen geen verzoeken verzenden worden naar deelnemers in deze chatruimte" "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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -798,205 +807,209 @@ msgstr ""
"Alleen moderators en deelnemers mogen het onderwerp van deze chatruimte " "Alleen moderators en deelnemers mogen het onderwerp van deze chatruimte "
"veranderen" "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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Alleen moderators mogen het onderwerp van deze chatruimte veranderen" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Bezoekers mogen geen berichten verzenden naar alle aanwezigen" msgstr "Bezoekers mogen geen berichten verzenden naar alle aanwezigen"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmelding-" "Deze deelnemer wordt weggestuurd vanwege het sturen van een foutmelding-"
"aanwezigheid" "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" 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" 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" msgid "That nickname is already in use by another occupant"
msgstr "Deze bijnaam is al in gebruik door een andere aanwezige" 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" msgid "You have been banned from this room"
msgstr "U werd verbannen uit deze chatruimte" 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" msgid "Membership is required to enter this room"
msgstr "U moet lid zijn om deze chatruimte te kunnen betreden" 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" msgid "This room is not anonymous"
msgstr "Deze chatruimte is niet anoniem" 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" msgid "A password is required to enter this room"
msgstr "U hebt een wachtwoord nodig om deze chatruimte te kunnen betreden" 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" msgid "Unable to generate a captcha"
msgstr "Het generen van een gautomatiseerde Turing test is mislukt" 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" msgid "Incorrect password"
msgstr "Foutief wachtwoord" msgstr "Foutief wachtwoord"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "U hebt beheerdersprivileges nodig" msgstr "U hebt beheerdersprivileges nodig"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "U hebt moderatorprivileges nodig" 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" msgid "Jabber ID ~s is invalid"
msgstr "De Jabber ID ~s is ongeldig" 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" msgid "Nickname ~s does not exist in the room"
msgstr "De bijnaam ~s bestaat niet in deze chatruimte" 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" msgid "Invalid affiliation: ~s"
msgstr "Ongeldige affiliatie: ~s" msgstr "Ongeldige affiliatie: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Ongeldige rol: ~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" msgid "Owner privileges required"
msgstr "U hebt eigenaarsprivileges nodig" msgstr "U hebt eigenaarsprivileges nodig"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Instellingen van chatruimte ~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" msgid "Room description"
msgstr "Beschrijving" msgstr "Beschrijving"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Chatruimte blijvend maken" msgstr "Chatruimte blijvend maken"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Chatruimte doorzoekbaar maken" msgstr "Chatruimte doorzoekbaar maken"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Deelnemerslijst publiek maken" msgstr "Deelnemerslijst publiek maken"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Chatruimte beveiligen met een wachtwoord" 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" msgid "Maximum Number of Occupants"
msgstr "Maximum aantal aanwezigen" msgstr "Maximum aantal aanwezigen"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Geen limiet" msgstr "Geen limiet"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Jabber ID's kunnen achterhaald worden door" 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" msgid "moderators only"
msgstr "moderators" msgstr "moderators"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "iedereen" msgstr "iedereen"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Chatruimte enkel toegankelijk maken voor leden" 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" msgid "Make room moderated"
msgstr "Chatruimte gemodereerd maken" msgstr "Chatruimte gemodereerd maken"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Gebruikers standaard instellen als deelnemers" 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" msgid "Allow users to change the subject"
msgstr "Sta gebruikers toe het onderwerp te veranderen" 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" msgid "Allow users to send private messages"
msgstr "Gebruikers mogen privéberichten verzenden" 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" msgid "Allow users to query other users"
msgstr "Gebruikers mogen naar andere gebruikers verzoeken verzenden" 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" msgid "Allow users to send invites"
msgstr "Gebruikers mogen uitnodigingen verzenden" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Sta bezoekers toe hun statusbericht in te stellen" 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" msgid "Allow visitors to change nickname"
msgstr "Sta bezoekers toe hun naam te veranderen" 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" msgid "Make room captcha protected"
msgstr "Chatruimte beveiligen met een geautomatiseerde Turing test" 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" msgid "Enable logging"
msgstr "Logs aanzetten" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"U hebt een client nodig die x:data ondersteunt om deze chatruimte in te " "U hebt een client nodig die x:data ondersteunt om deze chatruimte in te "
"stellen" "stellen"
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "Aantal aanwezigen" msgstr "Aantal aanwezigen"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privé, " msgstr "privé, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s nodigt je uit voor het groepsgesprek ~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" msgid "the password is"
msgstr "het wachtwoord is" msgstr "het wachtwoord is"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Te veel offline berichten voor dit contactpersoon. Het bericht is niet " "Te veel offline berichten voor dit contactpersoon. Het bericht is niet "
"opgeslagen." "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" msgid "~s's Offline Messages Queue"
msgstr "offline berichten van ~s" msgstr "offline berichten van ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1018,20 +1031,20 @@ msgstr "Van"
msgid "To" msgid "To"
msgstr "Aan" msgstr "Aan"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pakket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Geselecteerde verwijderen" msgstr "Geselecteerde verwijderen"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Offline berichten:" 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" msgid "Remove All Offline Messages"
msgstr "Verwijder alle offline berichten" msgstr "Verwijder alle offline berichten"
@ -1039,112 +1052,137 @@ msgstr "Verwijder alle offline berichten"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "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" msgid "PubSub subscriber request"
msgstr "PubSub abonnee verzoek" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Beslis of dit verzoek tot abonneren zal worden goedgekeurd" 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "Abonnee Adres" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Deze gebruiker toestaan te abonneren op deze 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" msgid "Deliver payloads with event notifications"
msgstr "Berichten bezorgen samen met gebeurtenisnotificaties" 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" msgid "Deliver event notifications"
msgstr "Gebeurtenisbevestigingen Sturen" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Abonnees informeren wanneer de instellingen van de node veranderen" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Abonnees informeren wanneer de node verwijderd word" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Abonnees informeren wanneer items verwijderd worden uit de 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" msgid "Persist items to storage"
msgstr "Items in het geheugen bewaren" 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" msgid "A friendly name for the node"
msgstr "Bijnaam voor deze knoop" 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" msgid "Max # of items to persist"
msgstr "Maximum aantal in het geheugen te bewaren items" 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" msgid "Whether to allow subscriptions"
msgstr "Abonnementsaanvraag toestaan" 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" msgid "Specify the access model"
msgstr "Geef toegangsmodel" 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" msgid "Roster groups allowed to subscribe"
msgstr "Contactlijst-groepen die mogen abonneren" 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" msgid "Specify the publisher model"
msgstr "Publicatietype opgeven" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Verwijder alle items wanneer de gerelateerde publiceerder offline gaat" 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" msgid "Specify the event message type"
msgstr "Geef type van eventbericht" 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" msgid "Max payload size in bytes"
msgstr "Maximumgrootte van bericht 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" msgid "When to send the last published item"
msgstr "Wanneer het laatst gepubliceerde item verzonden moet worden" 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" msgid "Only deliver notifications to available users"
msgstr "Notificaties alleen verzenden naar online gebruikers" 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" msgid "The collections with which a node is affiliated"
msgstr "De collecties waar een node mee is gerelateerd" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Kies een gebruikersnaam en een wachtwoord om u te registreren op deze server" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Het is gebruikers niet toegestaan zo snel achter elkaar te registreren" msgstr "Het is gebruikers niet toegestaan zo snel achter elkaar te registreren"
@ -1178,13 +1216,13 @@ msgstr "Verwijderen"
msgid "Roster of " msgid "Roster of "
msgstr "Roster van " msgstr "Roster van "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Slecht formaat" msgstr "Slecht formaat"
@ -1196,37 +1234,37 @@ msgstr "Jabber ID toevoegen"
msgid "Roster" msgid "Roster"
msgstr "Roster" msgstr "Roster"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Gedeelde rostergroepen" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Toevoegen" msgstr "Toevoegen"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Naam:" msgstr "Naam:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Beschrijving:" msgstr "Beschrijving:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Groepsleden:" msgstr "Groepsleden:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Weergegeven groepen:" msgstr "Weergegeven groepen:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Groep " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1298,11 +1336,6 @@ msgstr "Afdeling"
msgid "Search users in " msgid "Search users in "
msgstr "Gebruikers zoeken 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "U hebt een client nodig die x:data ondersteunt om te zoeken" 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:" msgid "Outgoing s2s Servers:"
msgstr "Uitgaande s2s-verbindingen:" 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" msgid "Change Password"
msgstr "Wachtwoord wijzigen" msgstr "Wachtwoord wijzigen"
@ -1437,7 +1472,8 @@ msgstr "Gebruiker "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Verbonden bronnen:" 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:" msgid "Password:"
msgstr "Wachtwoord:" msgstr "Wachtwoord:"
@ -1649,3 +1685,123 @@ msgstr "Verwijderen"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Starten" 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 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 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 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 "}. {"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 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"}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Norwegian (bokmål)\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" msgid "Use of STARTTLS required"
msgstr "Bruk av STARTTLS kreves" msgstr "Bruk av STARTTLS kreves"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Ingen ressurs angitt" msgstr "Ingen ressurs angitt"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Erstattet av en ny tilkobling" 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" msgid "Enter the text you see"
msgstr "Skriv inn teksten du ser" 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" 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" 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." msgid "The captcha is valid."
msgstr "Captchaen er ikke gyldig" msgstr "Captchaen er ikke gyldig"
@ -359,7 +371,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Passord" msgstr "Passord"
@ -430,16 +442,16 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Du trenger en x:data kompatibel klient for å konfigurere mod_irc instillinger" "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 " msgid "Registration in mod_irc for "
msgstr "Registrering i mod_irc for " msgstr "Registrering i mod_irc for "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -447,11 +459,11 @@ msgstr ""
"Skriv brukernavn, tekstkoding, porter og passord du ønsker å bruke for " "Skriv brukernavn, tekstkoding, porter og passord du ønsker å bruke for "
"tilkobling til IRC servere" "tilkobling til IRC servere"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC Brukernavn" msgstr "IRC Brukernavn"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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" "liste med verdier i formatet '{\"irc server\", \"encoding\", port, \"password"
"\"}'. Denne tjenesten bruker \"~s\" som standard, port ~p, empty password." "\"}'. Denne tjenesten bruker \"~s\" som standard, port ~p, empty password."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -470,35 +482,35 @@ msgstr ""
"Eksempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta." "Eksempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Tilkoblings parametere" msgstr "Tilkoblings parametere"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Bli med i IRC kanal" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanal (ikke skriv den første #)" msgstr "IRC kanal (ikke skriv den første #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "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." msgid "Join the IRC channel here."
msgstr "Bli med i IRC kanalen her. " 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Bli med i IRC kanalen med denne 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" msgid "IRC settings"
msgstr "IRC instillinger" msgstr "IRC instillinger"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "Trykk 'Neste' for å få flere felt for å fylle i. Trykk 'Fullfør' for å lagre "
"innstillingene." "innstillingene."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC brukernavn" msgstr "IRC brukernavn"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Passord ~b" msgstr "Passord ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Tekstkoding for server ~b" msgstr "Tekstkoding for server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -545,7 +557,8 @@ msgid "Chatrooms"
msgstr "Samtalerom" msgstr "Samtalerom"
#: mod_muc/mod_muc.erl:711 #: 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 å " msgstr "Du trenger en klient som støtter x:data for å "
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -562,8 +575,8 @@ msgstr "Skriv inn kallenavnet du ønsker å registrere"
msgid "Nickname" msgid "Nickname"
msgstr "Kallenavn" msgstr "Kallenavn"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Det kallenavnet er registrert av en annen person" msgstr "Det kallenavnet er registrert av en annen person"
@ -613,7 +626,7 @@ msgid "is now known as"
msgstr "er nå kjent som" msgstr "er nå kjent som"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " har satt emnet til: " msgstr " har satt emnet til: "
@ -717,10 +730,6 @@ msgstr "Rom Konfigurasjon"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Samtalerom Deltakere" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Trafikkmengde grense overskredet" 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" msgid "Recipient is not in the conference room"
msgstr "Mottakeren er ikke i konferanserommet" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Bare deltakere får sende normale meldinger til konferansen" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Forespørsler til konferanse medlemmene er ikke tillat i dette rommet" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Bare redaktører og deltakere kan endre emnet i dette rommet" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Bare ordstyrer tillates å endre emnet i dette rommet" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besøkende får ikke sende meldinger til alle deltakere" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Denne deltakeren er kastet ut av rommet fordi han sendte feil " "Denne deltakeren er kastet ut av rommet fordi han sendte feil "
"tilstederværelse" "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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Besøkende får ikke lov å endre kallenavn i dette " 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" msgid "That nickname is already in use by another occupant"
msgstr "Det kallenavnet er allerede i bruk av en annen deltaker" 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" msgid "You have been banned from this room"
msgstr "Du har blitt bannlyst i dette rommet." 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" msgid "Membership is required to enter this room"
msgstr "Medlemskap kreves for tilgang til samtalerommet" 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" msgid "This room is not anonymous"
msgstr "Dette rommet er ikke anonymt" 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" msgid "A password is required to enter this room"
msgstr "Et passord kreves for tilgang til samtalerommet" 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" msgid "Unable to generate a captcha"
msgstr "Umulig å generere en captcha" msgstr "Umulig å generere en captcha"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Feil passord" msgstr "Feil passord"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Administratorprivilegier kreves" msgstr "Administratorprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Redaktørprivilegier kreves" msgstr "Redaktørprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Ugyldig Jabber ID ~s" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Kallenavn ~s eksisterer ikke i dette rommet" 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" msgid "Invalid affiliation: ~s"
msgstr "Ugyldig rang: ~s" msgstr "Ugyldig rang: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Ugyldig rolle: ~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" msgid "Owner privileges required"
msgstr "Eierprivilegier kreves" msgstr "Eierprivilegier kreves"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Konfigurasjon for rom ~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" msgid "Room description"
msgstr "Rom beskrivelse" msgstr "Rom beskrivelse"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Gjør rommet permanent" msgstr "Gjør rommet permanent"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Gjør rommet offentlig søkbart" 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" msgid "Make participants list public"
msgstr "Gjør deltakerlisten offentlig" msgstr "Gjør deltakerlisten offentlig"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Passordbeskytt rommet" msgstr "Passordbeskytt rommet"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "Maksimum Antall Deltakere" msgstr "Maksimum Antall Deltakere"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Ingen grense" msgstr "Ingen grense"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Presenter ekte Jabber IDer til" msgstr "Presenter ekte Jabber IDer til"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "kun for redaktører" msgstr "kun for redaktører"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "hvem som helst" msgstr "hvem som helst"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Gjør rommet tilgjengelig kun for medlemmer" 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" msgid "Make room moderated"
msgstr "Gjør rommet redaktørstyrt" 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" msgid "Default users as participants"
msgstr "Standard brukere som deltakere" 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" msgid "Allow users to change the subject"
msgstr "Tillat brukere å endre emne" 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" msgid "Allow users to send private messages"
msgstr "Tillat brukere å sende private meldinger" 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" msgid "Allow users to query other users"
msgstr "Tillat brukere å sende forespørsel til andre brukere" 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" msgid "Allow users to send invites"
msgstr "Tillat brukere å sende invitasjoner" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Tillat besøkende å sende status tekst i " 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" msgid "Allow visitors to change nickname"
msgstr "Tillat besøkende å endre kallenavn" 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" msgid "Make room captcha protected"
msgstr "Gjør rommet captcha beskyttet" msgstr "Gjør rommet captcha beskyttet"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Slå på 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" msgid "You need an x:data capable client to configure room"
msgstr "Du trenger en klient som støtter x:data for å " 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" msgid "Number of occupants"
msgstr "Antall deltakere" msgstr "Antall deltakere"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privat, " msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s inviterer deg til rommet ~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" msgid "the password is"
msgstr "passordet er" msgstr "passordet er"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "Kontaktens frakoblede meldingskø er full. Meldingen har blitt kassert." 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" msgid "~s's Offline Messages Queue"
msgstr "~ss kø for Frakoblede Meldinger" msgstr "~ss kø for Frakoblede Meldinger"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -994,20 +1007,20 @@ msgstr "Fra"
msgid "To" msgid "To"
msgstr "Til" msgstr "Til"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pakke" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Slett valgte" msgstr "Slett valgte"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Frakoblede Meldinger:" 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" msgid "Remove All Offline Messages"
msgstr "Fjern Alle Frakoblede Meldinger" msgstr "Fjern Alle Frakoblede Meldinger"
@ -1015,111 +1028,135 @@ msgstr "Fjern Alle Frakoblede Meldinger"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul" 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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul" 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" msgid "PubSub subscriber request"
msgstr "PubSub abonements forespørsel" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Velg om du vil godkjenne denne eksistensens abonement" 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "Abonnements Adresse" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillat denne Jabber ID å abonnere på denne pubsub " 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" msgid "Deliver payloads with event notifications"
msgstr "Send innhold sammen med kunngjøringer" 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" msgid "Deliver event notifications"
msgstr "Lever begivenhets kunngjøringer" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Informer abonnenter når node konfigurasjonen endres" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Informer abonnenter når noden slettes" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Informer abonnenter når elementer fjernes fra noden" 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" msgid "Persist items to storage"
msgstr "Vedvarende elementer til lagring" 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" msgid "A friendly name for the node"
msgstr "Et vennlig navn for noden" 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" msgid "Max # of items to persist"
msgstr "Høyeste # elementer som skal lagres" 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" msgid "Whether to allow subscriptions"
msgstr "Om man skal tillate abonnenter" 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" msgid "Specify the access model"
msgstr "Spesifiser aksess modellen" 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" msgid "Roster groups allowed to subscribe"
msgstr "Kontaktliste grupper som tillates å abonnere" 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" msgid "Specify the publisher model"
msgstr "Angi publiserings modell" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Rydd alle elementer når den aktuelle utgiveren logger av" 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" msgid "Specify the event message type"
msgstr "Spesifiser hendelsesbeskjed 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" msgid "Max payload size in bytes"
msgstr "Største innholdsstørrelse i byte" 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" msgid "When to send the last published item"
msgstr "Når skal siste publiserte artikkel sendes" 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" msgid "Only deliver notifications to available users"
msgstr "Send kunngjøringer bare til tilgjengelige brukere" 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" msgid "The collections with which a node is affiliated"
msgstr "Samlingene som en node er assosiert med" 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" msgid "Choose a username and password to register with this server"
msgstr "Velg et brukernavn og passord for å registrere på " 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Brukere får ikke lov til registrere kontoer så fort" msgstr "Brukere får ikke lov til registrere kontoer så fort"
@ -1153,13 +1190,13 @@ msgstr "Fjern"
msgid "Roster of " msgid "Roster of "
msgstr "Kontaktliste for " msgstr "Kontaktliste for "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Feil format" msgstr "Feil format"
@ -1171,37 +1208,37 @@ msgstr "Legg til Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Kontaktliste" msgstr "Kontaktliste"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Delte Kontaktgrupper" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Legg til ny" msgstr "Legg til ny"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Navn:" msgstr "Navn:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Beskrivelse:" msgstr "Beskrivelse:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Medlemmer:" msgstr "Medlemmer:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Viste grupper:" msgstr "Viste grupper:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Gruppe " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1273,11 +1310,6 @@ msgstr "Organisasjonsenhet"
msgid "Search users in " msgid "Search users in "
msgstr "Søk etter brukere i " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Du tregner en klient som støtter x:data for å kunne " 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:" msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s Tjenere" 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" msgid "Change Password"
msgstr "Endre Passord" msgstr "Endre Passord"
@ -1412,7 +1446,8 @@ msgstr "Bruker "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Tilkoblede Ressurser:" 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:" msgid "Password:"
msgstr "Passord:" msgstr "Passord:"
@ -1620,3 +1655,123 @@ msgstr "Slett"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "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 Configuration","Konfiguracja dostępu"}.
{"Access Control List Configuration","Konfiguracja listy dostępowej"}. {"Access Control List Configuration","Konfiguracja listy dostępowej"}.
{"Access control lists","Lista dostępowa"}.
{"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 denied by service policy","Dostęp zabroniony zgodnie z zasadami usługi"}.
{"Access rules","Reguły dostępu"}. {"Access rules","Reguły dostępu"}.
{"Access Rules","Zasady dostępu"}. {"Access Rules","Zasady dostępu"}.
@ -33,8 +33,10 @@
{"Backup","Wykonaj kopie"}. {"Backup","Wykonaj kopie"}.
{"Bad format","Błędny format"}. {"Bad format","Błędny format"}.
{"Birthday","Data urodzenia"}. {"Birthday","Data urodzenia"}.
{"CAPTCHA web page","Strona internetowa CAPTCHA"}.
{"Change Password","Zmień hasło"}. {"Change Password","Zmień hasło"}.
{"Change User Password","Zmień hasło użytkownika"}. {"Change User Password","Zmień hasło użytkownika"}.
{"Characters not allowed:","Te znaki są niedozwolone:"}.
{"Chatroom configuration modified","Konfiguracja pokoju zmodyfikowana"}. {"Chatroom configuration modified","Konfiguracja pokoju zmodyfikowana"}.
{"Chatroom is created","Pokój został stworzony"}. {"Chatroom is created","Pokój został stworzony"}.
{"Chatroom is destroyed","Pokój został usunięty"}. {"Chatroom is destroyed","Pokój został usunięty"}.
@ -69,6 +71,7 @@
{"Description:","Opis:"}. {"Description:","Opis:"}.
{"Disc only copy","Kopia tylko na dysku"}. {"Disc only copy","Kopia tylko na dysku"}.
{"Displayed Groups:","Wyświetlane grupy:"}. {"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 Backup to Text File at ","Zapisz kopię zapasową w pliku tekstowym na "}.
{"Dump to Text File","Wykonaj kopie do pliku tekstowego"}. {"Dump to Text File","Wykonaj kopie do pliku tekstowego"}.
{"Edit Properties","Edytuj właściwości"}. {"Edit Properties","Edytuj właściwości"}.
@ -120,6 +123,7 @@
{"has been kicked","został wyrzucony"}. {"has been kicked","został wyrzucony"}.
{" has set the subject to: "," zmienił temat na: "}. {" has set the subject to: "," zmienił temat na: "}.
{"Host","Host"}. {"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."}. {"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 Directory","Importuj katalog"}.
{"Import File","Importuj plik"}. {"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 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 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"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s jest niepoprawny"}. {"Jabber ID ~s is invalid","Jabber ID ~s jest niepoprawny"}.
{"January","Styczeń"}. {"January","Styczeń"}.
@ -177,6 +182,7 @@
{"May","Maj"}. {"May","Maj"}.
{"Members:","Członkowie:"}. {"Members:","Członkowie:"}.
{"Membership is required to enter this room","Musisz być na liście członków tego pokoju aby do niego wejść"}. {"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ęć"}. {"Memory","Pamięć"}.
{"Message body","Treść wiadomości"}. {"Message body","Treść wiadomości"}.
{"Middle Name","Drugie imię"}. {"Middle Name","Drugie imię"}.
@ -190,6 +196,7 @@
{"Name","Imię"}. {"Name","Imię"}.
{"Name:","Nazwa:"}. {"Name:","Nazwa:"}.
{"Never","Nigdy"}. {"Never","Nigdy"}.
{"New Password:","Nowe hasło:"}.
{"Nickname","Nazwa użytkownika"}. {"Nickname","Nazwa użytkownika"}.
{"Nickname Registration at ","Rejestracja nazwy użytkownika na "}. {"Nickname Registration at ","Rejestracja nazwy użytkownika na "}.
{"Nickname ~s does not exist in the room","Nie ma nicka ~s w tym pokoju"}. {"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:"}.
{"Offline Messages","Wiadomości offline"}. {"Offline Messages","Wiadomości offline"}.
{"OK","OK"}. {"OK","OK"}.
{"Old Password:","Stare hasło:"}.
{"Online","Dostępny"}. {"Online","Dostępny"}.
{"Online Users:","Użytkownicy zalogowani:"}. {"Online Users:","Użytkownicy zalogowani:"}.
{"Online Users","Użytkownicy zalogowani"}. {"Online Users","Użytkownicy zalogowani"}.
@ -234,6 +242,7 @@
{"Password ~b","Hasło ~b"}. {"Password ~b","Hasło ~b"}.
{"Password:","Hasło:"}. {"Password:","Hasło:"}.
{"Password","Hasło"}. {"Password","Hasło"}.
{"Password Verification:","Weryfikacja hasła:"}.
{"Password Verification","Weryfikacja hasła"}. {"Password Verification","Weryfikacja hasła"}.
{"Path to Dir","Ścieżka do katalogu"}. {"Path to Dir","Ścieżka do katalogu"}.
{"Path to File","Scieżka do pliku"}. {"Path to File","Scieżka do pliku"}.
@ -257,8 +266,10 @@
{"Raw","Żródło"}. {"Raw","Żródło"}.
{"Really delete message of the day?","Na pewno usunąć wiadomość dnia?"}. {"Really delete message of the day?","Na pewno usunąć wiadomość dnia?"}.
{"Recipient is not in the conference room","Odbiorcy nie ma w pokoju"}. {"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:"}.
{"Registered Users","Użytkownicy zarejestrowani"}. {"Registered Users","Użytkownicy zarejestrowani"}.
{"Register","Zarejestruj"}.
{"Registration in mod_irc for ","Rejestracja w mod_irc dla "}. {"Registration in mod_irc for ","Rejestracja w mod_irc dla "}.
{"Remote copy","Kopia zdalna"}. {"Remote copy","Kopia zdalna"}.
{"Remove All Offline Messages","Usuń wszystkie wiadomości typu 'Offline'"}. {"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"}. {"Send announcement to all users","Wyślij powiadomienie do wszystkich użytkowników"}.
{"September","Wrzesień"}. {"September","Wrzesień"}.
{"Server ~b","Serwer ~b"}. {"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 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"}. {"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"}. {"Shared Roster Groups","Wspólne grupy kontaktów"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Pokaż zwykłą tabelę"}. {"Show Ordinary Table","Pokaż zwykłą tabelę"}.
{"Shut Down Service","Wyłącz usługę"}. {"Shut Down Service","Wyłącz usługę"}.
{"~s invites you to the room ~s","~s zaprasza Cię do pokoju ~s"}. {"~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 access model","Określ model dostępu"}.
{"Specify the event message type","Określ typ wiadomości"}. {"Specify the event message type","Określ typ wiadomości"}.
{"Specify the publisher model","Określ model publikującego"}. {"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 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ę"}. {"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 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 collections with which a node is affiliated","Grupy, do których należy węzeł"}.
{"the password is","hasło to:"}. {"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","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 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"}. {"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:"}. {"Transactions Restarted:","Transakcje uruchomione ponownie:"}.
{"Tuesday","Wtorek"}. {"Tuesday","Wtorek"}.
{"Unable to generate a captcha","Nie można wygenerować captcha"}. {"Unable to generate a captcha","Nie można wygenerować captcha"}.
{"Unable to generate a CAPTCHA","Nie można wygenerować CAPTCHA"}.
{"Unauthorized","Nie autoryzowano"}. {"Unauthorized","Nie autoryzowano"}.
{"Unregister a Jabber account","Usuń konto Jabber"}.
{"Unregister","Wyrejestruj"}.
{"Update","Aktualizuj"}. {"Update","Aktualizuj"}.
{"Update message of the day (don't send)","Aktualizuj wiadomość dnia (bez wysyłania)"}. {"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)"}. {"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:"}. {"Uptime:","Czas pracy:"}.
{"Use of STARTTLS required","Wymagane użycie STARTTLS"}. {"Use of STARTTLS required","Wymagane użycie STARTTLS"}.
{"User Management","Zarządzanie użytkownikami"}. {"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 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 Last Activity","Ostatnia aktywność użytkowników"}.
{"Users","Użytkownicy"}. {"Users","Użytkownicy"}.
@ -367,11 +393,16 @@
{"Wednesday","Środa"}. {"Wednesday","Środa"}.
{"When to send the last published item","Kiedy wysłać ostatnio opublikowaną rzecz"}. {"When to send the last published item","Kiedy wysłać ostatnio opublikowaną rzecz"}.
{"Whether to allow subscriptions","Czy pozwolić na subskrypcje"}. {"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 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 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 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 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ć"}. {"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 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"}. {"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: Andrzej Smyk\n"
"X-Additional-Translator: Mateusz Gajewski\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" msgid "Use of STARTTLS required"
msgstr "Wymagane użycie STARTTLS" msgstr "Wymagane użycie STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Nie podano zasobu" msgstr "Nie podano zasobu"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Zastąpione przez nowe połączenie" 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" msgid "Enter the text you see"
msgstr "Przepisz tekst z obrazka" 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" 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" 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." msgid "The captcha is valid."
msgstr "Captcha jest poprawna." msgstr "Captcha jest poprawna."
@ -351,7 +363,7 @@ msgstr "Konfiguracja listy dostępowej"
#: mod_configure.erl:1147 #: mod_configure.erl:1147
msgid "Access control lists" msgid "Access control lists"
msgstr "Lista dostępowa" msgstr "Listy dostępowe"
#: mod_configure.erl:1171 #: mod_configure.erl:1171
msgid "Access Configuration" msgid "Access Configuration"
@ -370,7 +382,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Hasło" msgstr "Hasło"
@ -441,15 +453,15 @@ msgstr "Transport IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Moduł IRC ejabberd" 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" 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" 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 " msgid "Registration in mod_irc for "
msgstr "Rejestracja w mod_irc dla " msgstr "Rejestracja w mod_irc dla "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -457,11 +469,11 @@ msgstr ""
"Wprowadź nazwę użytkownika, port i kodowanie, których chcesz używać do " "Wprowadź nazwę użytkownika, port i kodowanie, których chcesz używać do "
"łączenia z serwerami IRC" "łączenia z serwerami IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Nazwa użytkownika IRC" msgstr "Nazwa użytkownika IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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" "\"encoding\", port, \"password\"}'. Domyślne ta usługa używa kodowania \"~s"
"\", portu ~p, bez hasła." "\", portu ~p, bez hasła."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" "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" msgid "Connections parameters"
msgstr "Parametry połączeń" msgstr "Parametry połączeń"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Dołącz do kanału IRC" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "Kanał IRC (nie używaj #)" msgstr "Kanał IRC (nie używaj #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Serwer IRC" 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." msgid "Join the IRC channel here."
msgstr "Dołącz do kanału IRC." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Dołącz do kanału IRC pod tym 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" msgid "IRC settings"
msgstr "Ustawienia IRC" msgstr "Ustawienia IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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. " "serwerami IRC. Wciśnij \"Dalej\" aby ustawić więcej parametrów połączenia. "
"Wciśnij \"Zakończ\" aby zapisać ustawienia." "Wciśnij \"Zakończ\" aby zapisać ustawienia."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Nazwa użytkownika IRC" msgstr "Nazwa użytkownika IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Hasło ~b" msgstr "Hasło ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Kodowanie znaków dla serwera ~b" msgstr "Kodowanie znaków dla serwera ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Serwer ~b" msgstr "Serwer ~b"
@ -556,7 +568,7 @@ msgid "Chatrooms"
msgstr "Pokoje rozmów" msgstr "Pokoje rozmów"
#: mod_muc/mod_muc.erl:711 #: 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" msgstr "Potrzebujesz klienta obsługującego x:data aby zarejestrować nick"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -573,8 +585,8 @@ msgstr "Wprowadz nazwę użytkownika którego chcesz zarejestrować"
msgid "Nickname" msgid "Nickname"
msgstr "Nazwa użytkownika" msgstr "Nazwa użytkownika"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Ta nazwa użytkownika jest już zarejestrowana przez inną osobę" 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" msgstr "jest teraz znany jako"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " zmienił temat na: " msgstr " zmienił temat na: "
@ -727,10 +739,6 @@ msgstr "Konfiguracja pokoju"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Lista uczestników" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Limit transferu przekroczony" 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" msgid "Recipient is not in the conference room"
msgstr "Odbiorcy nie ma w pokoju" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Tylko uczestnicy mogą wysyłać wiadomości na konferencję" 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" 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" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Tylko moderatorzy i uczestnicy mogą zmienić temat tego pokoju" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Tylko moderatorzy mogą zmienić temat tego pokoju" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Odwiedzający nie mogą wysyłać wiadomości do wszystkich obecnych" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Ten uczestnik został wyrzucony z pokoju ponieważ jego informacja o statusie " "Ten uczestnik został wyrzucony z pokoju ponieważ jego informacja o statusie "
"zawierała błędy" "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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Uczestnicy tego pokoju nie mogą zmieniać swoich nicków" 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" msgid "That nickname is already in use by another occupant"
msgstr "Ta nazwa użytkownika jest używana przez kogoś innego" 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" msgid "You have been banned from this room"
msgstr "Zostałeś wykluczony z tego pokoju" 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" msgid "Membership is required to enter this room"
msgstr "Musisz być na liście członków tego pokoju aby do niego wejść" 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" msgid "This room is not anonymous"
msgstr "Ten pokój nie jest anonimowy" 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" msgid "A password is required to enter this room"
msgstr "Aby wejść do pokoju wymagane jest hasło" 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" msgid "Unable to generate a captcha"
msgstr "Nie można wygenerować captcha" msgstr "Nie można wygenerować captcha"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Nieprawidłowe hasło" msgstr "Nieprawidłowe hasło"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Wymagane uprawnienia administratora" msgstr "Wymagane uprawnienia administratora"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Wymagane uprawnienia moderatora" msgstr "Wymagane uprawnienia moderatora"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s jest niepoprawny" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Nie ma nicka ~s w tym pokoju" 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" msgid "Invalid affiliation: ~s"
msgstr "Nieprawidłowa przynależność: ~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" msgid "Invalid role: ~s"
msgstr "Nieprawidłowa rola: ~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" msgid "Owner privileges required"
msgstr "Wymagane uprawnienia właściciela" 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" msgid "Configuration of room ~s"
msgstr "Konfiguracja pokoju ~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" msgid "Room description"
msgstr "Opis pokoju" msgstr "Opis pokoju"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Utwórz pokój na stałe" 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" msgid "Make room public searchable"
msgstr "Pozwól wyszukiwać pokój" 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" msgid "Make participants list public"
msgstr "Upublicznij listę uczestników" msgstr "Upublicznij listę uczestników"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Pokój zabezpieczony hasłem" 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" msgid "Maximum Number of Occupants"
msgstr "Maksymalna liczba uczestników" msgstr "Maksymalna liczba uczestników"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Bez limitu" msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Prawdziwe Jabber ID widoczne dla" msgstr "Prawdziwe Jabber ID widoczne dla"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "tylko moderatorzy" msgstr "tylko moderatorzy"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "wszystkich" msgstr "wszystkich"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Pokój tylko dla członków" 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" msgid "Make room moderated"
msgstr "Pokój moderowany" msgstr "Pokój moderowany"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Domyślni użytkownicy jako uczestnicy" 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" msgid "Allow users to change the subject"
msgstr "Pozwól użytkownikom zmieniać temat" 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" msgid "Allow users to send private messages"
msgstr "Pozwól użytkownikom wysyłać prywatne wiadomości" 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" msgid "Allow users to query other users"
msgstr "Pozwól użytkownikom pobierać informacje o innych użytkownikach" 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" msgid "Allow users to send invites"
msgstr "Pozwól użytkownikom wysyłać zaproszenia" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Pozwól uczestnikom na wysyłanie statusów opisowych" 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" msgid "Allow visitors to change nickname"
msgstr "Pozwól uczestnikom na zmianę nicka" 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" msgid "Make room captcha protected"
msgstr "Pokój zabezpieczony captchą" msgstr "Pokój zabezpieczony captchą"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Włącz logowanie" 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" msgid "You need an x:data capable client to configure room"
msgstr "Potrzebujesz klienta obsługującego x:data aby skonfigurować pokój" 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" msgid "Number of occupants"
msgstr "Liczba uczestników" msgstr "Liczba uczestników"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "prywatny, " msgstr "prywatny, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s zaprasza Cię do pokoju ~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" msgid "the password is"
msgstr "hasło to:" msgstr "hasło to:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Kolejka wiadomości offline adresata jest pełna. Wiadomość została odrzucona." "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" msgid "~s's Offline Messages Queue"
msgstr "Kolejka wiadomości offline użytkownika ~s" msgstr "Kolejka wiadomości offline użytkownika ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1005,20 +1017,20 @@ msgstr "Od"
msgid "To" msgid "To"
msgstr "Do" msgstr "Do"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pakiet" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Usuń zaznaczone" msgstr "Usuń zaznaczone"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Wiadomości offline:" 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" msgid "Remove All Offline Messages"
msgstr "Usuń wszystkie wiadomości typu 'Offline'" msgstr "Usuń wszystkie wiadomości typu 'Offline'"
@ -1026,112 +1038,133 @@ msgstr "Usuń wszystkie wiadomości typu 'Offline'"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Moduł SOCKS5 Bytestreams" 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" msgid "Publish-Subscribe"
msgstr "PubSub" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Moduł Publish-Subscribe" 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" msgid "PubSub subscriber request"
msgstr "Żądanie subskrybcji PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Wybierz, czy akceptować subskrypcję tej jednostki" 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" msgid "Node ID"
msgstr "ID węzła" 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" msgid "Subscriber Address"
msgstr "Adres subskrybenta" 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?" 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" 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" msgid "Deliver payloads with event notifications"
msgstr "Dostarczaj zawartość publikacji wraz z powiadomieniami o zdarzeniach" 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" msgid "Deliver event notifications"
msgstr "Dostarczaj powiadomienia o zdarzeniach" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Informuj subskrybentów o zmianach konfiguracji węzła" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Informuj subskrybentów o usunięciu węzła" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Informuj subskrybentów o usunięciu elementów węzła" 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" msgid "Persist items to storage"
msgstr "Przechowuj na stałe dane PubSub" 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" msgid "A friendly name for the node"
msgstr "Przyjazna nazwa węzła" 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" msgid "Max # of items to persist"
msgstr "Maksymalna liczba przechowywanych przedmiotów" 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" msgid "Whether to allow subscriptions"
msgstr "Czy pozwolić na subskrypcje" 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" msgid "Specify the access model"
msgstr "Określ model dostępu" 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" msgid "Roster groups allowed to subscribe"
msgstr "Grupy kontaktów uprawnione do subskrypcji" 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" msgid "Specify the publisher model"
msgstr "Określ model publikującego" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Usuń wszystkie elementy w momencie kiedy publikujący rozłączy się" 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" msgid "Specify the event message type"
msgstr "Określ typ wiadomości" 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" msgid "Max payload size in bytes"
msgstr "Maksymalna wielkość powiadomienia w bajtach" 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" msgid "When to send the last published item"
msgstr "Kiedy wysłać ostatnio opublikowaną rzecz" 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" msgid "Only deliver notifications to available users"
msgstr "Dostarczaj powiadomienia tylko dostępnym użytkownikom" 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" msgid "The collections with which a node is affiliated"
msgstr "Grupy, do których należy węzeł" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Wybierz nazwę użytkownika i hasło aby zarejestrować się na tym serwerze" "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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Użytkowncy nie mogą tak szybko rejestrować nowych kont" msgstr "Użytkowncy nie mogą tak szybko rejestrować nowych kont"
@ -1165,13 +1198,13 @@ msgstr "Usuń"
msgid "Roster of " msgid "Roster of "
msgstr "Lista kontaktów " msgstr "Lista kontaktów "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Błędny format" msgstr "Błędny format"
@ -1183,37 +1216,37 @@ msgstr "Dodaj Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Lista kontaktów" msgstr "Lista kontaktów"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Wspólne grupy kontaktów" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Dodaj nowe" msgstr "Dodaj nowe"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Nazwa:" msgstr "Nazwa:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Opis:" msgstr "Opis:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Członkowie:" msgstr "Członkowie:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Wyświetlane grupy:" msgstr "Wyświetlane grupy:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grupa " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1285,11 +1318,6 @@ msgstr "Dział"
msgid "Search users in " msgid "Search users in "
msgstr "Wyszukaj użytkowników w " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Potrzebujesz klienta obsługującego x:data aby wyszukiwać" msgstr "Potrzebujesz klienta obsługującego x:data aby wyszukiwać"
@ -1412,7 +1440,9 @@ msgstr "Wychodzące połączenia s2s:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Serwery zewnętrzne s2s:" 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" msgid "Change Password"
msgstr "Zmień hasło" msgstr "Zmień hasło"
@ -1424,7 +1454,8 @@ msgstr "Użytkownik "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Zasoby zalogowane:" 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:" msgid "Password:"
msgstr "Hasło:" msgstr "Hasło:"
@ -1636,3 +1667,127 @@ msgstr "Usuń"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Uruchom" 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 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 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"}.
{"Access Rules","Regras de Acesso"}.
{"Action on user","Ação no usuário"}. {"Action on user","Ação no usuário"}.
{"Add Jabber ID","Adicionar ID jabber"}. {"Add Jabber ID","Adicionar ID jabber"}.
{"Add New","Adicionar novo"}. {"Add New","Adicionar novo"}.
@ -13,8 +13,8 @@
{"Administration of ","Administração de "}. {"Administration of ","Administração de "}.
{"Administrator privileges required","Se necessita privilégios de administrador"}. {"Administrator privileges required","Se necessita privilégios de administrador"}.
{"A friendly name for the node","Um nome familiar para o nó"}. {"A friendly name for the node","Um nome familiar para o nó"}.
{"All activity","Toda la atividade"}. {"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 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 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 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"}. {"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"}. {"A password is required to enter this room","Se necessita senha para entrar em esta sala"}.
{"April","Abril"}. {"April","Abril"}.
{"August","Agosto"}. {"August","Agosto"}.
{"Backup Management","Gestão de copia de segurança"}. {"Backup Management","Gestão de Backup"}.
{"Backup of ","Backup de"}. {"Backup of ","Backup de "}.
{"Backup","Salvar cópia de segurança"}. {"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"}. {"Bad format","Formato incorreto"}.
{"Birthday","Aniversário"}. {"Birthday","Aniversário"}.
{"Change Password","Mudar senha"}. {"Change Password","Mudar senha"}.
{"Change User Password","Alterar Senha do Usuário"}. {"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 configuration modified","Configuração da sala de bate-papo modificada"}.
{"Chatroom is created","A sala de chat está criada"}. {"Chatroom is created","A sala de chat está criada"}.
{"Chatroom is destroyed","A sala de chat está destruída"}. {"Chatroom is destroyed","A sala de chat está destruída"}.
@ -51,11 +52,11 @@
{"Configuration","Configuração"}. {"Configuration","Configuração"}.
{"Configuration of room ~s","Configuração para ~s"}. {"Configuration of room ~s","Configuração para ~s"}.
{"Connected Resources:","Recursos conectados:"}. {"Connected Resources:","Recursos conectados:"}.
{"Connections parameters","Parametros para as Conexões"}. {"Connections parameters","Parâmetros para as Conexões"}.
{"Country","País"}. {"Country","País"}.
{"CPU Time:","Tempo de CPU"}. {"CPU Time:","Tempo de CPU"}.
{"Database","Base de dados"}. {"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 "}. {"Database Tables Configuration at ","Configuração de Tabelas de Base de dados em "}.
{"December","Dezembro"}. {"December","Dezembro"}.
{"Default users as participants","Usuários padrões como participantes"}. {"Default users as participants","Usuários padrões como participantes"}.
@ -67,9 +68,9 @@
{"Deliver event notifications","Entregar as notificações de evento"}. {"Deliver event notifications","Entregar as notificações de evento"}.
{"Deliver payloads with event notifications","Enviar payloads junto com as notificações de eventos"}. {"Deliver payloads with event notifications","Enviar payloads junto com as notificações de eventos"}.
{"Description:","Descrição:"}. {"Description:","Descrição:"}.
{"Disc only copy","Copia em disco somente"}. {"Disc only copy","Somente copia em disco"}.
{"Displayed Groups:","Grupos Indicados"}. {"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 ","Exporta cópia de segurança para arquivo de texto em "}. {"Dump Backup to Text File at ","Exportar backup para texto em "}.
{"Dump to Text File","Exportar para arquivo de texto"}. {"Dump to Text File","Exportar para arquivo de texto"}.
{"Edit Properties","Editar propriedades"}. {"Edit Properties","Editar propriedades"}.
{"ejabberd IRC module","Módulo de IRC para ejabberd"}. {"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 Publish-Subscribe module","Módulo para Publicar Tópicos do ejabberd"}.
{"ejabberd SOCKS5 Bytestreams module","Modulo ejabberd SOCKS5 Bytestreams"}. {"ejabberd SOCKS5 Bytestreams module","Modulo ejabberd SOCKS5 Bytestreams"}.
{"ejabberd vCard module","Módulo vCard para ejabberd"}. {"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"}. {"ejabberd Web Admin","ejabberd Web Admin"}.
{"Elements","Elementos"}. {"Elements","Elementos"}.
{"Email","e-mail"}. {"Email","Email"}.
{"Enable logging","Permitir criação de logs"}. {"Enable logging","Permitir criação de logs"}.
{"Encoding for server ~b","Codificação para o servidor ~b"}. {"Encoding for server ~b","Codificação para o servidor ~b"}.
{"End User Session","Terminar Sessão do Usuário"}. {"End User Session","Terminar Sessão do Usuário"}.
{"Enter list of {Module, [Options]}","Introduza lista de {módulo, [opções]}"}. {"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 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 backup file","Introduza o caminho do arquivo de backup"}.
{"Enter path to jabberd14 spool dir","Introduza o caminho para o diretório de spools do jabberd14"}. {"Enter path to jabberd14 spool dir","Introduza o caminho para o diretório de fila do jabberd14"}.
{"Enter path to jabberd14 spool file","Introduza o caminho para o arquivo de spool 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 de texto"}. {"Enter path to text file","Introduza caminho para o arquivo texto"}.
{"Enter the text you see","Insira o texto que você vê"}. {"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 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"}. {"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"}. {"Erlang Jabber Server","Servidor Jabber em Erlang"}.
{"Error","Erro"}. {"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\"}]."}. {"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):"}. {"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"}. {"February","Fevereiro"}.
{"Fill in fields to search for any matching Jabber User","Preencha campos para buscar usuários Jabber que concordem"}. {"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."}. {"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)"}. {"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 Directory","Importar diretório"}.
{"Import File","Importar arquivo"}. {"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 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 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 Dir at ","Importar usuários a partir do diretório em "}.
{"Import Users From jabberd14 Spool Files","Importar usuários de arquivos jabberd14"}. {"Import Users From jabberd14 Spool Files","Importar usuários de arquivos jabberd14"}.
{"Improper message type","Tipo de mensagem incorreto"}. {"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 channel (don't put the first #)","Canal IRC (não coloque o #)"}.
{"IRC server","Servidor IRC"}. {"IRC server","Servidor IRC"}.
{"IRC settings","Configurações do IRC"}. {"IRC settings","Configurações do IRC"}.
{"IRC Transport","IRC Transport"}. {"IRC Transport","Transporte IRC"}.
{"IRC username","Nome de usuário no IRC"}. {"IRC username","Usuário IRC"}.
{"IRC Username","Nome de usuário no IRC"}. {"IRC Username","Usuário IRC"}.
{"is now known as","é agora conhecido como"}. {"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","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 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"}. {"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","ID Jabber"}.
{"Jabber ID ~s is invalid","O Jabber ID ~s não es válido"}. {"Jabber ID ~s is invalid","O Jabber ID ~s não es válido"}.
{"January","Janeiro"}. {"January","Janeiro"}.
{"Join IRC channel","Entrar no canal IRC"}. {"Join IRC channel","Juntar-se ao canal IRC"}.
{"joins the room","Entrar na sala"}. {"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"}. {"Join the IRC channel in this Jabber ID: ~s","Entrar no canal IRC, neste ID Jabber: ~s"}.
{"July","Julho"}. {"July","Julho"}.
{"June","Junho"}. {"June","Junho"}.
@ -159,7 +161,7 @@
{"Last month","Último mês"}. {"Last month","Último mês"}.
{"Last year","Último ano"}. {"Last year","Último ano"}.
{"leaves the room","Sair da sala"}. {"leaves the room","Sair da sala"}.
{"Listened Ports at ","Portas de escuta em "}. {"Listened Ports at ","Portas ouvintes em "}.
{"Listened Ports","Portas escutadas"}. {"Listened Ports","Portas escutadas"}.
{"List of modules to start","Listas de módulos para inicializar"}. {"List of modules to start","Listas de módulos para inicializar"}.
{"Low level update script","Script de atualização low level"}. {"Low level update script","Script de atualização low level"}.
@ -177,9 +179,10 @@
{"May","Maio"}. {"May","Maio"}.
{"Membership is required to enter this room","Necessitas ser membro de esta sala para poder entrar"}. {"Membership is required to enter this room","Necessitas ser membro de esta sala para poder entrar"}.
{"Members:","Miembros:"}. {"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"}. {"Memory","Memória"}.
{"Message body","Corpo da mensagem"}. {"Message body","Corpo da mensagem"}.
{"Middle Name","Apelido"}. {"Middle Name","Nome do meio"}.
{"Moderator privileges required","Se necessita privilégios de moderador"}. {"Moderator privileges required","Se necessita privilégios de moderador"}.
{"moderators only","apenas moderadores"}. {"moderators only","apenas moderadores"}.
{"Modified modules","Módulos atualizados"}. {"Modified modules","Módulos atualizados"}.
@ -202,7 +205,7 @@
{"No limit","Ilimitado"}. {"No limit","Ilimitado"}.
{"None","Nenhum"}. {"None","Nenhum"}.
{"No resource provided","Recurso não foi fornecido"}. {"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 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 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"}. {"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"}. {"Only service administrators are allowed to send service messages","Apenas administradores possuem permissão para enviar mensagens de serviço"}.
{"Options","Opções"}. {"Options","Opções"}.
{"Organization Name","Nome da organização"}. {"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 partam de s2s"}.
{"Outgoing s2s Connections:","Conexões que partem de s2s"}. {"Outgoing s2s Connections:","Conexões que partem de s2s"}.
{"Outgoing s2s Servers:","Servidores que partem de s2s"}. {"Outgoing s2s Servers:","Servidores que partem de s2s"}.
@ -252,14 +255,15 @@
{"PubSub subscriber request","PubSub requisição de assinante"}. {"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"}. {"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"}. {"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"}. {"RAM copy","Copia em RAM"}.
{"Raw","Intocado"}. {"Raw","Intocado"}.
{"Really delete message of the day?","Deletar realmente a mensagem do dia?"}. {"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"}. {"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"}.
{"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"}. {"Remote copy","Copia remota"}.
{"Remove All Offline Messages","Remover Todas as Mensagens Offline"}. {"Remove All Offline Messages","Remover Todas as Mensagens Offline"}.
{"Remove","Borrar"}. {"Remove","Borrar"}.
@ -268,10 +272,10 @@
{"Resources","Recursos"}. {"Resources","Recursos"}.
{"Restart","Reiniciar"}. {"Restart","Reiniciar"}.
{"Restart Service","Reiniciar Serviço"}. {"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 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 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"}. {"Restore","Restaurar"}.
{"Room Configuration","Configuração de salas"}. {"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"}. {"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"}. {"~s access rule configuration","Configuração da Regra de Acesso ~s"}.
{"Saturday","Sábado"}. {"Saturday","Sábado"}.
{"Script check","Verificação de Script"}. {"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 "}. {"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","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"}. {"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"}. {"Show Ordinary Table","Mostrar Tabela Ordinária"}.
{"Shut Down Service","Parar Serviço"}. {"Shut Down Service","Parar Serviço"}.
{"~s invites you to the room ~s","~s convidou você para a sala ~s"}. {"~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 access model","Especificar os modelos de acesso"}.
{"Specify the event message type","Especificar o tipo de mensagem para o evento"}. {"Specify the event message type","Especificar o tipo de mensagem para o evento"}.
{"Specify the publisher model","Especificar o modelo do publicante"}. {"Specify the publisher model","Especificar o modelo do publicante"}.
@ -317,11 +322,11 @@
{"Stopped Nodes","Nos parados"}. {"Stopped Nodes","Nos parados"}.
{"Storage Type","Tipo de armazenamento"}. {"Storage Type","Tipo de armazenamento"}.
{"Store binary backup:","Armazenar backup binário:"}. {"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"}. {"Subject","Assunto"}.
{"Submit","Enviar"}. {"Submit","Enviar"}.
{"Submitted","Submetido"}. {"Submitted","Submetido"}.
{"Subscriber Address","Enderço dos Assinantes"}. {"Subscriber Address","Endereço dos Assinantes"}.
{"Subscription","Subscrição"}. {"Subscription","Subscrição"}.
{"Sunday","Domingo"}. {"Sunday","Domingo"}.
{"That nickname is already in use by another occupant","O apelido (nick) já está sendo utilizado"}. {"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 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 collections with which a node is affiliated","As coleções com as quais o nó está relacionado"}.
{"the password is","a senha é"}. {"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","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 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 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"}. {"This room is not anonymous","Essa sala não é anônima"}.
{"Thursday","Quinta"}. {"Thursday","Quinta"}.
{"Time delay","Intervalo de Tempo"}. {"Time delay","Intervalo (Tempo)"}.
{"Time","Fecha"}. {"Time","Fecha"}.
{"To","Para"}. {"To","Para"}.
{"To ~s","Para ~s"}. {"To ~s","Para ~s"}.
{"Traffic rate limit is exceeded","Limite de banda excedido"}. {"Traffic rate limit is exceeded","Limite de banda excedido"}.
{"Transactions Aborted:","Transações abortadas:"}. {"Transactions Aborted:","Transações abortadas:"}.
{"Transactions Committed:","Transações:"}. {"Transactions Committed:","Transações salvas:"}.
{"Transactions Logged:","Transações de log:"}. {"Transactions Logged:","Transações de log:"}.
{"Transactions Restarted:","Transações restauradas:"}. {"Transactions Restarted:","Transações reiniciadas:"}.
{"Tuesday","Terça"}. {"Tuesday","Terça"}.
{"Unable to generate a captcha","Impossível gerar um captcha"}. {"Unable to generate a captcha","Impossível gerar um captcha"}.
{"Unauthorized","Não Autorizado"}. {"Unauthorized","Não Autorizado"}.
{"Update ","Atualizar"}. {"Unregister a Jabber account","Deletar conta Jabber"}.
{"Unregister","Deletar registro"}.
{"Update ","Atualizar "}.
{"Update","Atualizar"}. {"Update","Atualizar"}.
{"Update message of the day (don't send)","Atualizar mensagem do dia (não enviar)"}. {"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)"}. {"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 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 Last Activity","Ultimas atividades dos usuários"}.
{"Users","Usuários"}. {"Users","Usuários"}.
{"User ","Usuário"}. {"User ","Usuário "}.
{"User","Usuário"}. {"User","Usuário"}.
{"Validate","Validar"}. {"Validate","Validar"}.
{"vCard User Search","Busca de Usuário vCard"}. {"vCard User Search","Busca de Usuário vCard"}.
@ -367,11 +381,14 @@
{"Wednesday","Quarta"}. {"Wednesday","Quarta"}.
{"When to send the last published item","Quando enviar o último tópico publicado"}. {"When to send the last published item","Quando enviar o último tópico publicado"}.
{"Whether to allow subscriptions","Permitir subscrições"}. {"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 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 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 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 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"}. {"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 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"}. {"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 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 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 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"}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Portuguese (português)\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" msgid "Use of STARTTLS required"
msgstr "" msgstr ""
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Não foi passado nenhum recurso" msgstr "Não foi passado nenhum recurso"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "" 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 #, fuzzy
msgid "Enter the text you see" msgid "Enter the text you see"
msgstr "Introduza caminho para o ficheiro de texto" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "" msgstr ""
@ -374,7 +386,7 @@ msgid "Jabber ID"
msgstr "" msgstr ""
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Palavra-chave" msgstr "Palavra-chave"
@ -449,17 +461,17 @@ msgstr ""
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Módulo de IRC ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"É necessário um cliente com suporte de x:data para configurar as opções do " "É necessário um cliente com suporte de x:data para configurar as opções do "
"mod_irc" "mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Registo no mod_irc para" msgstr "Registo no mod_irc para"
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "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 " "Introduza o nome de utilizador e codificações de caracteres que quer usar ao "
"conectar-se aos servidores de IRC" "conectar-se aos servidores de IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Nome do utilizador de IRC" msgstr "Nome do utilizador de IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
#, fuzzy #, fuzzy
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "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\", " "servidor IRC preencha esta lista con valores no formato '{\"servidor irc\", "
"\"codificação\"}'. Este serviço usa por omissão a codificação \"~s\"." "\"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 "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
#, fuzzy #, fuzzy
msgid "IRC server" msgid "IRC server"
msgstr "Nome do utilizador de IRC" 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." msgid "Join the IRC channel here."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Introduza o nome de utilizador e codificações de caracteres que quer usar ao "
"conectar-se aos servidores de IRC" "conectar-se aos servidores de IRC"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
#, fuzzy #, fuzzy
msgid "IRC username" msgid "IRC username"
msgstr "Nome do utilizador de IRC" msgstr "Nome do utilizador de IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
#, fuzzy #, fuzzy
msgid "Password ~b" msgid "Password ~b"
msgstr "Palavra-chave" msgstr "Palavra-chave"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
#, fuzzy #, fuzzy
msgid "Port ~b" msgid "Port ~b"
msgstr "Porta" msgstr "Porta"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "" msgstr ""
@ -572,7 +584,8 @@ msgid "Chatrooms"
msgstr "" msgstr ""
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"É necessário um cliente com suporte de x:data para poder registar a alcunha" "É 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" msgid "Nickname"
msgstr "Alcunha" msgstr "Alcunha"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
#, fuzzy #, fuzzy
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "A alcunha já está registada por outra pessoa" msgstr "A alcunha já está registada por outra pessoa"
@ -643,7 +656,7 @@ msgid "is now known as"
msgstr "" msgstr ""
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " colocou o tópico: " msgstr " colocou o tópico: "
@ -750,10 +763,6 @@ msgstr "Configuração"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "" msgstr ""
@ -785,8 +794,8 @@ msgstr "Não é permitido enviar mensagens privadas do tipo \"groupchat\""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "O destinatário não está na sala" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Só os ocupantes podem enviar mensagens para a sala" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Nesta sala não são permitidas consultas aos seus membros" 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 #, fuzzy
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Só os moderadores e os participantes podem mudar o tópico desta sala" 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 #, fuzzy
msgid "Only moderators are allowed to change the subject in this room" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:917 #: mod_muc/mod_muc_room.erl:912
#, fuzzy #, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Só os moderadores podem mudar o tópico desta sala" 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 #, fuzzy
msgid "That nickname is already in use by another occupant" msgid "That nickname is already in use by another occupant"
msgstr "A alcunha já está a ser usado por outro ocupante" 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" msgid "You have been banned from this room"
msgstr "Foi banido desta sala" msgstr "Foi banido desta sala"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
#, fuzzy #, fuzzy
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "É necessário ser membro desta sala para poder entrar" 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 #, fuzzy
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Tornar a sala anónima?" msgstr "Tornar a sala anónima?"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
#, fuzzy #, fuzzy
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "É necessária a palavra-chave para poder entrar nesta sala" 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" 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" msgid "Incorrect password"
msgstr "Palavra-chave incorrecta" msgstr "Palavra-chave incorrecta"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "São necessários privilégios de administrador" 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" msgid "Moderator privileges required"
msgstr "São necessários privilégios de moderador" 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" msgid "Jabber ID ~s is invalid"
msgstr "O Jabber ID ~s não é válido" 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" msgid "Nickname ~s does not exist in the room"
msgstr "A alcunha ~s não existe na sala" 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" msgid "Invalid affiliation: ~s"
msgstr "Afiliação inválida: ~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" msgid "Invalid role: ~s"
msgstr "Papel inválido: ~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" msgid "Owner privileges required"
msgstr "São necessários privilégios de dono" msgstr "São necessários privilégios de dono"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
#, fuzzy #, fuzzy
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Configuração para " 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 #, fuzzy
msgid "Room description" msgid "Room description"
msgstr "Subscrição" msgstr "Subscrição"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
#, fuzzy #, fuzzy
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Tornar a sala permanente?" msgstr "Tornar a sala permanente?"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
#, fuzzy #, fuzzy
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Tornar a sala publicamente visível?" msgstr "Tornar a sala publicamente visível?"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
#, fuzzy #, fuzzy
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Tornar pública a lista de participantes?" msgstr "Tornar pública a lista de participantes?"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
#, fuzzy #, fuzzy
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Proteger a sala com palavra-chave?" 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" msgid "Maximum Number of Occupants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
#, fuzzy #, fuzzy
msgid "anyone" msgid "anyone"
msgstr "Nenhum" msgstr "Nenhum"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
#, fuzzy #, fuzzy
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Tornar a sala exclusiva a membros?" 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" msgid "Make room moderated"
msgstr "Tornar a sala moderada" msgstr "Tornar a sala moderada"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
#, fuzzy #, fuzzy
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Os utilizadores são membros por omissão?" msgstr "Os utilizadores são membros por omissão?"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
#, fuzzy #, fuzzy
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Permitir aos utilizadores mudar o tópico?" msgstr "Permitir aos utilizadores mudar o tópico?"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
#, fuzzy #, fuzzy
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "Permitir que os utilizadores enviem mensagens privadas?" msgstr "Permitir que os utilizadores enviem mensagens privadas?"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
#, fuzzy #, fuzzy
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "Permitir aos utilizadores consultar outros utilizadores?" msgstr "Permitir aos utilizadores consultar outros utilizadores?"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
#, fuzzy #, fuzzy
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "Permitir que os utilizadores enviem convites?" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
#, fuzzy #, fuzzy
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Permitir aos utilizadores mudar o tópico?" msgstr "Permitir aos utilizadores mudar o tópico?"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
#, fuzzy #, fuzzy
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Proteger a sala com palavra-chave?" msgstr "Proteger a sala com palavra-chave?"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
#, fuzzy #, fuzzy
msgid "Enable logging" msgid "Enable logging"
msgstr "Guardar históricos?" 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" 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" 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" msgid "Number of occupants"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privado" msgstr "privado"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
#, fuzzy #, fuzzy
msgid "the password is" msgid "the password is"
msgstr "Mudar palavra-chave" msgstr "Mudar palavra-chave"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
#: mod_offline.erl:560 mod_offline_odbc.erl:409 #: mod_offline.erl:560 mod_offline_odbc.erl:408
#, fuzzy #, fuzzy
msgid "~s's Offline Messages Queue" msgid "~s's Offline Messages Queue"
msgstr "~s fila de mensagens diferidas" msgstr "~s fila de mensagens diferidas"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1049,21 +1062,21 @@ msgstr "De"
msgid "To" msgid "To"
msgstr "Para" msgstr "Para"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Pacote" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Eliminar os seleccionados" msgstr "Eliminar os seleccionados"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy #, fuzzy
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Mensagens diferidas:" msgstr "Mensagens diferidas:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy #, fuzzy
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Mensagens diferidas" msgstr "Mensagens diferidas"
@ -1073,114 +1086,138 @@ msgstr "Mensagens diferidas"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Módulo vCard de ejabberd" 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" msgid "Publish-Subscribe"
msgstr "" 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 #, fuzzy
msgid "ejabberd Publish-Subscribe module" msgid "ejabberd Publish-Subscribe module"
msgstr "Módulo pub/sub de ejabberd" 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" msgid "PubSub subscriber request"
msgstr "" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "" 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 #, fuzzy
msgid "Node ID" msgid "Node ID"
msgstr "Nodo" 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" msgid "Subscriber Address"
msgstr "" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "" 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" msgid "Deliver payloads with event notifications"
msgstr "" 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" msgid "Deliver event notifications"
msgstr "" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "" 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" msgid "Notify subscribers when the node is deleted"
msgstr "" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "" 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" msgid "Persist items to storage"
msgstr "" 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" msgid "A friendly name for the node"
msgstr "" 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" msgid "Max # of items to persist"
msgstr "" 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" msgid "Whether to allow subscriptions"
msgstr "" 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" msgid "Specify the access model"
msgstr "" 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" msgid "Roster groups allowed to subscribe"
msgstr "" 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" msgid "Specify the publisher model"
msgstr "" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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" msgid "Specify the event message type"
msgstr "" 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" msgid "Max payload size in bytes"
msgstr "" 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" msgid "When to send the last published item"
msgstr "" 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" msgid "Only deliver notifications to available users"
msgstr "" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Escolha um nome de utilizador e palavra-chave para se registar neste servidor" "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 #, fuzzy
msgid "Users are not allowed to register accounts so quickly" msgid "Users are not allowed to register accounts so quickly"
msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes" msgstr "Os visitantes não podem enviar mensagens para todos os ocupantes"
@ -1215,13 +1252,13 @@ msgstr "Remover"
msgid "Roster of " msgid "Roster of "
msgstr "Lista de contactos de " msgstr "Lista de contactos de "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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 #, fuzzy
msgid "Bad format" msgid "Bad format"
msgstr "formato inválido" msgstr "formato inválido"
@ -1235,41 +1272,41 @@ msgstr "Adicionar Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Lista de contactos" msgstr "Lista de contactos"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
#, fuzzy #, fuzzy
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Lista de contactos partilhada" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Adicionar novo" msgstr "Adicionar novo"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
#, fuzzy #, fuzzy
msgid "Name:" msgid "Name:"
msgstr "Nome" msgstr "Nome"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
#, fuzzy #, fuzzy
msgid "Description:" msgid "Description:"
msgstr "Subscrição" msgstr "Subscrição"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "" msgstr ""
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
#, fuzzy #, fuzzy
msgid "Group " msgid "Group "
msgstr "Grupos" 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1341,11 +1378,6 @@ msgstr "Unidade da organização"
msgid "Search users in " msgid "Search users in "
msgstr "Procurar utilizadores em " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "É necessário um cliente com suporte de x:data para poder procurar" 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:" msgid "Outgoing s2s Servers:"
msgstr "Servidores S2S de saída" 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" msgid "Change Password"
msgstr "Mudar palavra-chave" msgstr "Mudar palavra-chave"
@ -1495,7 +1529,8 @@ msgstr "Utilizador"
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Recursos conectados:" 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:" msgid "Password:"
msgstr "Palavra-chave:" msgstr "Palavra-chave:"
@ -1723,6 +1758,122 @@ msgstr "Eliminar"
msgid "Start" msgid "Start"
msgstr "Reiniciar" 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" #~ msgid "Encodings"
#~ msgstr "Codificações" #~ msgstr "Codificações"
@ -1781,9 +1932,6 @@ msgstr "Reiniciar"
#~ msgid "ejabberd (c) 2002-2005 Alexey Shchepin, 2005 Process One" #~ msgid "ejabberd (c) 2002-2005 Alexey Shchepin, 2005 Process One"
#~ msgstr "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" #~ msgid "ejabberd access rules configuration"
#~ msgstr "Configuração das Regras de Acesso do ejabberd" #~ msgstr "Configuração das Regras de Acesso do ejabberd"

View File

@ -33,8 +33,10 @@
{"Backup","Резервное копирование"}. {"Backup","Резервное копирование"}.
{"Bad format","Неправильный формат"}. {"Bad format","Неправильный формат"}.
{"Birthday","День рождения"}. {"Birthday","День рождения"}.
{"CAPTCHA web page","Ссылка на капчу"}.
{"Change Password","Сменить пароль"}. {"Change Password","Сменить пароль"}.
{"Change User Password","Изменить пароль пользователя"}. {"Change User Password","Изменить пароль пользователя"}.
{"Characters not allowed:","Недопустимые символы:"}.
{"Chatroom configuration modified","Конфигурация комнаты изменилась"}. {"Chatroom configuration modified","Конфигурация комнаты изменилась"}.
{"Chatroom is created","Комната создана"}. {"Chatroom is created","Комната создана"}.
{"Chatroom is destroyed","Комната уничтожена"}. {"Chatroom is destroyed","Комната уничтожена"}.
@ -69,6 +71,7 @@
{"Description:","Описание:"}. {"Description:","Описание:"}.
{"Disc only copy","только диск"}. {"Disc only copy","только диск"}.
{"Displayed Groups:","Видимые группы:"}. {"Displayed Groups:","Видимые группы:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Не говорите никому свой пароль, даже администраторам сервера."}.
{"Dump Backup to Text File at ","Копирование в текстовый файл на "}. {"Dump Backup to Text File at ","Копирование в текстовый файл на "}.
{"Dump to Text File","Копирование в текстовый файл"}. {"Dump to Text File","Копирование в текстовый файл"}.
{"Edit Properties","Изменить параметры"}. {"Edit Properties","Изменить параметры"}.
@ -120,6 +123,7 @@
{"has been kicked","выгнали из комнаты"}. {"has been kicked","выгнали из комнаты"}.
{" has set the subject to: "," установил(а) тему: "}. {" has set the subject to: "," установил(а) тему: "}.
{"Host","Хост"}. {"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, пустой пароль."}. {"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 Directory","Импорт из директории"}.
{"Import File","Импорт из файла"}. {"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 of type \"groupchat\"","Нельзя посылать частные сообщения типа \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Не разрешается посылать частные сообщения прямо в конференцию"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s недопустимый"}. {"Jabber ID ~s is invalid","Jabber ID ~s недопустимый"}.
{"January","января"}. {"January","января"}.
@ -177,6 +182,7 @@
{"May","мая"}. {"May","мая"}.
{"Membership is required to enter this room","В эту конференцию могут входить только её члены"}. {"Membership is required to enter this room","В эту конференцию могут входить только её члены"}.
{"Members:","Члены:"}. {"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","Память"}. {"Memory","Память"}.
{"Message body","Тело сообщения"}. {"Message body","Тело сообщения"}.
{"Middle Name","Отчество"}. {"Middle Name","Отчество"}.
@ -190,6 +196,7 @@
{"Name:","Название:"}. {"Name:","Название:"}.
{"Name","Название"}. {"Name","Название"}.
{"Never","Никогда"}. {"Never","Никогда"}.
{"New Password:","Новый пароль:"}.
{"Nickname Registration at ","Регистрация псевдонима на "}. {"Nickname Registration at ","Регистрация псевдонима на "}.
{"Nickname ~s does not exist in the room","Псевдоним ~s в комнате отсутствует"}. {"Nickname ~s does not exist in the room","Псевдоним ~s в комнате отсутствует"}.
{"Nickname","Псевдоним"}. {"Nickname","Псевдоним"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Офлайновые сообщения:"}. {"Offline Messages:","Офлайновые сообщения:"}.
{"Offline Messages","Офлайновые сообщения"}. {"Offline Messages","Офлайновые сообщения"}.
{"OK","Продолжить"}. {"OK","Продолжить"}.
{"Old Password:","Старый пароль:"}.
{"Online Users:","Подключённые пользователи:"}. {"Online Users:","Подключённые пользователи:"}.
{"Online Users","Подключённые пользователи"}. {"Online Users","Подключённые пользователи"}.
{"Online","Подключён"}. {"Online","Подключён"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Требуются права владельца"}. {"Owner privileges required","Требуются права владельца"}.
{"Packet","Пакет"}. {"Packet","Пакет"}.
{"Password ~b","Пароль ~b"}. {"Password ~b","Пароль ~b"}.
{"Password Verification:","Проверка пароля:"}.
{"Password Verification","Проверка пароля"}. {"Password Verification","Проверка пароля"}.
{"Password:","Пароль:"}. {"Password:","Пароль:"}.
{"Password","Пароль"}. {"Password","Пароль"}.
@ -257,8 +266,10 @@
{"Raw","Необработанный формат"}. {"Raw","Необработанный формат"}.
{"Really delete message of the day?","Действительно удалить сообщение дня?"}. {"Really delete message of the day?","Действительно удалить сообщение дня?"}.
{"Recipient is not in the conference room","Адресата нет в конференции"}. {"Recipient is not in the conference room","Адресата нет в конференции"}.
{"Register a Jabber account","Зарегистрировать Jabber-аккаунт"}.
{"Registered Users:","Зарегистрированные пользователи:"}. {"Registered Users:","Зарегистрированные пользователи:"}.
{"Registered Users","Зарегистрированные пользователи"}. {"Registered Users","Зарегистрированные пользователи"}.
{"Register","Зарегистрировать"}.
{"Registration in mod_irc for ","Регистрация в mod_irc для "}. {"Registration in mod_irc for ","Регистрация в mod_irc для "}.
{"Remote copy","не хранится локально"}. {"Remote copy","не хранится локально"}.
{"Remove All Offline Messages","Удалить все офлайновые сообщения"}. {"Remove All Offline Messages","Удалить все офлайновые сообщения"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Разослать объявление всем пользователям"}. {"Send announcement to all users","Разослать объявление всем пользователям"}.
{"September","сентября"}. {"September","сентября"}.
{"Server ~b","Сервер ~b"}. {"Server ~b","Сервер ~b"}.
{"Server:","Сервер:"}.
{"Set message of the day and send to online users","Установить сообщение дня и разослать его подключённым пользователям"}. {"Set message of the day and send to online users","Установить сообщение дня и разослать его подключённым пользователям"}.
{"Set message of the day on all hosts and send to online users","Установить сообщение дня на всех виртуальных серверах и разослать его подключённым пользователям"}. {"Set message of the day on all hosts and send to online users","Установить сообщение дня на всех виртуальных серверах и разослать его подключённым пользователям"}.
{"Shared Roster Groups","Группы общих контактов"}. {"Shared Roster Groups","Группы общих контактов"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Показать обычную таблицу"}. {"Show Ordinary Table","Показать обычную таблицу"}.
{"Shut Down Service","Остановить службу"}. {"Shut Down Service","Остановить службу"}.
{"~s invites you to the room ~s","~s приглашает вас в комнату ~s"}. {"~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 access model","Укажите механизм управления доступом"}.
{"Specify the event message type","Укажите тип сообщения о событии"}. {"Specify the event message type","Укажите тип сообщения о событии"}.
{"Specify the publisher model","Условия публикации"}. {"Specify the publisher model","Условия публикации"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Этот псевдоним уже занят другим участником"}. {"That nickname is already in use by another occupant","Этот псевдоним уже занят другим участником"}.
{"That nickname is registered by another person","Этот псевдоним зарегистрирован кем-то другим"}. {"That nickname is registered by another person","Этот псевдоним зарегистрирован кем-то другим"}.
{"The captcha is valid.","Проверка капчи прошла успешно."}. {"The captcha is valid.","Проверка капчи прошла успешно."}.
{"The CAPTCHA verification has failed","Проверка капчи не пройдена"}.
{"The collections with which a node is affiliated","Имя коллекции, в которую входит узел"}. {"The collections with which a node is affiliated","Имя коллекции, в которую входит узел"}.
{"The password is too weak","Слишком слабый пароль"}.
{"the password is","пароль:"}. {"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 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 message","Этого участника выгнали из комнаты за то, что он послал сообщение об ошибке"}.
{"This participant is kicked from the room because he sent an error presence","Этого участника выгнали из комнаты за то, что он послал присутствие с ошибкой"}. {"This participant is kicked from the room because he sent an error presence","Этого участника выгнали из комнаты за то, что он послал присутствие с ошибкой"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","Транзакции перезапущенные:"}. {"Transactions Restarted:","Транзакции перезапущенные:"}.
{"Tuesday","Вторник"}. {"Tuesday","Вторник"}.
{"Unable to generate a captcha","Не получилось создать капчу"}. {"Unable to generate a captcha","Не получилось создать капчу"}.
{"Unable to generate a CAPTCHA","Не получилось создать капчу"}.
{"Unauthorized","Не авторизован"}. {"Unauthorized","Не авторизован"}.
{"Unregister a Jabber account","Удалить Jabber-аккаунт"}.
{"Unregister","Удалить"}.
{"Update message of the day (don't send)","Обновить сообщение дня (не рассылать)"}. {"Update message of the day (don't send)","Обновить сообщение дня (не рассылать)"}.
{"Update message of the day on all hosts (don't send)","Обновить сообщение дня на всех виртуальных серверах (не рассылать)"}. {"Update message of the day on all hosts (don't send)","Обновить сообщение дня на всех виртуальных серверах (не рассылать)"}.
{"Update plan","План обновления"}. {"Update plan","План обновления"}.
@ -355,6 +380,7 @@
{"Uptime:","Время работы:"}. {"Uptime:","Время работы:"}.
{"Use of STARTTLS required","Вы обязаны использовать STARTTLS"}. {"Use of STARTTLS required","Вы обязаны использовать STARTTLS"}.
{"User Management","Управление пользователями"}. {"User Management","Управление пользователями"}.
{"Username:","Имя пользователя:"}.
{"Users are not allowed to register accounts so quickly","Пользователи не могут регистрировать учётные записи так быстро"}. {"Users are not allowed to register accounts so quickly","Пользователи не могут регистрировать учётные записи так быстро"}.
{"Users Last Activity","Статистика последнего подключения пользователей"}. {"Users Last Activity","Статистика последнего подключения пользователей"}.
{"Users","Пользователи"}. {"Users","Пользователи"}.
@ -367,11 +393,16 @@
{"Wednesday","Среда"}. {"Wednesday","Среда"}.
{"When to send the last published item","Когда посылать последний опубликованный элемент"}. {"When to send the last published item","Когда посылать последний опубликованный элемент"}.
{"Whether to allow subscriptions","Разрешить подписку"}. {"Whether to allow subscriptions","Разрешить подписку"}.
{"You can later change your password using a Jabber client.","Позже Вы можете изменить пароль через Jabber-клиент."}.
{"You have been banned from this room","Вам запрещено входить в эту конференцию"}. {"You have been banned from this room","Вам запрещено входить в эту конференцию"}.
{"You must fill in field \"Nickname\" in the form","Вы должны заполнить поле \"Псевдоним\" в форме"}. {"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 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 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-совместимый клиент"}. {"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 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"}. {"Your messages to ~s are being blocked. To unblock them, visit ~s","Ваши сообщения к ~s блокируются. Для снятия блокировки перейдите по ссылке ~s"}.

View File

@ -1,36 +1,55 @@
# , 2010.
msgid "" msgid ""
msgstr "" msgstr ""
"Project-Id-Version: 2.1.0-alpha\n" "Project-Id-Version: 2.1.0-alpha\n"
"PO-Revision-Date: 2010-11-19 22:46+0900\n"
"Last-Translator: Evgeniy Khramtsov\n" "Last-Translator: Evgeniy Khramtsov\n"
"Language-Team: Russian <kde-russian@lists.kde.ru>\n"
"MIME-Version: 1.0\n" "MIME-Version: 1.0\n"
"Content-Type: text/plain; charset=UTF-8\n" "Content-Type: text/plain; charset=UTF-8\n"
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Russian (русский)\n" "X-Language: Russian (русский)\n"
"X-Additional-Translator: Konstantin Khomoutov\n" "X-Additional-Translator: Konstantin Khomoutov\n"
"X-Additional-Translator: Sergei Golovan\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" msgid "Use of STARTTLS required"
msgstr "Вы обязаны использовать STARTTLS" msgstr "Вы обязаны использовать STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Не указан ресурс" msgstr "Не указан ресурс"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Заменено новым соединением" 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" msgid "Enter the text you see"
msgstr "Введите увиденный текст" msgstr "Введите увиденный текст"
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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 "Если вы не видите изображение капчи, перейдите по ссылке."
#: ejabberd_captcha.erl:144
msgid "CAPTCHA web page"
msgstr "Ссылка на капчу"
#: ejabberd_captcha.erl:302
msgid "The captcha is valid." msgid "The captcha is valid."
msgstr "Проверка капчи прошла успешно." msgstr "Проверка капчи прошла успешно."
@ -366,7 +385,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Пароль" msgstr "Пароль"
@ -437,15 +456,15 @@ msgstr "IRC Транспорт"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC модуль" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "Чтобы настроить параметры mod_irc, требуется x:data-совместимый клиент" msgstr "Чтобы настроить параметры mod_irc, требуется x:data-совместимый клиент"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Регистрация в mod_irc для " msgstr "Регистрация в mod_irc для "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -453,11 +472,11 @@ msgstr ""
"Введите имя пользователя, кодировки, порты и пароли, которые будут " "Введите имя пользователя, кодировки, порты и пароли, которые будут "
"использоваться при подключении к IRC-серверам" "использоваться при подключении к IRC-серверам"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Имя пользователя IRC" msgstr "Имя пользователя IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -469,7 +488,7 @@ msgstr ""
"\"пароль\"}'. По умолчанию сервис использует кодировку \"~s\", порт ~p, " "\"пароль\"}'. По умолчанию сервис использует кодировку \"~s\", порт ~p, "
"пустой пароль." "пустой пароль."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -477,35 +496,35 @@ msgstr ""
"Пример: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Пример: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Параметры соединения" msgstr "Параметры соединения"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Присоединиться к каналу IRC" msgstr "Присоединиться к каналу IRC"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "Канал IRC (без символа #)" msgstr "Канал IRC (без символа #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "Сервер IRC" 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." msgid "Join the IRC channel here."
msgstr "Присоединяйтесь к каналу IRC" msgstr "Присоединяйтесь к каналу IRC"
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Присоединиться к каналу IRC с Jabber ID: ~s" msgstr "Присоединиться к каналу IRC с Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "Настройки IRC" msgstr "Настройки IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -515,23 +534,23 @@ msgstr ""
"подключении к IRC-серверам. Нажмите 'Далее' для получения дополнительных " "подключении к IRC-серверам. Нажмите 'Далее' для получения дополнительных "
"полей для заполнения. Нажмите 'Завершить' для сохранения настроек." "полей для заполнения. Нажмите 'Завершить' для сохранения настроек."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Имя пользователя IRC" msgstr "Имя пользователя IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Пароль ~b" msgstr "Пароль ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Порт ~b" msgstr "Порт ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Кодировка сервера ~b" msgstr "Кодировка сервера ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Сервер ~b" msgstr "Сервер ~b"
@ -552,7 +571,7 @@ msgid "Chatrooms"
msgstr "Комнаты" msgstr "Комнаты"
#: mod_muc/mod_muc.erl:711 #: 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-совместимый клиент" msgstr "Чтобы зарегистрировать псевдоним, требуется x:data-совместимый клиент"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -569,8 +588,8 @@ msgstr "Введите псевдоним, который Вы хотели бы
msgid "Nickname" msgid "Nickname"
msgstr "Псевдоним" msgstr "Псевдоним"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Этот псевдоним зарегистрирован кем-то другим" msgstr "Этот псевдоним зарегистрирован кем-то другим"
@ -619,7 +638,7 @@ msgid "is now known as"
msgstr "изменил(а) имя на" msgstr "изменил(а) имя на"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " установил(а) тему: " msgstr " установил(а) тему: "
@ -723,10 +742,6 @@ msgstr "Конфигурация комнаты"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Участники комнаты" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Превышен лимит скорости посылки информации" msgstr "Превышен лимит скорости посылки информации"
@ -761,8 +776,8 @@ msgstr "Нельзя посылать частные сообщения типа
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Адресата нет в конференции" msgstr "Адресата нет в конференции"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Только присутствующим разрешается посылать сообщения в конференцию" msgstr "Только присутствующим разрешается посылать сообщения в конференцию"
@ -778,209 +793,213 @@ msgstr "Только присутствующим разрешается пос
msgid "Queries to the conference members are not allowed in this room" msgid "Queries to the conference members are not allowed in this room"
msgstr "Запросы к пользователям в этой конференции запрещены" msgstr "Запросы к пользователям в этой конференции запрещены"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Только модераторы и участники могут изменять тему в этой комнате" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Только модераторы могут изменять тему в этой комнате" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Посетителям не разрешается посылать сообщения всем присутствующим" msgstr "Посетителям не разрешается посылать сообщения всем присутствующим"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Посетителям запрещено изменять свои псевдонимы в этой комнате" 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" msgid "That nickname is already in use by another occupant"
msgstr "Этот псевдоним уже занят другим участником" msgstr "Этот псевдоним уже занят другим участником"
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Вам запрещено входить в эту конференцию" msgstr "Вам запрещено входить в эту конференцию"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "В эту конференцию могут входить только её члены" msgstr "В эту конференцию могут входить только её члены"
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Эта комната не анонимная" msgstr "Эта комната не анонимная"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "Чтобы войти в эту конференцию, нужен пароль" msgstr "Чтобы войти в эту конференцию, нужен пароль"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" 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" msgid "Incorrect password"
msgstr "Неправильный пароль" msgstr "Неправильный пароль"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Требуются права администратора" msgstr "Требуются права администратора"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Требуются права модератора" msgstr "Требуются права модератора"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимый" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Псевдоним ~s в комнате отсутствует" 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" msgid "Invalid affiliation: ~s"
msgstr "Недопустимый ранг: ~s" msgstr "Недопустимый ранг: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Недопустимая роль: ~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" msgid "Owner privileges required"
msgstr "Требуются права владельца" msgstr "Требуются права владельца"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Конфигурация комнаты ~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" msgid "Room description"
msgstr "Описание комнаты" msgstr "Описание комнаты"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Сделать комнату постоянной" msgstr "Сделать комнату постоянной"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Сделать комнату видимой всем" msgstr "Сделать комнату видимой всем"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Сделать список участников видимым всем" msgstr "Сделать список участников видимым всем"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Сделать комнату защищённой паролем" msgstr "Сделать комнату защищённой паролем"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "Максимальное количество участников" msgstr "Максимальное количество участников"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Не ограничено" msgstr "Не ограничено"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Сделать реальные Jabber ID участников видимыми" msgstr "Сделать реальные Jabber ID участников видимыми"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "только модераторам" msgstr "только модераторам"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "всем участникам" msgstr "всем участникам"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Комната только для зарегистрированных участников" msgstr "Комната только для зарегистрированных участников"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Сделать комнату модерируемой" msgstr "Сделать комнату модерируемой"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Сделать пользователей участниками по умолчанию" msgstr "Сделать пользователей участниками по умолчанию"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Разрешить пользователям изменять тему" msgstr "Разрешить пользователям изменять тему"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "Разрешить приватные сообщения" msgstr "Разрешить приватные сообщения"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "Разрешить iq-запросы к пользователям" msgstr "Разрешить iq-запросы к пользователям"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "Разрешить пользователям посылать приглашения" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Разрешить посетителям вставлять текcт статуса в сообщения о присутствии" "Разрешить посетителям вставлять текcт статуса в сообщения о присутствии"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Разрешить посетителям изменять псевдоним" msgstr "Разрешить посетителям изменять псевдоним"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Сделать комнату защищённой капчей" msgstr "Сделать комнату защищённой капчей"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Включить журналирование" 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" msgid "You need an x:data capable client to configure room"
msgstr "Чтобы сконфигурировать комнату, требуется x:data-совместимый клиент" msgstr "Чтобы сконфигурировать комнату, требуется x:data-совместимый клиент"
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "Число присутствующих" msgstr "Число присутствующих"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "приватная, " msgstr "приватная, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s приглашает вас в комнату ~s" msgstr "~s приглашает вас в комнату ~s"
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "пароль:" msgstr "пароль:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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" msgid "~s's Offline Messages Queue"
msgstr "Oчередь офлайновых сообщений ~s" msgstr "Oчередь офлайновых сообщений ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1002,20 +1021,20 @@ msgstr "От кого"
msgid "To" msgid "To"
msgstr "Кому" msgstr "Кому"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Пакет" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Удалить выделенные" msgstr "Удалить выделенные"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Офлайновые сообщения:" msgstr "Офлайновые сообщения:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Удалить все офлайновые сообщения" msgstr "Удалить все офлайновые сообщения"
@ -1023,111 +1042,132 @@ msgstr "Удалить все офлайновые сообщения"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль" 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" msgid "Publish-Subscribe"
msgstr "Публикация-Подписка" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публикации-Подписки" 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" msgid "PubSub subscriber request"
msgstr "Запрос подписчика PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Решите: предоставить ли подписку этому объекту." 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "Адрес подписчика" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Разрешить этому Jabber ID подписаться на данный узел?" 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" msgid "Deliver payloads with event notifications"
msgstr "Доставлять вместе с уведомлениями o публикациях сами публикации" 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" msgid "Deliver event notifications"
msgstr "Доставлять уведомления о событиях" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Уведомлять подписчиков об изменении конфигурации сборника" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Уведомлять подписчиков об удалении сборника" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Уведомлять подписчиков об удалении публикаций из сборника" 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" msgid "Persist items to storage"
msgstr "Сохранять публикации в хранилище" 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" msgid "A friendly name for the node"
msgstr "Легко запоминаемое имя для узла" 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" msgid "Max # of items to persist"
msgstr "Максимальное число сохраняемых публикаций" 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" msgid "Whether to allow subscriptions"
msgstr "Разрешить подписку" 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" msgid "Specify the access model"
msgstr "Укажите механизм управления доступом" 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" msgid "Roster groups allowed to subscribe"
msgstr "Группы списка контактов, которым разрешена подписка" 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" msgid "Specify the publisher model"
msgstr "Условия публикации" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "Очищать все записи автора публикации когда он отключается" 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" msgid "Specify the event message type"
msgstr "Укажите тип сообщения о событии" 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" msgid "Max payload size in bytes"
msgstr "Максимальный размер полезной нагрузки в байтах" 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" msgid "When to send the last published item"
msgstr "Когда посылать последний опубликованный элемент" 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" msgid "Only deliver notifications to available users"
msgstr "Доставлять уведомления только доступным пользователям" 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" msgid "The collections with which a node is affiliated"
msgstr "Имя коллекции, в которую входит узел" 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" msgid "Choose a username and password to register with this server"
msgstr "Выберите имя пользователя и пароль для регистрации на этом сервере" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Пользователи не могут регистрировать учётные записи так быстро" msgstr "Пользователи не могут регистрировать учётные записи так быстро"
@ -1161,13 +1201,13 @@ msgstr "Удалить"
msgid "Roster of " msgid "Roster of "
msgstr "Ростер пользователя " msgstr "Ростер пользователя "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Неправильный формат" msgstr "Неправильный формат"
@ -1179,37 +1219,37 @@ msgstr "Добавить Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Ростер" msgstr "Ростер"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Группы общих контактов" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Добавить" msgstr "Добавить"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Название:" msgstr "Название:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Описание:" msgstr "Описание:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Члены:" msgstr "Члены:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Видимые группы:" msgstr "Видимые группы:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Группа " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1281,11 +1321,6 @@ msgstr "Отдел организации"
msgid "Search users in " msgid "Search users in "
msgstr "Поиск пользователей в " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Чтобы воспользоваться поиском, требуется x:data-совместимый клиент" msgstr "Чтобы воспользоваться поиском, требуется x:data-совместимый клиент"
@ -1408,7 +1443,9 @@ msgstr "Исходящие s2s-серверы:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Исходящие s2s-серверы:" 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" msgid "Change Password"
msgstr "Сменить пароль" msgstr "Сменить пароль"
@ -1420,7 +1457,8 @@ msgstr "Пользователь "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Подключённые ресурсы:" 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:" msgid "Password:"
msgstr "Пароль:" msgstr "Пароль:"
@ -1632,3 +1670,127 @@ msgstr "Удалить"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Запустить" 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 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 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 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"}. {"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 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"}. {"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: Juraj Michalek\n"
"X-Additional-Translator: SkLUG\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" msgid "Use of STARTTLS required"
msgstr "Použitie STARTTLS je vyžadované" msgstr "Použitie STARTTLS je vyžadované"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Nebol poskytnutý žiadny zdroj" msgstr "Nebol poskytnutý žiadny zdroj"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Nahradené novým spojením" 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" msgid "Enter the text you see"
msgstr "Zadajte zobrazený text" 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" 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" 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." msgid "The captcha is valid."
msgstr "Platná captcha." msgstr "Platná captcha."
@ -362,7 +374,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Heslo" msgstr "Heslo"
@ -433,15 +445,15 @@ msgstr "IRC Transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC modul" 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" 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" 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 " msgid "Registration in mod_irc for "
msgstr "Registrácia do mod_irc na " msgstr "Registrácia do mod_irc na "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "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 " "Vložte meno používateľa, kódovanie, porty a heslo ktoré chcete používať pri "
"pripojení na IRC server" "pripojení na IRC server"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC prezývka" msgstr "IRC prezývka"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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 " "\"}'. Predvolenéi hodnoty pre túto službu sú: kódovanie \"~s\", port ~p a "
"žiadne heslo." "žiadne heslo."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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." "Príklad: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Parametre spojenia" msgstr "Parametre spojenia"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Pripojit IRC kanál" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanál (bez počiatočnej #)" msgstr "IRC kanál (bez počiatočnej #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "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." msgid "Join the IRC channel here."
msgstr "Propojiť IRC kanál sem." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Pripojit IRC kanál k tomuto 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" msgid "IRC settings"
msgstr "Nastavania IRC" msgstr "Nastavania IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "IRC servery. Kliknutím na tlačítko 'Ďalej' môžete zadať niektoré ďalšie "
"hodnoty. Pomocou 'Ukončiť ' uložíte nastavenia." "hodnoty. Pomocou 'Ukončiť ' uložíte nastavenia."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC prezývka" msgstr "IRC prezývka"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Heslo ~b" msgstr "Heslo ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Kódovanie pre server ~b" msgstr "Kódovanie pre server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -548,7 +560,8 @@ msgid "Chatrooms"
msgstr "Diskusné miestnosti" msgstr "Diskusné miestnosti"
#: mod_muc/mod_muc.erl:711 #: 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" msgstr "Na registráciu prezývky potrebujete klienta podporujúceho z x:data"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -565,8 +578,8 @@ msgstr "Zadajte prezývku, ktorú chcete registrovať"
msgid "Nickname" msgid "Nickname"
msgstr "Prezývka" msgstr "Prezývka"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Prezývka je už zaregistrovaná inou osobou" msgstr "Prezývka je už zaregistrovaná inou osobou"
@ -615,7 +628,7 @@ msgid "is now known as"
msgstr "sa premenoval(a) na" msgstr "sa premenoval(a) na"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr "zmenil(a) tému na: " msgstr "zmenil(a) tému na: "
@ -719,10 +732,6 @@ msgstr "Nastavenia miestnosti"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Ľudí v miestnosti" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Bol prekročený prenosový limit" 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" msgid "Recipient is not in the conference room"
msgstr "Príjemca sa nenachádza v konferenčnej miestnosti" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Len členovia majú povolené zasielať správy do konferencie" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Dotazovať sa o členoch nie je v tejto miestnosti povolené" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Len moderátori a zúčastnený majú povolené meniť tému tejto miestnosti" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Len moderátori majú povolené meniť tému miestnosti" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "" msgstr ""
"Návštevníci nemajú povolené zasielať správy všetkým prihláseným do " "Návštevníci nemajú povolené zasielať správy všetkým prihláseným do "
"konferencie" "konferencie"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Účastník bol vyhodený z miestnosti, pretože poslal chybovú správu o stave" "Úč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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "V tejto miestnosti nieje povolené meniť prezývky" 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" msgid "That nickname is already in use by another occupant"
msgstr "Prezývka je už používaná iným členom" 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" msgid "You have been banned from this room"
msgstr "Boli ste vylúčený z tejto miestnosti" 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" msgid "Membership is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné byť členom" 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" msgid "This room is not anonymous"
msgstr "Táto miestnosť nie je anonymná" 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" msgid "A password is required to enter this room"
msgstr "Pre vstup do miestnosti je potrebné heslo" 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" msgid "Unable to generate a captcha"
msgstr "Nepodarilo sa vygenerovat captcha" msgstr "Nepodarilo sa vygenerovat captcha"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Nesprávne heslo" msgstr "Nesprávne heslo"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Sú potrebné práva administrátora" 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" msgid "Moderator privileges required"
msgstr "Sú potrebné práva moderátora" 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" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s je neplatné" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Prezývka ~s v miestnosti neexistuje" 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" msgid "Invalid affiliation: ~s"
msgstr "Neplatné priradenie: ~s" msgstr "Neplatné priradenie: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Neplatná rola: ~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" msgid "Owner privileges required"
msgstr "Sú vyžadované práva vlastníka" 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" msgid "Configuration of room ~s"
msgstr "Konfigurácia miestnosti ~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" msgid "Room description"
msgstr "Popis miestnosti" msgstr "Popis miestnosti"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Nastaviť miestnosť ako trvalú" msgstr "Nastaviť miestnosť ako trvalú"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Nastaviť miestnosť ako verejne prehľadávateľnú" 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" msgid "Make participants list public"
msgstr "Nastaviť zoznam zúčastnených ako verejný" 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" msgid "Make room password protected"
msgstr "Chrániť miestnosť heslom" msgstr "Chrániť miestnosť heslom"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "Počet účastníkov" msgstr "Počet účastníkov"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Bez limitu" msgstr "Bez limitu"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Zobrazovať skutočné Jabber ID" msgstr "Zobrazovať skutočné Jabber ID"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "moderátorom" msgstr "moderátorom"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "všetkým" msgstr "všetkým"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Nastaviť miestnosť len pre členov" msgstr "Nastaviť miestnosť len pre členov"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Nastaviť miestnosť ako moderovanú" msgstr "Nastaviť miestnosť ako moderovanú"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Užívatelia sú implicitne členmi" 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" msgid "Allow users to change the subject"
msgstr "Povoliť užívateľom meniť tému" 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" msgid "Allow users to send private messages"
msgstr "Povoliť užívateľom odosielať súkromné správy" 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" msgid "Allow users to query other users"
msgstr "Povoliť užívateľom dotazovať sa informácie o iných užívateľoch" 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" msgid "Allow users to send invites"
msgstr "Povoliť používateľom posielanie pozvánok" 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" 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" 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" msgid "Allow visitors to change nickname"
msgstr "Návštevníci môžu meniť prezývky" 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" msgid "Make room captcha protected"
msgstr "Chrániť miestnosť systémom captcha" msgstr "Chrániť miestnosť systémom captcha"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Zapnúť zaznamenávanie histórie" 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" msgid "You need an x:data capable client to configure room"
msgstr "Na konfiguráciu miestnosti potrebujete klienta podporujúceho x:data" 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" msgid "Number of occupants"
msgstr "Počet zúčastnených" msgstr "Počet zúčastnených"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "súkromná, " 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" msgid "~s invites you to the room ~s"
msgstr "~s Vás pozýva do miestnosti ~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" msgid "the password is"
msgstr "heslo je" msgstr "heslo je"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "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á." 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" msgid "~s's Offline Messages Queue"
msgstr "~s Offline správy" msgstr "~s Offline správy"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -996,20 +1009,20 @@ msgstr "Od"
msgid "To" msgid "To"
msgstr "Pre" msgstr "Pre"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Zmazať vybrané" msgstr "Zmazať vybrané"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Offline správy" 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" msgid "Remove All Offline Messages"
msgstr "Odstrániť všetky offline správy" 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" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modul" 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" msgid "Publish-Subscribe"
msgstr "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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modul" 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" msgid "PubSub subscriber request"
msgstr "Žiadosť odberateľa PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Zvolte, či chcete povoliť toto odoberanie" 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" msgid "Node ID"
msgstr "ID uzlu" 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" msgid "Subscriber Address"
msgstr "Adresa odberateľa" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Dovoliť tomuto Jabber ID odoberať PubSub uzol?" 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" msgid "Deliver payloads with event notifications"
msgstr "Doručiť náklad s upozornením na udalosť" 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" msgid "Deliver event notifications"
msgstr "Doručiť oznamy o udalosti" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Upozorniť prihlásených používateľov na zmenu nastavenia uzlu" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Upozorniť prihlásených používateľov na zmazanie uzlu" 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" 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" 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" msgid "Persist items to storage"
msgstr "Uložiť položky natrvalo do úložiska" 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" msgid "A friendly name for the node"
msgstr "Prístupný názov pre uzol" 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" msgid "Max # of items to persist"
msgstr "Maximálny počet položiek, ktoré je možné natrvalo uložiť" 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" msgid "Whether to allow subscriptions"
msgstr "Povoliť prihlasovanie" 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" msgid "Specify the access model"
msgstr "Uveďte model prístupu" 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" msgid "Roster groups allowed to subscribe"
msgstr "Skupiny kontaktov, ktoré môžu odoberať" 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" msgid "Specify the publisher model"
msgstr "Špecifikovať model publikovania" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" msgstr ""
"Odstrániť všetky relevantné položky, keď užívateľ prejde do módu offline" "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" msgid "Specify the event message type"
msgstr "Uveďte typ pre správu o udalosti" 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" msgid "Max payload size in bytes"
msgstr "Maximálny náklad v bajtoch" 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" msgid "When to send the last published item"
msgstr "Kedy odoslať posledne publikovanú položku" 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" msgid "Only deliver notifications to available users"
msgstr "Doručovať upozornenia len aktuálne prihláseným používateľom" 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" msgid "The collections with which a node is affiliated"
msgstr "Kolekcie asociované s uzlom" 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" 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" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Nieje dovolené vytvárať účty tak rýchlo po sebe" msgstr "Nieje dovolené vytvárať účty tak rýchlo po sebe"
@ -1156,13 +1193,13 @@ msgstr "Odstrániť"
msgid "Roster of " msgid "Roster of "
msgstr "Zoznam kontaktov " msgstr "Zoznam kontaktov "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Zlý formát" msgstr "Zlý formát"
@ -1174,37 +1211,37 @@ msgstr "Pridať Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Zoznam kontaktov" msgstr "Zoznam kontaktov"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Skupiny pre zdieľaný zoznam kontaktov" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Pridať nový" msgstr "Pridať nový"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Meno:" msgstr "Meno:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Popis:" msgstr "Popis:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Členovia:" msgstr "Členovia:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Zobrazené skupiny:" msgstr "Zobrazené skupiny:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Skupina " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1276,11 +1313,6 @@ msgstr "Organizačná jednotka: "
msgid "Search users in " msgid "Search users in "
msgstr "Hľadať užívateľov v " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Na vyhľadávanie potrebujete klienta podporujúceho x:data" 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:" msgid "Outgoing s2s Servers:"
msgstr "Odchádzajúce s2s servery:" 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" msgid "Change Password"
msgstr "Zmeniť heslo" msgstr "Zmeniť heslo"
@ -1415,7 +1449,8 @@ msgstr "Používateľ "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Pripojené zdroje:" 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:" msgid "Password:"
msgstr "Heslo:" msgstr "Heslo:"
@ -1627,6 +1662,126 @@ msgstr "Zmazať"
msgid "Start" msgid "Start"
msgstr "Štart" 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" #~ msgid "Encodings"
#~ msgstr "Kódovania" #~ 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 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 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 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"}. {"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 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"}. {"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: Magnus Henoch\n"
"X-Additional-Translator: Jonas Ådahl\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" msgid "Use of STARTTLS required"
msgstr "Du måste använda STARTTLS" msgstr "Du måste använda STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Ingen resurs angiven" msgstr "Ingen resurs angiven"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Ersatt av ny anslutning" 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" msgid "Enter the text you see"
msgstr "Skriv in sökväg till textfil" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"Dina meddelanden till ~s är blockerade. För att avblockera dem, gå till ~s" "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." msgid "The captcha is valid."
msgstr "Din captcha är godkänd." msgstr "Din captcha är godkänd."
@ -365,7 +377,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Lösenord" msgstr "Lösenord"
@ -436,15 +448,15 @@ msgstr "IRC transport"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC-modul" 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" 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" 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 " msgid "Registration in mod_irc for "
msgstr "mod_irc-registrering för " msgstr "mod_irc-registrering för "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -452,11 +464,11 @@ msgstr ""
"Skriv in användarnamn och textkodning du vill använda för att ansluta till " "Skriv in användarnamn och textkodning du vill använda för att ansluta till "
"IRC-servrar" "IRC-servrar"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC-användarnamn" msgstr "IRC-användarnamn"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -467,7 +479,7 @@ msgstr ""
"i formatet '{\"irc server\", \"encoding\", port, \"password\"}'. Som " "i formatet '{\"irc server\", \"encoding\", port, \"password\"}'. Som "
"standard används \"~s\", port ~p, no password." "standard används \"~s\", port ~p, no password."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -475,35 +487,35 @@ msgstr ""
"Exempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Exempel: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Uppkopplingsparametrar" msgstr "Uppkopplingsparametrar"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Lägg till IRC kanal" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanal (skriv inte första #)" msgstr "IRC kanal (skriv inte första #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRC-användarnamn" 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." msgid "Join the IRC channel here."
msgstr "Lägg till IRC kanal här." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Lägg till IRC kanal till detta 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" msgid "IRC settings"
msgstr "IRC Inställningar" msgstr "IRC Inställningar"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Skriv in användarnamn och textkodning du vill använda för att ansluta till "
"IRC-servrar" "IRC-servrar"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC-användarnamn" msgstr "IRC-användarnamn"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Lösenord ~b" msgstr "Lösenord ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Port ~b" msgstr "Port ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Encoding för server ~b" msgstr "Encoding för server ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Server ~b" msgstr "Server ~b"
@ -550,7 +562,8 @@ msgid "Chatrooms"
msgstr "Chattrum" msgstr "Chattrum"
#: mod_muc/mod_muc.erl:711 #: 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" msgstr "Du behöver en klient som stödjer x:data för att registrera smeknamn"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -567,8 +580,8 @@ msgstr "Skriv in smeknamnet du vill registrera"
msgid "Nickname" msgid "Nickname"
msgstr "Smeknamn" msgstr "Smeknamn"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Smeknamnet är reserverat" msgstr "Smeknamnet är reserverat"
@ -617,7 +630,7 @@ msgid "is now known as"
msgstr "är känd som" msgstr "är känd som"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " har satt ämnet till: " msgstr " har satt ämnet till: "
@ -725,10 +738,6 @@ msgstr "Rumkonfiguration"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Antal besökare" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Trafikgränsen har överstigits" msgstr "Trafikgränsen har överstigits"
@ -766,8 +775,8 @@ msgstr ""
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Mottagaren finns inte i rummet" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Utomstående får inte skicka medelanden till den här konferensen" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Det är förbjudet att skicka iq-queries till konferensdeltagare" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -791,205 +800,209 @@ msgstr ""
"Endast moderatorer och deltagare har tillåtelse att ändra ämnet i det här " "Endast moderatorer och deltagare har tillåtelse att ändra ämnet i det här "
"rummet" "rummet"
#: mod_muc/mod_muc_room.erl:822 #: mod_muc/mod_muc_room.erl:810
#, fuzzy #, fuzzy
msgid "Only moderators are allowed to change the subject in this room" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Endast moderatorer får ändra ämnet i det här rummet" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Besökare får inte skicka medelande till alla" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Denna deltagaren är kickad från rummet p.g.a att han skickade en errorstatus" "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" 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" 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 #, fuzzy
msgid "That nickname is already in use by another occupant" msgid "That nickname is already in use by another occupant"
msgstr "Smeknamnet används redan" 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" msgid "You have been banned from this room"
msgstr "Du har blivit bannlyst från det här rummet" 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" msgid "Membership is required to enter this room"
msgstr "Du måste vara medlem för att komma in i det här rummet" 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" msgid "This room is not anonymous"
msgstr "Detta rum är inte anonymt" msgstr "Detta rum är inte anonymt"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
#, fuzzy #, fuzzy
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "Lösenord erfordras" msgstr "Lösenord erfordras"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" msgid "Unable to generate a captcha"
msgstr "Kunde inte generera ett captcha" msgstr "Kunde inte generera ett captcha"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Fel lösenord" msgstr "Fel lösenord"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Administrationsprivilegier krävs" msgstr "Administrationsprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Moderatorprivilegier krävs" msgstr "Moderatorprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Otillåtet Jabber ID ~s" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Smeknamnet ~s existerar inte i det här rummet" 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" msgid "Invalid affiliation: ~s"
msgstr "Ogiltlig rang: ~s" msgstr "Ogiltlig rang: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Ogiltlig roll: ~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" msgid "Owner privileges required"
msgstr "Ägarprivilegier krävs" msgstr "Ägarprivilegier krävs"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Konfiguration för ~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 #, fuzzy
msgid "Room description" msgid "Room description"
msgstr "Beskrivning:" msgstr "Beskrivning:"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Gör rummet permanent" msgstr "Gör rummet permanent"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Gör rummet publikt sökbart" 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" msgid "Make participants list public"
msgstr "Gör deltagarlistan publik" msgstr "Gör deltagarlistan publik"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Gör losenorden i rummet publika" 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" msgid "Maximum Number of Occupants"
msgstr "Maximalt antal av användare" msgstr "Maximalt antal av användare"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Ingen gräns" msgstr "Ingen gräns"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Nuvarande äkta Jabber IDs till" msgstr "Nuvarande äkta Jabber IDs till"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "endast moderatorer" msgstr "endast moderatorer"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "Vemsomhelst" msgstr "Vemsomhelst"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Gör om rummet till endast medlemmar" 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" msgid "Make room moderated"
msgstr "Gör rummet modererat" msgstr "Gör rummet modererat"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Gör om användare till deltagare" 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" msgid "Allow users to change the subject"
msgstr "Tillåt användare att byta ämne" 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" msgid "Allow users to send private messages"
msgstr "Tillåt användare att skicka privata meddelanden" 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" msgid "Allow users to query other users"
msgstr "Tillåt användare att söka efter andra användare" 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" msgid "Allow users to send invites"
msgstr "Tillåt användare att skicka inbjudningar" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "Tillåt gäster att skicka statustext som uppdatering" 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" msgid "Allow visitors to change nickname"
msgstr "Tillåt gäster att kunna ändra smeknamn" msgstr "Tillåt gäster att kunna ändra smeknamn"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
#, fuzzy #, fuzzy
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Gör losenorden i rummet publika" msgstr "Gör losenorden i rummet publika"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Möjliggör login" 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" 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" 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" msgid "Number of occupants"
msgstr "Antal besökare" msgstr "Antal besökare"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privat, " msgstr "privat, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s bjöd in dig till rummet ~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" msgid "the password is"
msgstr "Lösenordet är" msgstr "Lösenordet är"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "Din kontaktkö for offlinekontakter ar full" 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" msgid "~s's Offline Messages Queue"
msgstr "~s's offline meddelandekö" msgstr "~s's offline meddelandekö"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1011,20 +1024,20 @@ msgstr "Från"
msgid "To" msgid "To"
msgstr "Till" msgstr "Till"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Tabort valda" msgstr "Tabort valda"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Offline meddelanden:" msgstr "Offline meddelanden:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy #, fuzzy
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Offline meddelanden" msgstr "Offline meddelanden"
@ -1033,112 +1046,136 @@ msgstr "Offline meddelanden"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestrem modul" 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" msgid "Publish-Subscribe"
msgstr "Publikprenumeration" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd publikprenumerations modul" 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" msgid "PubSub subscriber request"
msgstr "Pubsub prenumerationsforfrågan" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Välj om du vill godkänna hela denna prenumertion." 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "Prenumerationsadress" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Tillåt denna Jabber ID att prenumerera på denna 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" msgid "Deliver payloads with event notifications"
msgstr "Skicka innehåll tillsammans med notifikationer" 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" msgid "Deliver event notifications"
msgstr "Skicka eventnotifikation" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Meddela prenumeranter när nodens konfiguration ändras" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Meddela prenumeranter när noden tas bort" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Meddela prenumeranter när dataposter tas bort från noden" 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" msgid "Persist items to storage"
msgstr "Spara dataposter permanent" 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" msgid "A friendly name for the node"
msgstr "Ett vänligt namn for noden" 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" msgid "Max # of items to persist"
msgstr "Högsta antal dataposter som sparas" 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" msgid "Whether to allow subscriptions"
msgstr "Tillåta prenumerationer?" 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" msgid "Specify the access model"
msgstr "Specificera accessmodellen" 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" msgid "Roster groups allowed to subscribe"
msgstr "Rostergrupper tillåts att prenumerera" 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" msgid "Specify the publisher model"
msgstr "Ange publiceringsmodell" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "Specificera accessmodellen" 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" msgid "Max payload size in bytes"
msgstr "Högsta innehållsstorlek i 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" msgid "When to send the last published item"
msgstr "När att skicka senast publicerade ämne" 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" msgid "Only deliver notifications to available users"
msgstr "Skicka notifikationer bara till uppkopplade användare" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" 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" 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" 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" 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 " msgid "Roster of "
msgstr "Kontaktlista för " msgstr "Kontaktlista för "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Dåligt format" msgstr "Dåligt format"
@ -1190,37 +1227,37 @@ msgstr "Lägg till Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Kontaktlista" msgstr "Kontaktlista"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Delade Rostergrupper" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Lägg till ny" msgstr "Lägg till ny"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Namn:" msgstr "Namn:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Beskrivning:" msgstr "Beskrivning:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Medlemmar:" msgstr "Medlemmar:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Visade grupper:" msgstr "Visade grupper:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Grupp " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1292,11 +1329,6 @@ msgstr "Organisationsenhet"
msgid "Search users in " msgid "Search users in "
msgstr "Sök efter användare på " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" 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" 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:" msgid "Outgoing s2s Servers:"
msgstr "Utgående s2s server" 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" msgid "Change Password"
msgstr "Ändra lösenord" msgstr "Ändra lösenord"
@ -1431,7 +1465,8 @@ msgstr "Användare "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Anslutna resurser:" 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:" msgid "Password:"
msgstr "Lösenord:" msgstr "Lösenord:"
@ -1639,3 +1674,123 @@ msgstr "Ta bort"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Starta" 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 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 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 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 เพื่อค้นหา"}. {"You need an x:data capable client to search","คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา"}.
{"Your contact offline message queue is full. The message has been discarded.","ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว"}. {"Your contact offline message queue is full. The message has been discarded.","ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว"}.

View File

@ -7,28 +7,40 @@ msgstr ""
"Content-Transfer-Encoding: 8bit\n" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Thai (ภาษาไทย)\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" msgid "Use of STARTTLS required"
msgstr "ต้องใช้ STARTTLS" msgstr "ต้องใช้ STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "ไม่ได้ระบุข้อมูล" msgstr "ไม่ได้ระบุข้อมูล"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "แทนที่ด้วยการเชื่อมต่อใหม่" 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 #, fuzzy
msgid "Enter the text you see" msgid "Enter the text you see"
msgstr "ป้อนพาธของไฟล์ข้อความ" msgstr "ป้อนพาธของไฟล์ข้อความ"
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "" msgstr ""
@ -360,7 +372,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "รหัสผ่าน" msgstr "รหัสผ่าน"
@ -431,26 +443,26 @@ msgstr "การส่ง IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดการตั้งค่า mod_irc" msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดการตั้งค่า mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "การลงทะเบียนใน mod_irc สำหรับ" msgstr "การลงทะเบียนใน mod_irc สำหรับ"
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC" msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "ชื่อผู้ใช้ IRC" msgstr "ชื่อผู้ใช้ IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
#, fuzzy #, fuzzy
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
@ -462,7 +474,7 @@ msgstr ""
"server\", \"encoding\"}' ลงในรายการ การบริการนี้ใช้การเข้ารหัสในรูปแบบ \"~s\" " "server\", \"encoding\"}' ลงในรายการ การบริการนี้ใช้การเข้ารหัสในรูปแบบ \"~s\" "
"โดยค่าดีฟอลต์ " "โดยค่าดีฟอลต์ "
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
#, fuzzy #, fuzzy
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "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" "ตัวอย่าง: [{\"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" msgid "Connections parameters"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
#, fuzzy #, fuzzy
msgid "IRC server" msgid "IRC server"
msgstr "ชื่อผู้ใช้ IRC" 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." msgid "Join the IRC channel here."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "Enter username and encodings you wish to use for connecting to IRC servers. "
@ -508,26 +520,26 @@ msgid ""
"settings." "settings."
msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC" msgstr "ป้อนชื่อผู้ใช้และการเข้ารหัสที่คุณต้องการใช้สำหรับเชื่อมต่อกับเซิร์ฟเวอร์ IRC"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
#, fuzzy #, fuzzy
msgid "IRC username" msgid "IRC username"
msgstr "ชื่อผู้ใช้ IRC" msgstr "ชื่อผู้ใช้ IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
#, fuzzy #, fuzzy
msgid "Password ~b" msgid "Password ~b"
msgstr "รหัสผ่าน" msgstr "รหัสผ่าน"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
#, fuzzy #, fuzzy
msgid "Port ~b" msgid "Port ~b"
msgstr "พอร์ท" msgstr "พอร์ท"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "" msgstr ""
@ -548,7 +560,8 @@ msgid "Chatrooms"
msgstr "ห้องสนทนา" msgstr "ห้องสนทนา"
#: mod_muc/mod_muc.erl:711 #: 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 เพื่อลงทะเบียนชื่อเล่น" msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อลงทะเบียนชื่อเล่น"
#: mod_muc/mod_muc.erl:717 #: mod_muc/mod_muc.erl:717
@ -565,8 +578,8 @@ msgstr "ป้อนชื่อเล่นที่คุณต้องกา
msgid "Nickname" msgid "Nickname"
msgstr "ชื่อเล่น" msgstr "ชื่อเล่น"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
#, fuzzy #, fuzzy
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "ชื่อเล่นถูกลงทะเบียนใช้งานโดยบุคคลอื่น" msgstr "ชื่อเล่นถูกลงทะเบียนใช้งานโดยบุคคลอื่น"
@ -616,7 +629,7 @@ msgid "is now known as"
msgstr "ซึ่งรู้จักกันในชื่อ" msgstr "ซึ่งรู้จักกันในชื่อ"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " ตั้งหัวข้อว่า: " msgstr " ตั้งหัวข้อว่า: "
@ -725,10 +738,6 @@ msgstr "การกำหนดค่าห้องสนทนา"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "จำนวนผู้ครอบครองห้อง" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "อัตราของปริมาณการเข้าใช้เกินขีดจำกัด" msgstr "อัตราของปริมาณการเข้าใช้เกินขีดจำกัด"
@ -760,8 +769,8 @@ msgstr "ไม่อนุญาตให้ส่งข้อความส่
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "ผู้รับไม่ได้อยู่ในห้องประชุม" msgstr "ผู้รับไม่ได้อยู่ในห้องประชุม"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "ผู้ครอบครองห้องเท่านั้นที่ได้รับอนุญาตให้ส่งข้อความไปยังห้องประชุม" msgstr "ผู้ครอบครองห้องเท่านั้นที่ได้รับอนุญาตให้ส่งข้อความไปยังห้องประชุม"
@ -778,218 +787,222 @@ msgstr "ผู้ครอบครองห้องเท่านั้นท
msgid "Queries to the conference members are not allowed in this room" msgid "Queries to the conference members are not allowed in this room"
msgstr "ห้องนี้ไม่อนุญาตให้ส่งกระทู้ถามถึงสมาชิกในห้องประชุม" msgstr "ห้องนี้ไม่อนุญาตให้ส่งกระทู้ถามถึงสมาชิกในห้องประชุม"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
#, fuzzy #, fuzzy
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "ผู้ดูแลการสนทนาและผู้เข้าร่วมเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้" msgstr "ผู้ดูแลการสนทนาและผู้เข้าร่วมเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้"
#: mod_muc/mod_muc_room.erl:822 #: mod_muc/mod_muc_room.erl:810
#, fuzzy #, fuzzy
msgid "Only moderators are allowed to change the subject in this room" msgid "Only moderators are allowed to change the subject in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด" msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:917 #: mod_muc/mod_muc_room.erl:912
#, fuzzy #, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "ผู้ดูแลการสนทนาเท่านั้นที่ได้รับอนุญาตให้เปลี่ยนหัวข้อในห้องนี้" 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 #, fuzzy
msgid "That nickname is already in use by another occupant" msgid "That nickname is already in use by another occupant"
msgstr "ชื่อเล่นถูกใช้งานอยู่โดยผู้ครอบครองห้อง" msgstr "ชื่อเล่นถูกใช้งานอยู่โดยผู้ครอบครองห้อง"
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "คุณถูกสั่งห้ามไมให้เข้าห้องนี้" msgstr "คุณถูกสั่งห้ามไมให้เข้าห้องนี้"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
#, fuzzy #, fuzzy
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "ต้องเป็นสมาชิกจึงจะสามารถเข้าห้องนี้ได้" msgstr "ต้องเป็นสมาชิกจึงจะสามารถเข้าห้องนี้ได้"
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "ห้องนี้ไม่ปิดบังชื่อ" msgstr "ห้องนี้ไม่ปิดบังชื่อ"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
#, fuzzy #, fuzzy
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "ต้องใส่รหัสผ่านเพื่อเข้าห้องนี้" msgstr "ต้องใส่รหัสผ่านเพื่อเข้าห้องนี้"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" 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" msgid "Incorrect password"
msgstr "รหัสผ่านไม่ถูกต้อง" msgstr "รหัสผ่านไม่ถูกต้อง"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลระบบ" msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลระบบ"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลการสนทนา" msgstr "ต้องมีสิทธิพิเศษของผู้ดูแลการสนทนา"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s ไม่ถูกต้อง" 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" msgid "Nickname ~s does not exist in the room"
msgstr "ไม่มีชื่อเล่น ~s อยู่ในห้องนี้" 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" msgid "Invalid affiliation: ~s"
msgstr "การเข้าร่วมที่ไม่ถูกต้อง: ~s" msgstr "การเข้าร่วมที่ไม่ถูกต้อง: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "บทบาทไม่ถูกต้อง: ~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" msgid "Owner privileges required"
msgstr "ต้องมีสิทธิพิเศษของเจ้าของ" msgstr "ต้องมีสิทธิพิเศษของเจ้าของ"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
#, fuzzy #, fuzzy
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "การกำหนดค่าสำหรับ " 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 #, fuzzy
msgid "Room description" msgid "Room description"
msgstr "รายละเอียด:" msgstr "รายละเอียด:"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "สร้างเป็นห้องถาวร" msgstr "สร้างเป็นห้องถาวร"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "สร้างเป็นห้องที่บุคคลทั่วไปสามารถค้นหาได้" msgstr "สร้างเป็นห้องที่บุคคลทั่วไปสามารถค้นหาได้"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "สร้างรายการผู้เข้าร่วมสำหรับใช้งานโดยบุคคลทั่วไป" msgstr "สร้างรายการผู้เข้าร่วมสำหรับใช้งานโดยบุคคลทั่วไป"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน" msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "จำนวนผู้ครอบครองห้องสูงสุด" msgstr "จำนวนผู้ครอบครองห้องสูงสุด"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "ไม่จำกัด" msgstr "ไม่จำกัด"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "แสดง Jabber IDs ที่ถูกต้องแก่" msgstr "แสดง Jabber IDs ที่ถูกต้องแก่"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "สำหรับผู้ดูแลการสนทนาเท่านั้น" msgstr "สำหรับผู้ดูแลการสนทนาเท่านั้น"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "ทุกคน" msgstr "ทุกคน"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "สร้างห้องสำหรับสมาชิกเท่านั้น" msgstr "สร้างห้องสำหรับสมาชิกเท่านั้น"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
#, fuzzy #, fuzzy
msgid "Make room moderated" msgid "Make room moderated"
msgstr "สร้างเป็นห้องถาวร" msgstr "สร้างเป็นห้องถาวร"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "ผู้ใช้เริ่มต้นเป็นผู้เข้าร่วม" msgstr "ผู้ใช้เริ่มต้นเป็นผู้เข้าร่วม"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
#, fuzzy #, fuzzy
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้" msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว" msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "อนุญาตให้ผู้ใช้ถามคำถามกับผู้ใช้คนอื่นๆ ได้" msgstr "อนุญาตให้ผู้ใช้ถามคำถามกับผู้ใช้คนอื่นๆ ได้"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "อนุญาตให้ผู้ใช้ส่งคำเชิญถึงกันได้" msgstr "อนุญาตให้ผู้ใช้ส่งคำเชิญถึงกันได้"
#: mod_muc/mod_muc_room.erl:2981 #: mod_muc/mod_muc_room.erl:2987
#, fuzzy #, fuzzy
msgid "Allow visitors to send status text in presence updates" msgid "Allow visitors to send status text in presence updates"
msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว" msgstr "อนุญาตให้ผู้ใช้ส่งข้อความส่วนตัว"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
#, fuzzy #, fuzzy
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้" msgstr "อนุญาตให้ผู้ใช้เปลี่ยนหัวข้อได้"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
#, fuzzy #, fuzzy
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน" msgstr "สร้างห้องที่มีการป้องกันด้วยรหัสผ่าน"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "เปิดใช้งานการบันทึก" 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" msgid "You need an x:data capable client to configure room"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดค่าห้องสนทนา " msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อกำหนดค่าห้องสนทนา "
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "จำนวนผู้ครอบครองห้อง" msgstr "จำนวนผู้ครอบครองห้อง"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "ส่วนตัว, " msgstr "ส่วนตัว, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s เชิญคุณเข้าร่วมสนทนาในห้อง ~s" msgstr "~s เชิญคุณเข้าร่วมสนทนาในห้อง ~s"
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "รหัสผ่านคือ" msgstr "รหัสผ่านคือ"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "ลำดับข้อความออฟไลน์ของผู้ที่ติดต่อของคุณเต็มแล้ว ข้อความถูกลบทิ้งแล้ว" 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" msgid "~s's Offline Messages Queue"
msgstr "~s's ลำดับข้อความออฟไลน์" msgstr "~s's ลำดับข้อความออฟไลน์"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1011,20 +1024,20 @@ msgstr "จาก"
msgid "To" msgid "To"
msgstr "ถึง" msgstr "ถึง"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "แพ็กเก็ต" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "ลบข้อความที่เลือก" msgstr "ลบข้อความที่เลือก"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "ข้อความออฟไลน์:" msgstr "ข้อความออฟไลน์:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy #, fuzzy
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "ข้อความออฟไลน์" msgstr "ข้อความออฟไลน์"
@ -1033,112 +1046,135 @@ msgstr "ข้อความออฟไลน์"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "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" msgid "Publish-Subscribe"
msgstr "เผยแพร่-สมัครเข้าใช้งาน" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "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" msgid "PubSub subscriber request"
msgstr "คำร้องขอของผู้สมัครเข้าใช้งาน PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "เลือกว่าจะอนุมัติการสมัครเข้าใช้งานของเอนทิตี้นี้หรือไม่" 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "ที่อยู่ของผู้สมัคร" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "อนุญาตให้ Jabber ID นี้เข้าร่วมเป็นสมาชิกของโหนด pubsub หรือไม่" 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" msgid "Deliver payloads with event notifications"
msgstr "ส่งส่วนของข้อมูล (payload) พร้อมกับการแจ้งเตือนเหตุการณ์" 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" msgid "Deliver event notifications"
msgstr "ส่งการแจ้งเตือนเหตุการณ์" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อการกำหนดค่าโหนดเปลี่ยนแปลง" 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" msgid "Notify subscribers when the node is deleted"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อโหนดถูกลบ" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "แจ้งเตือนผู้สมัครสมาชิกเมื่อรายการถูกลบออกจากโหนด" 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" msgid "Persist items to storage"
msgstr "ยืนยันรายการที่จะจัดเก็บ" 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" msgid "A friendly name for the node"
msgstr "" 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" msgid "Max # of items to persist"
msgstr "จำนวนสูงสุดของรายการที่ยืนยัน" 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" msgid "Whether to allow subscriptions"
msgstr "อนุญาตให้เข้าร่วมเป็นสมาชิกหรือไม่" 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" msgid "Specify the access model"
msgstr "ระบุโมเดลการเข้าถึง" 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" msgid "Roster groups allowed to subscribe"
msgstr "" 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" msgid "Specify the publisher model"
msgstr "ระบุโมเดลผู้เผยแพร่" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "ระบุโมเดลการเข้าถึง" 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" msgid "Max payload size in bytes"
msgstr "ขนาดสูงสุดของส่วนของข้อมูล (payload) มีหน่วยเป็นไบต์" 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" msgid "When to send the last published item"
msgstr "เวลาที่ส่งรายการที่เผยแพร่ครั้งล่าสุด" 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" msgid "Only deliver notifications to available users"
msgstr "ส่งการแจ้งเตือนถึงผู้ใช้ที่สามารถติดต่อได้เท่านั้น" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" msgid "Choose a username and password to register with this server"
msgstr "เลือกชื่อผู้ใช้และรหัสผ่านเพื่อลงทะเบียนกับเซิร์ฟเวอร์นี้" 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 #, fuzzy
msgid "Users are not allowed to register accounts so quickly" msgid "Users are not allowed to register accounts so quickly"
msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด" msgstr "ผู้เยี่ยมเยือนไม่ได้รับอนุญาตให้ส่งข้อความถึงผู้ครอบครองห้องทั้งหมด"
@ -1173,13 +1209,13 @@ msgstr "ลบ"
msgid "Roster of " msgid "Roster of "
msgstr "บัญชีรายชื่อของ " msgstr "บัญชีรายชื่อของ "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "รูปแบบที่ไม่ถูกต้อง" msgstr "รูปแบบที่ไม่ถูกต้อง"
@ -1191,37 +1227,37 @@ msgstr "เพิ่ม Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "บัญชีรายชื่อ" msgstr "บัญชีรายชื่อ"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "กลุ่มบัญชีรายชื่อที่ใช้งานร่วมกัน" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "เพิ่มผู้ใช้ใหม่" msgstr "เพิ่มผู้ใช้ใหม่"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "ชื่อ:" msgstr "ชื่อ:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "รายละเอียด:" msgstr "รายละเอียด:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "สมาชิก:" msgstr "สมาชิก:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "กลุ่มที่แสดง:" msgstr "กลุ่มที่แสดง:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "กลุ่ม" 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1293,11 +1329,6 @@ msgstr "หน่วยขององค์กร"
msgid "Search users in " msgid "Search users in "
msgstr "ค้นหาผู้ใช้ใน " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา" msgstr "คุณต้องใช้ไคลเอ็นต์ที่รองรับ x:data เพื่อค้นหา"
@ -1422,7 +1453,9 @@ msgstr "การเชื่อมต่อ s2s ขาออก:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "เซิร์ฟเวอร์ s2s ขาออก:" 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" msgid "Change Password"
msgstr "เปลี่ยนรหัสผ่าน" msgstr "เปลี่ยนรหัสผ่าน"
@ -1434,7 +1467,8 @@ msgstr "ผู้ใช้"
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "ทรัพยากรที่เชื่อมต่อ:" 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:" msgid "Password:"
msgstr "รหัสผ่าน:" msgstr "รหัสผ่าน:"
@ -1647,6 +1681,122 @@ msgstr "ลบ"
msgid "Start" msgid "Start"
msgstr "เริ่ม" 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" #~ msgid "Encodings"
#~ msgstr "การเข้ารหัส" #~ 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 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 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 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"}. {"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 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."}. {"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-Language: Turkish (türkçe)\n"
"X-Generator: KBabel 1.11.4\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" msgid "Use of STARTTLS required"
msgstr "STARTTLS kullanımı gereklidir" msgstr "STARTTLS kullanımı gereklidir"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Hiç kaynak sağlanmadı" msgstr "Hiç kaynak sağlanmadı"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Eski bağlantı yenisi ile değiştirildi" 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" msgid "Enter the text you see"
msgstr "Gördüğünüz metni giriniz" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" msgstr ""
"~s kullanıcısına mesajlarınız engelleniyor. Durumu düzeltmek için ~s " "~s kullanıcısına mesajlarınız engelleniyor. Durumu düzeltmek için ~s "
"adresini ziyaret ediniz." "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." msgid "The captcha is valid."
msgstr "İnsan doğrulaması (captcha) geçerli." msgstr "İnsan doğrulaması (captcha) geçerli."
@ -367,7 +379,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Parola" msgstr "Parola"
@ -438,17 +450,17 @@ msgstr "IRC Nakli (Transport)"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC modülü" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"mod_irc ayarlarını düzenlemek için x:data becerisine sahip bir istemciye " "mod_irc ayarlarını düzenlemek için x:data becerisine sahip bir istemciye "
"gereksinimiz var" "gereksinimiz var"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "mod_irc'ye kayıt : " msgstr "mod_irc'ye kayıt : "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -456,11 +468,11 @@ msgstr ""
"IRC sunuculara bağlanmak için kullanmak istediğiniz kullanıcı ismi, " "IRC sunuculara bağlanmak için kullanmak istediğiniz kullanıcı ismi, "
"kodlamalar, kapılar (portlar) ve parolaları giriniz" "kodlamalar, kapılar (portlar) ve parolaları giriniz"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "IRC Kullanıcı İsmi" msgstr "IRC Kullanıcı İsmi"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "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 " "\"}' biçeminde değerlerle bu listeyi doldurunuz. Öntanımlı olarak bu servis "
"\"~s\" kodlamasını, ~p \"kapısını\", \"boş\" parolasını kullanıyor." "\"~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 "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" "Örnek: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"gizli\"}, {\"vendetta.fef.net"
"\", \"iso8859-1\", 7000}], {\"irc.sometestserver.net\", \"utf-8\"}]" "\", \"iso8859-1\", 7000}], {\"irc.sometestserver.net\", \"utf-8\"}]"
#: mod_irc/mod_irc.erl:601 #: mod_irc/mod_irc.erl:602
msgid "Connections parameters" msgid "Connections parameters"
msgstr "Bağlantı parametreleri" msgstr "Bağlantı parametreleri"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "IRC kanalına katıl" 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 #)" msgid "IRC channel (don't put the first #)"
msgstr "IRC kanalı (ilk # işaretini koymayın)" msgstr "IRC kanalı (ilk # işaretini koymayın)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRC sunucusu" 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." msgid "Join the IRC channel here."
msgstr "Buradaki IRC kanalına katıl." 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" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "IRC kanalına bu Jabber ID'si ile katıl: ~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" msgid "IRC settings"
msgstr "IRC ayarları" msgstr "IRC ayarları"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "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 " "kodlamaları giriniz. 'İleri' tuşuna basınca karşınıza dolduracak daha fazla "
"alan çıkacak. 'Tamamla' tuşuna basarak ayarları kaydedin." "alan çıkacak. 'Tamamla' tuşuna basarak ayarları kaydedin."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "IRC kullanıcı ismi" msgstr "IRC kullanıcı ismi"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Parola ~b" msgstr "Parola ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Kapı (Port) ~b" msgstr "Kapı (Port) ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Sunucu için kodlama ~b" msgstr "Sunucu için kodlama ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Sunucu ~b" msgstr "Sunucu ~b"
@ -555,7 +567,8 @@ msgid "Chatrooms"
msgstr "Sohbet Odaları" msgstr "Sohbet Odaları"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye " "Takma isminizi kaydettirmek için x:data becerisine sahip bir istemciye "
"gereksinimiz var" "gereksinimiz var"
@ -574,8 +587,8 @@ msgstr "Kaydettirmek istediğiniz takma ismi giriniz"
msgid "Nickname" msgid "Nickname"
msgstr "Takma isim" msgstr "Takma isim"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "O takma isim başka biri tarafından kaydettirilmiş" msgstr "O takma isim başka biri tarafından kaydettirilmiş"
@ -624,7 +637,7 @@ msgid "is now known as"
msgstr "isim değiştirdi :" msgstr "isim değiştirdi :"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " konuyu değiştirdi: " msgstr " konuyu değiştirdi: "
@ -732,10 +745,6 @@ msgstr "Oda Ayarları"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Oda Sakini Sayısı" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Trafik oran sınırııldı" 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" msgid "Recipient is not in the conference room"
msgstr "Alıcı konferans odasında değil" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Sadece oda sakinlerinin konferansa mesaj göndermesine izin veriliyor" 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" msgid "Queries to the conference members are not allowed in this room"
msgstr "Bu odada konferans üyelerine sorgu yapılmasına izin verilmiyor" 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 "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
@ -794,204 +803,208 @@ msgstr ""
"Sadece moderatörlerin ve katılımcıların bu odanın konusunu değiştirmesine " "Sadece moderatörlerin ve katılımcıların bu odanın konusunu değiştirmesine "
"izin veriliyor" "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" 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" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "" msgstr ""
"Ziyaretçilerin odadaki tüm sakinlere mesaj göndermesine izin verilmiyor" "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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "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ı" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "" msgstr ""
"Bu odada ziyaretçilerin takma isimlerini değiştirmesine izin verilmiyor" "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" 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" 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" msgid "You have been banned from this room"
msgstr "Bu odaya girmeniz yasaklandı" 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" msgid "Membership is required to enter this room"
msgstr "Bu odaya girmek için üyelik gerekiyor" 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" msgid "This room is not anonymous"
msgstr "Bu oda anonim değil" 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" msgid "A password is required to enter this room"
msgstr "Bu odaya girmek için parola gerekiyor" 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" msgid "Unable to generate a captcha"
msgstr "İnsan doğrulaması (captcha) oluşturulamadı" msgstr "İnsan doğrulaması (captcha) oluşturulamadı"
#: mod_muc/mod_muc_room.erl:1663 #: mod_muc/mod_muc_room.erl:1658
msgid "Incorrect password" msgid "Incorrect password"
msgstr "Yanlış parola" msgstr "Yanlış parola"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Yönetim yetkileri gerekli" msgstr "Yönetim yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Moderatör yetkileri gerekli" 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" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s geçersiz" 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" msgid "Nickname ~s does not exist in the room"
msgstr "~s takma ismi odada yok" 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" msgid "Invalid affiliation: ~s"
msgstr "Geçersiz ilişki: ~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" msgid "Invalid role: ~s"
msgstr "Geçersiz rol: ~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" msgid "Owner privileges required"
msgstr "Sahip yetkileri gerekli" msgstr "Sahip yetkileri gerekli"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "~s odasının ayarları" 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" msgid "Room description"
msgstr "Oda tanımı" msgstr "Oda tanımı"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Odayı kalıcı hale getir" 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" msgid "Make room public searchable"
msgstr "Odayı herkes tarafından aranabilir hale getir" 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" msgid "Make participants list public"
msgstr "Katılımcı listesini herkese açık hale getir" 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" msgid "Make room password protected"
msgstr "Odayı parola korumalı hale getir" 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" msgid "Maximum Number of Occupants"
msgstr "Odada En Fazla Bulunabilecek Kişi Sayısı" 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" msgid "No limit"
msgstr "Sınırsız" 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" msgid "Present real Jabber IDs to"
msgstr "Gerçek Jabber ID'lerini göster :" 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" msgid "moderators only"
msgstr "sadece moderatörler" msgstr "sadece moderatörler"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "herkes" msgstr "herkes"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Odayı sadece üyelere açık hale getir" 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" msgid "Make room moderated"
msgstr "Odayı moderasyonlu hale getir" msgstr "Odayı moderasyonlu hale getir"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Kullanıcılar öntanımlı olarak katılımcı olsun" 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" msgid "Allow users to change the subject"
msgstr "Kullanıcıların konu değiştirmesine izin ver" 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" msgid "Allow users to send private messages"
msgstr "Kullanıcıların özel mesaj göndermelerine izin ver" 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" msgid "Allow users to query other users"
msgstr "Kullanıcıların diğer kullanıcıları sorgulamalarına izin ver" 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" msgid "Allow users to send invites"
msgstr "Kullanıcıların davetiye göndermelerine izin ver" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Ziyaretçilerin varlık (presence) güncellemelerinde durum metni " "Ziyaretçilerin varlık (presence) güncellemelerinde durum metni "
"göndermelerine izin ver" "göndermelerine izin ver"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Ziyaretçilerin takma isim değiştirmelerine izin ver" 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" msgid "Make room captcha protected"
msgstr "Odayı insan doğrulaması (captcha) korumalı hale getir" 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" msgid "Enable logging"
msgstr "Kayıt tutma özelliğini aç" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"Odayı ayarlamak için x:data becerisine sahip bir istemciye gereksinimiz var" "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" msgid "Number of occupants"
msgstr "Oda sakini sayısı" msgstr "Oda sakini sayısı"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "özel" msgstr "özel"
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s sizi ~s odasına davet ediyor" 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" msgid "the password is"
msgstr "parola :" msgstr "parola :"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "Çevirim-dışı mesaj kuyruğunuz dolu. Mesajını dikkate alınmadı." 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" msgid "~s's Offline Messages Queue"
msgstr "~s Kullanıcısının Mesaj Kuyruğu" msgstr "~s Kullanıcısının Mesaj Kuyruğu"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1013,20 +1026,20 @@ msgstr "Kimden"
msgid "To" msgid "To"
msgstr "Kime" msgstr "Kime"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Seçilenleri Sil" 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:" msgid "Offline Messages:"
msgstr "Çevirim-dışı Mesajlar:" 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" msgid "Remove All Offline Messages"
msgstr "Tüm Çevirim-dışı Mesajları Kaldır" 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" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams modülü" 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" msgid "Publish-Subscribe"
msgstr "Yayınla-Üye Ol" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "ejabberd Publish-Subscribe modülü" 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" msgid "PubSub subscriber request"
msgstr "PubSub üye isteği" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Bu varlığın üyeliğini onaylayıp onaylamamayı seçiniz." 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" msgid "Node ID"
msgstr "Düğüm 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" msgid "Subscriber Address"
msgstr "Üye Olanın Adresi" 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?" 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?" 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" msgid "Deliver payloads with event notifications"
msgstr "Yükleri (payload) olay uyarıları ile beraber gönder" 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" msgid "Deliver event notifications"
msgstr "Olay uyarıları gönderilsin" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Düğüm ayarları değiştiğinde üyeleri uyar" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Bir düğüm silindiğinde üyeleri uyar" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Düğümden öğeler kaldırıldığında üyeleri uyar" 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" msgid "Persist items to storage"
msgstr "Öğeleri depoda kalıcı hale getir" 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" msgid "A friendly name for the node"
msgstr "Düğüm için dostane bir isim" 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" msgid "Max # of items to persist"
msgstr "Kalıcı hale getirilecek en fazla öğe sayısı" 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" msgid "Whether to allow subscriptions"
msgstr "Üyeliklere izin verilsin mi" 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" msgid "Specify the access model"
msgstr "Erişim modelini belirtiniz" 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" msgid "Roster groups allowed to subscribe"
msgstr "Üye olunmasına izin verilen kontak listesi grupları" 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" msgid "Specify the publisher model"
msgstr "Yayıncı modelini belirtiniz" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "Erişim modelini belirtiniz" 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" msgid "Max payload size in bytes"
msgstr "En fazla yük (payload) boyutu (bayt olarak)" 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" msgid "When to send the last published item"
msgstr "Son yayınlanan öğe ne zaman gönderilsin" 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" msgid "Only deliver notifications to available users"
msgstr "Uyarıları sadece durumu uygun kullanıcılara ulaştır" 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" msgid "The collections with which a node is affiliated"
msgstr "Bir düğüm ile bağlantılı koleksiyonlar" 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" 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" 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" 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" 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 " msgid "Roster of "
msgstr "Kontak Listesi : " msgstr "Kontak Listesi : "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Kötü biçem" msgstr "Kötü biçem"
@ -1191,37 +1230,37 @@ msgstr "Jabber ID'si Ekle"
msgid "Roster" msgid "Roster"
msgstr "Kontak Listesi" msgstr "Kontak Listesi"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Paylaşımlı Kontak Listesi Grupları" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Yeni Ekle" msgstr "Yeni Ekle"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "İsim:" msgstr "İsim:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Tanım:" msgstr "Tanım:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Üyeler:" msgstr "Üyeler:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Gösterilen Gruplar:" msgstr "Gösterilen Gruplar:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1293,11 +1332,6 @@ msgstr "Kurumun İlgili Birimi"
msgid "Search users in " msgid "Search users in "
msgstr "Kullanıcılarda arama yap : " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "" msgstr ""
@ -1421,7 +1455,9 @@ msgstr "Giden s2s Bağlantıları:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Giden s2s Sunucuları" 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" msgid "Change Password"
msgstr "Parola Değiştir" msgstr "Parola Değiştir"
@ -1433,7 +1469,8 @@ msgstr "Kullanıcı "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Bağlı Kaynaklar:" 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:" msgid "Password:"
msgstr "Parola:" msgstr "Parola:"
@ -1646,3 +1683,123 @@ msgstr "Sil"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Başlat" 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","Резервне копіювання"}. {"Backup","Резервне копіювання"}.
{"Bad format","Неправильний формат"}. {"Bad format","Неправильний формат"}.
{"Birthday","День народження"}. {"Birthday","День народження"}.
{"CAPTCHA web page","Адреса капчі"}.
{"Change Password","Змінити пароль"}. {"Change Password","Змінити пароль"}.
{"Change User Password","Змінити Пароль Користувача"}. {"Change User Password","Змінити Пароль Користувача"}.
{"Characters not allowed:","Заборонені символи:"}.
{"Chatroom configuration modified","Конфігурація кімнати змінилась"}. {"Chatroom configuration modified","Конфігурація кімнати змінилась"}.
{"Chatroom is created","Створено кімнату"}. {"Chatroom is created","Створено кімнату"}.
{"Chatroom is destroyed","Знищено кімнату"}. {"Chatroom is destroyed","Знищено кімнату"}.
@ -69,6 +71,7 @@
{"Description:","Опис:"}. {"Description:","Опис:"}.
{"Disc only copy","Тільки диск"}. {"Disc only copy","Тільки диск"}.
{"Displayed Groups:","Видимі групи:"}. {"Displayed Groups:","Видимі групи:"}.
{"Don't tell your password to anybody, not even the administrators of the Jabber server.","Нікому не кажіть свій пароль, навіть адміністраторам сервера."}.
{"Dump Backup to Text File at ","Копіювання в текстовий файл на "}. {"Dump Backup to Text File at ","Копіювання в текстовий файл на "}.
{"Dump to Text File","Копіювання в текстовий файл"}. {"Dump to Text File","Копіювання в текстовий файл"}.
{"Edit Properties","Змінити параметри"}. {"Edit Properties","Змінити параметри"}.
@ -120,6 +123,7 @@
{"has been kicked","вигнали з кімнати"}. {"has been kicked","вигнали з кімнати"}.
{" has set the subject to: "," встановив(ла) тему: "}. {" has set the subject to: "," встановив(ла) тему: "}.
{"Host","Хост"}. {"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, пустий пароль."}. {"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 Directory","Імпорт з директорії"}.
{"Import File","Імпорт з файла"}. {"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 of type \"groupchat\"","Не дозволяється надсилати приватні повідомлення типу \"groupchat\""}.
{"It is not allowed to send private messages to the conference","Не дозволяється надсилати приватні повідомлення в конференцію"}. {"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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s недопустимий"}. {"Jabber ID ~s is invalid","Jabber ID ~s недопустимий"}.
{"January","січня"}. {"January","січня"}.
@ -177,6 +182,7 @@
{"May","травня"}. {"May","травня"}.
{"Membership is required to enter this room","В цю конференціию можуть входити тільки її члени"}. {"Membership is required to enter this room","В цю конференціию можуть входити тільки її члени"}.
{"Members:","Члени:"}. {"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","Пам'ять"}. {"Memory","Пам'ять"}.
{"Message body","Тіло повідомлення"}. {"Message body","Тіло повідомлення"}.
{"Middle Name","По-батькові"}. {"Middle Name","По-батькові"}.
@ -190,6 +196,7 @@
{"Name:","Назва:"}. {"Name:","Назва:"}.
{"Name","Назва"}. {"Name","Назва"}.
{"Never","Ніколи"}. {"Never","Ніколи"}.
{"New Password:","Новий Пароль:"}.
{"Nickname Registration at ","Реєстрація псевдоніма на "}. {"Nickname Registration at ","Реєстрація псевдоніма на "}.
{"Nickname ~s does not exist in the room","Псевдонім ~s в кімнаті відсутній"}. {"Nickname ~s does not exist in the room","Псевдонім ~s в кімнаті відсутній"}.
{"Nickname","Псевдонім"}. {"Nickname","Псевдонім"}.
@ -214,6 +221,7 @@
{"Offline Messages:","Офлайнові повідомлення:"}. {"Offline Messages:","Офлайнові повідомлення:"}.
{"Offline Messages","Офлайнові повідомлення"}. {"Offline Messages","Офлайнові повідомлення"}.
{"OK","Продовжити"}. {"OK","Продовжити"}.
{"Old Password:","Старий пароль:"}.
{"Online Users:","Підключені користувачі:"}. {"Online Users:","Підключені користувачі:"}.
{"Online Users","Підключені користувачі"}. {"Online Users","Підключені користувачі"}.
{"Online","Підключений"}. {"Online","Підключений"}.
@ -232,6 +240,7 @@
{"Owner privileges required","Необхідні права власника"}. {"Owner privileges required","Необхідні права власника"}.
{"Packet","Пакет"}. {"Packet","Пакет"}.
{"Password ~b","Пароль ~b"}. {"Password ~b","Пароль ~b"}.
{"Password Verification:","Перевірка Пароля:"}.
{"Password Verification","Перевірка Пароля"}. {"Password Verification","Перевірка Пароля"}.
{"Password:","Пароль:"}. {"Password:","Пароль:"}.
{"Password","Пароль"}. {"Password","Пароль"}.
@ -257,8 +266,10 @@
{"Raw","необроблений формат"}. {"Raw","необроблений формат"}.
{"Really delete message of the day?","Насправді видалити повідомлення дня?"}. {"Really delete message of the day?","Насправді видалити повідомлення дня?"}.
{"Recipient is not in the conference room","Адресата немає в конференції"}. {"Recipient is not in the conference room","Адресата немає в конференції"}.
{"Register a Jabber account","Зареєструвати Jabber-акаунт"}.
{"Registered Users:","Зареєстровані користувачі:"}. {"Registered Users:","Зареєстровані користувачі:"}.
{"Registered Users","Зареєстровані користувачі"}. {"Registered Users","Зареєстровані користувачі"}.
{"Register","Реєстрація"}.
{"Registration in mod_irc for ","Реєстрація в mod_irc для "}. {"Registration in mod_irc for ","Реєстрація в mod_irc для "}.
{"Remote copy","не зберігаеться локально"}. {"Remote copy","не зберігаеться локально"}.
{"Remove All Offline Messages","Видалити всі офлайнові повідомлення"}. {"Remove All Offline Messages","Видалити всі офлайнові повідомлення"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","Надіслати сповіщення всім користувачам"}. {"Send announcement to all users","Надіслати сповіщення всім користувачам"}.
{"September","вересня"}. {"September","вересня"}.
{"Server ~b","Сервер ~b"}. {"Server ~b","Сервер ~b"}.
{"Server:","Сервер:"}.
{"Set message of the day and send to online users","Встановити повідомлення дня та надіслати його підключеним користувачам"}. {"Set message of the day and send to online users","Встановити повідомлення дня та надіслати його підключеним користувачам"}.
{"Set message of the day on all hosts and send to online users","Встановити повідомлення дня на всіх хостах та надійслати його підключеним користувачам"}. {"Set message of the day on all hosts and send to online users","Встановити повідомлення дня на всіх хостах та надійслати його підключеним користувачам"}.
{"Shared Roster Groups","Спільні групи контактів"}. {"Shared Roster Groups","Спільні групи контактів"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","Показати звичайну таблицю"}. {"Show Ordinary Table","Показати звичайну таблицю"}.
{"Shut Down Service","Вимкнути Сервіс"}. {"Shut Down Service","Вимкнути Сервіс"}.
{"~s invites you to the room ~s","~s запрошує вас до кімнати ~s"}. {"~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 access model","Визначити модель доступу"}.
{"Specify the event message type","Вкажіть тип повідомлень зі сповіщеннями про події"}. {"Specify the event message type","Вкажіть тип повідомлень зі сповіщеннями про події"}.
{"Specify the publisher model","Умови публікації"}. {"Specify the publisher model","Умови публікації"}.
@ -327,8 +340,17 @@
{"That nickname is already in use by another occupant","Псевдонім зайнято кимось з присутніх"}. {"That nickname is already in use by another occupant","Псевдонім зайнято кимось з присутніх"}.
{"That nickname is registered by another person","Псевдонім зареєстровано кимось іншим"}. {"That nickname is registered by another person","Псевдонім зареєстровано кимось іншим"}.
{"The captcha is valid.","Перевірку капчею закінчено успішно"}. {"The captcha is valid.","Перевірку капчею закінчено успішно"}.
{"The CAPTCHA verification has failed","Перевірку капчею не пройдено"}.
{"The collections with which a node is affiliated","Колекція, до якої входить вузел"}. {"The collections with which a node is affiliated","Колекція, до якої входить вузел"}.
{"The password is too weak","Пароль дуже простий"}.
{"the password is","пароль:"}. {"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 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 message","Цього учасника було відключено від кімнати через те, що він надіслав помилкове повідомлення"}.
{"This participant is kicked from the room because he sent an error presence","Цього учасника було відключено від кімнати через те, що він надіслав помилковий статус присутності"}. {"This participant is kicked from the room because he sent an error presence","Цього учасника було відключено від кімнати через те, що він надіслав помилковий статус присутності"}.
@ -345,8 +367,11 @@
{"Transactions Restarted:","Транзакції перезапущені:"}. {"Transactions Restarted:","Транзакції перезапущені:"}.
{"Tuesday","Вівторок"}. {"Tuesday","Вівторок"}.
{"Unable to generate a captcha","Не має можливості сгенерувати капчу"}. {"Unable to generate a captcha","Не має можливості сгенерувати капчу"}.
{"Unable to generate a CAPTCHA","Нема можливості сгенерувати капчу"}.
{"Unauthorized","Не авторізован"}. {"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 message of the day on all hosts (don't send)","Оновити повідомлення дня на всіх хостах (не надсилати)"}.
{"Update plan","План поновлення"}. {"Update plan","План поновлення"}.
{"Update script","Сценарій поновлення"}. {"Update script","Сценарій поновлення"}.
@ -355,6 +380,7 @@
{"Uptime:","Час роботи:"}. {"Uptime:","Час роботи:"}.
{"Use of STARTTLS required","Ви мусите використовувати STARTTLS"}. {"Use of STARTTLS required","Ви мусите використовувати STARTTLS"}.
{"User Management","Управління Користувачами"}. {"User Management","Управління Користувачами"}.
{"Username:","Ім'я користувача:"}.
{"Users are not allowed to register accounts so quickly","Користувачам не дозволено так часто реєструвати облікові записи"}. {"Users are not allowed to register accounts so quickly","Користувачам не дозволено так часто реєструвати облікові записи"}.
{"Users Last Activity","Статистика останнього підключення користувачів"}. {"Users Last Activity","Статистика останнього підключення користувачів"}.
{"Users","Користувачі"}. {"Users","Користувачі"}.
@ -367,11 +393,16 @@
{"Wednesday","Середа"}. {"Wednesday","Середа"}.
{"When to send the last published item","Коли надсилати останній опублікований елемент"}. {"When to send the last published item","Коли надсилати останній опублікований елемент"}.
{"Whether to allow subscriptions","Дозволити передплату"}. {"Whether to allow subscriptions","Дозволити передплату"}.
{"You can later change your password using a Jabber client.","Пізніше можна змінити пароль через Jabber-клієнт."}.
{"You have been banned from this room","Вам заборонено входити в цю конференцію"}. {"You have been banned from this room","Вам заборонено входити в цю конференцію"}.
{"You must fill in field \"Nickname\" in the form","Вам необхідно заповнити поле \"Псевдонім\" у формі"}. {"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 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 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-придатний клієнт"}. {"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 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"}. {"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: Stoune\n"
"X-Additional-Translator: Sergei Golovan\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" msgid "Use of STARTTLS required"
msgstr "Ви мусите використовувати STARTTLS" msgstr "Ви мусите використовувати STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Не вказаний ресурс" msgstr "Не вказаний ресурс"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Замінено новим з'єднанням" 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" msgid "Enter the text you see"
msgstr "Введіть текст, що ви бачите" msgstr "Введіть текст, що ви бачите"
#: ejabberd_captcha.erl:97 #: ejabberd_captcha.erl:99
msgid "Your messages to ~s are being blocked. To unblock them, visit ~s" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "Ваші повідомлення до ~s блокуються. Для розблокування відвідайте ~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." msgid "The captcha is valid."
msgstr "Перевірку капчею закінчено успішно" msgstr "Перевірку капчею закінчено успішно"
@ -99,7 +111,7 @@ msgstr ""
#: mod_announce.erl:648 #: mod_announce.erl:648
msgid "Update message of the day (don't send)" msgid "Update message of the day (don't send)"
msgstr "Поновити повідомлення дня (не надсилати)" msgstr "Оновити повідомлення дня (не надсилати)"
#: mod_announce.erl:650 #: mod_announce.erl:650
msgid "Update message of the day on all hosts (don't send)" msgid "Update message of the day on all hosts (don't send)"
@ -369,7 +381,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Пароль" msgstr "Пароль"
@ -440,17 +452,17 @@ msgstr "IRC Транспорт"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "ejabberd IRC модуль" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Для налагодження параметрів mod_irc необхідно використовувати клієнт, що має " "Для налагодження параметрів mod_irc необхідно використовувати клієнт, що має "
"підтримку x:data" "підтримку x:data"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Реєстрація в mod_irc для " msgstr "Реєстрація в mod_irc для "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "Enter username, encodings, ports and passwords you wish to use for "
"connecting to IRC servers" "connecting to IRC servers"
@ -458,11 +470,11 @@ msgstr ""
"Введіть ім'я користувача, кодування, порти та паролі, що будуть " "Введіть ім'я користувача, кодування, порти та паролі, що будуть "
"використовуватися при підключенні до IRC-серверів" "використовуватися при підключенні до IRC-серверів"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Ім'я користувача IRC" msgstr "Ім'я користувача IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "If you want to specify different ports, passwords, encodings for IRC "
"servers, fill this list with values in format '{\"irc server\", \"encoding" "servers, fill this list with values in format '{\"irc server\", \"encoding"
@ -474,7 +486,7 @@ msgstr ""
"\"password\"}'. За замовчуванням ця служба використовує \"~s\" кодування, " "\"password\"}'. За замовчуванням ця служба використовує \"~s\" кодування, "
"порт ~p, пустий пароль." "порт ~p, пустий пароль."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef."
"net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]."
@ -482,35 +494,35 @@ msgstr ""
"Приклад: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta." "Приклад: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta."
"fef.net\", \"iso8859-1\", 7000}, {\"irc.sometestserver.net\", \"utf-8\"}]." "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" msgid "Connections parameters"
msgstr "Параметри з'єднання" msgstr "Параметри з'єднання"
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "Приєднатися до каналу IRC" msgstr "Приєднатися до каналу IRC"
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "Канал IRC (не використовуйте спереду #)" msgstr "Канал IRC (не використовуйте спереду #)"
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
msgid "IRC server" msgid "IRC server"
msgstr "IRC-сервер" 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." msgid "Join the IRC channel here."
msgstr "Приєднатися до каналу IRC" msgstr "Приєднатися до каналу IRC"
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "Приєднатися до каналу IRC з Jabber ID: ~s" msgstr "Приєднатися до каналу IRC з Jabber ID: ~s"
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "Парметри IRC" msgstr "Парметри IRC"
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Press 'Next' to get more fields to fill in. Press 'Complete' to save "
@ -520,23 +532,23 @@ msgstr ""
"підключенні до IRC-серверів Натисніть 'Далі' для заповнення додаткових " "підключенні до IRC-серверів Натисніть 'Далі' для заповнення додаткових "
"полів. Натисніть 'Завершити' для збереження параметрів." "полів. Натисніть 'Завершити' для збереження параметрів."
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
msgid "IRC username" msgid "IRC username"
msgstr "Ім'я користувача IRC" msgstr "Ім'я користувача IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
msgid "Password ~b" msgid "Password ~b"
msgstr "Пароль ~b" msgstr "Пароль ~b"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
msgid "Port ~b" msgid "Port ~b"
msgstr "Порт ~b" msgstr "Порт ~b"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "Кодування для сервера ~b" msgstr "Кодування для сервера ~b"
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "Сервер ~b" msgstr "Сервер ~b"
@ -557,7 +569,7 @@ msgid "Chatrooms"
msgstr "Кімнати" msgstr "Кімнати"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data" "Для реєстрації псевдоніму необхідно використовувати клієнт з ідтримкою x:data"
@ -575,8 +587,8 @@ msgstr "Введіть псевдонім, який ви хочете зареє
msgid "Nickname" msgid "Nickname"
msgstr "Псевдонім" msgstr "Псевдонім"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Псевдонім зареєстровано кимось іншим" msgstr "Псевдонім зареєстровано кимось іншим"
@ -625,7 +637,7 @@ msgid "is now known as"
msgstr "змінив(ла) им'я на" msgstr "змінив(ла) им'я на"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " встановив(ла) тему: " msgstr " встановив(ла) тему: "
@ -729,10 +741,6 @@ msgstr "Конфігурація кімнати"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Учасники кімнати" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Швидкість передачі інформації було перевищено" msgstr "Швидкість передачі інформації було перевищено"
@ -768,8 +776,8 @@ msgstr "Не дозволяється надсилати приватні пов
msgid "Recipient is not in the conference room" msgid "Recipient is not in the conference room"
msgstr "Адресата немає в конференції" msgstr "Адресата немає в конференції"
#: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:841 #: mod_muc/mod_muc_room.erl:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Тільки присутнім дозволяється надсилати повідомленняя в конференцію" msgstr "Тільки присутнім дозволяється надсилати повідомленняя в конференцію"
@ -785,212 +793,216 @@ msgstr "Тільки присутнім дозволяється відправ
msgid "Queries to the conference members are not allowed in this room" msgid "Queries to the conference members are not allowed in this room"
msgstr "Запити до користувачів в цій конференції зоборонені" msgstr "Запити до користувачів в цій конференції зоборонені"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "Only moderators and participants are allowed to change the subject in this "
"room" "room"
msgstr "Тільки модератори та учасники можуть змінювати тему в цій кімнаті" 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" msgid "Only moderators are allowed to change the subject in this room"
msgstr "Тільки модератори можуть змінювати тему в цій кімнаті" 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" msgid "Visitors are not allowed to send messages to all occupants"
msgstr "Відвідувачам не дозволяється надсилати повідомлення всім присутнім" msgstr "Відвідувачам не дозволяється надсилати повідомлення всім присутнім"
#: mod_muc/mod_muc_room.erl:899 #: mod_muc/mod_muc_room.erl:894
msgid "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" 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" msgid "Visitors are not allowed to change their nicknames in this room"
msgstr "Відвідувачам не дозволяється змінювати псевдонім в цій кімнаті" 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" msgid "That nickname is already in use by another occupant"
msgstr "Псевдонім зайнято кимось з присутніх" msgstr "Псевдонім зайнято кимось з присутніх"
#: mod_muc/mod_muc_room.erl:1566 #: mod_muc/mod_muc_room.erl:1561
msgid "You have been banned from this room" msgid "You have been banned from this room"
msgstr "Вам заборонено входити в цю конференцію" msgstr "Вам заборонено входити в цю конференцію"
#: mod_muc/mod_muc_room.erl:1569 #: mod_muc/mod_muc_room.erl:1564
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "В цю конференціию можуть входити тільки її члени" msgstr "В цю конференціию можуть входити тільки її члени"
#: mod_muc/mod_muc_room.erl:1605 #: mod_muc/mod_muc_room.erl:1600
msgid "This room is not anonymous" msgid "This room is not anonymous"
msgstr "Ця кімната не анонімна" msgstr "Ця кімната не анонімна"
#: mod_muc/mod_muc_room.erl:1631 #: mod_muc/mod_muc_room.erl:1626
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "Щоб зайти в цю конференцію, необхідно ввести пароль" msgstr "Щоб зайти в цю конференцію, необхідно ввести пароль"
#: mod_muc/mod_muc_room.erl:1653 #: mod_muc/mod_muc_room.erl:1648
msgid "Unable to generate a captcha" 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" msgid "Incorrect password"
msgstr "Неправильний пароль" msgstr "Неправильний пароль"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Необхідні права адміністратора" msgstr "Необхідні права адміністратора"
#: mod_muc/mod_muc_room.erl:2182 #: mod_muc/mod_muc_room.erl:2185
msgid "Moderator privileges required" msgid "Moderator privileges required"
msgstr "Необхідні права модератора" msgstr "Необхідні права модератора"
#: mod_muc/mod_muc_room.erl:2337 #: mod_muc/mod_muc_room.erl:2340
msgid "Jabber ID ~s is invalid" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s недопустимий" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Псевдонім ~s в кімнаті відсутній" 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" msgid "Invalid affiliation: ~s"
msgstr "Недопустимий ранг: ~s" msgstr "Недопустимий ранг: ~s"
#: mod_muc/mod_muc_room.erl:2434 #: mod_muc/mod_muc_room.erl:2437
msgid "Invalid role: ~s" msgid "Invalid role: ~s"
msgstr "Недопустима роль: ~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" msgid "Owner privileges required"
msgstr "Необхідні права власника" msgstr "Необхідні права власника"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Конфігурація кімнати ~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" msgid "Room description"
msgstr "Опис кімнати" msgstr "Опис кімнати"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Зробити кімнату постійною" msgstr "Зробити кімнату постійною"
#: mod_muc/mod_muc_room.erl:2913 #: mod_muc/mod_muc_room.erl:2919
msgid "Make room public searchable" msgid "Make room public searchable"
msgstr "Зробити кімнату видимою всім" msgstr "Зробити кімнату видимою всім"
#: mod_muc/mod_muc_room.erl:2916 #: mod_muc/mod_muc_room.erl:2922
msgid "Make participants list public" msgid "Make participants list public"
msgstr "Зробити список учасників видимим всім" msgstr "Зробити список учасників видимим всім"
#: mod_muc/mod_muc_room.erl:2919 #: mod_muc/mod_muc_room.erl:2925
msgid "Make room password protected" msgid "Make room password protected"
msgstr "Зробити кімнату захищеною паролем" msgstr "Зробити кімнату захищеною паролем"
#: mod_muc/mod_muc_room.erl:2930 #: mod_muc/mod_muc_room.erl:2936
msgid "Maximum Number of Occupants" msgid "Maximum Number of Occupants"
msgstr "Максимальна кількість учасників" msgstr "Максимальна кількість учасників"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Без обмежень" msgstr "Без обмежень"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Зробити реальні Jabber ID учасників видимими" msgstr "Зробити реальні Jabber ID учасників видимими"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "тільки модераторам" msgstr "тільки модераторам"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "всім учасникам" msgstr "всім учасникам"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Кімната тільки для зареєтрованых учасників" msgstr "Кімната тільки для зареєтрованых учасників"
#: mod_muc/mod_muc_room.erl:2963 #: mod_muc/mod_muc_room.erl:2969
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Зробити кімнату модерованою" msgstr "Зробити кімнату модерованою"
#: mod_muc/mod_muc_room.erl:2966 #: mod_muc/mod_muc_room.erl:2972
msgid "Default users as participants" msgid "Default users as participants"
msgstr "Зробити користувачів учасниками за замовчуванням" msgstr "Зробити користувачів учасниками за замовчуванням"
#: mod_muc/mod_muc_room.erl:2969 #: mod_muc/mod_muc_room.erl:2975
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Дозволити користувачам змінювати тему" msgstr "Дозволити користувачам змінювати тему"
#: mod_muc/mod_muc_room.erl:2972 #: mod_muc/mod_muc_room.erl:2978
msgid "Allow users to send private messages" msgid "Allow users to send private messages"
msgstr "Дозволити приватні повідомлення" msgstr "Дозволити приватні повідомлення"
#: mod_muc/mod_muc_room.erl:2975 #: mod_muc/mod_muc_room.erl:2981
msgid "Allow users to query other users" msgid "Allow users to query other users"
msgstr "Дозволити iq-запити до користувачів" msgstr "Дозволити iq-запити до користувачів"
#: mod_muc/mod_muc_room.erl:2978 #: mod_muc/mod_muc_room.erl:2984
msgid "Allow users to send invites" msgid "Allow users to send invites"
msgstr "Дозволити користувачам надсилати запрошення" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Дозволити відвідувачам відсилати текст статусу в оновленнях присутності" "Дозволити відвідувачам відсилати текст статусу в оновленнях присутності"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Дозволити відвідувачам змінювати псевдонім" msgstr "Дозволити відвідувачам змінювати псевдонім"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Зробити кімнату захищеною капчею" msgstr "Зробити кімнату захищеною капчею"
#: mod_muc/mod_muc_room.erl:2999 #: mod_muc/mod_muc_room.erl:3005
msgid "Enable logging" msgid "Enable logging"
msgstr "Включити журнал роботи" 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" msgid "You need an x:data capable client to configure room"
msgstr "" msgstr ""
"Для конфігурування кімнати потрібно використовувати клієнт з підтримкою x:" "Для конфігурування кімнати потрібно використовувати клієнт з підтримкою x:"
"data" "data"
#: mod_muc/mod_muc_room.erl:3321 #: mod_muc/mod_muc_room.erl:3327
msgid "Number of occupants" msgid "Number of occupants"
msgstr "Кількість присутніх" msgstr "Кількість присутніх"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "приватна, " msgstr "приватна, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s запрошує вас до кімнати ~s" msgstr "~s запрошує вас до кімнати ~s"
#: mod_muc/mod_muc_room.erl:3465 #: mod_muc/mod_muc_room.erl:3475
msgid "the password is" msgid "the password is"
msgstr "пароль:" msgstr "пароль:"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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" msgid "~s's Offline Messages Queue"
msgstr "Черга офлайнових повідомлень ~s" msgstr "Черга офлайнових повідомлень ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1012,20 +1024,20 @@ msgstr "Від кого"
msgid "To" msgid "To"
msgstr "Кому" msgstr "Кому"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Пакет" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Видалити виділені" msgstr "Видалити виділені"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Offline Messages:" msgid "Offline Messages:"
msgstr "Офлайнові повідомлення:" msgstr "Офлайнові повідомлення:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Видалити всі офлайнові повідомлення" msgstr "Видалити всі офлайнові повідомлення"
@ -1033,112 +1045,134 @@ msgstr "Видалити всі офлайнові повідомлення"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "ejabberd SOCKS5 Bytestreams модуль" 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" msgid "Publish-Subscribe"
msgstr "Опублікувати-Абонувати" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Модуль ejabberd Публікації-Абонування" 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" msgid "PubSub subscriber request"
msgstr "Запит на абонування PubSub" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Вирішіть, чи задовольнити запит цього об'єкту на підписку" 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" msgid "Node ID"
msgstr "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" msgid "Subscriber Address"
msgstr "Адреса абонента" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "Чи дозволити цьому Jabber ID абонувати новини наданого вузла" 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" msgid "Deliver payloads with event notifications"
msgstr "Доставляти разом з повідомленнями про публікації самі публікації" 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" msgid "Deliver event notifications"
msgstr "Доставляти сповіщення про події" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Повідомляти абонентів про зміни в конфігурації збірника" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Повідомляти абонентів про видалення збірника" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Повідомляти абонентів про видалення публікацій із збірника" 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" msgid "Persist items to storage"
msgstr "Зберегати публікації до сховища" 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" msgid "A friendly name for the node"
msgstr "Псевдонім для вузла" 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" msgid "Max # of items to persist"
msgstr "Максимальне число збережених публікацій" 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" msgid "Whether to allow subscriptions"
msgstr "Дозволити передплату" 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" msgid "Specify the access model"
msgstr "Визначити модель доступу" 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" msgid "Roster groups allowed to subscribe"
msgstr "Дозволені для абонування групи ростера" 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" msgid "Specify the publisher model"
msgstr "Умови публікації" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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" msgid "Specify the event message type"
msgstr "Вкажіть тип повідомлень зі сповіщеннями про події" 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" msgid "Max payload size in bytes"
msgstr "Максимальний розмір корисного навантаження в байтах" 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" msgid "When to send the last published item"
msgstr "Коли надсилати останній опублікований елемент" 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" msgid "Only deliver notifications to available users"
msgstr "Доставляти повідомленнями тільки доступним користувачам" 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" msgid "The collections with which a node is affiliated"
msgstr "Колекція, до якої входить вузел" 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" msgid "Choose a username and password to register with this server"
msgstr "Виберіть назву користувача та пароль для реєстрації на цьому сервері" 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" msgid "Users are not allowed to register accounts so quickly"
msgstr "Користувачам не дозволено так часто реєструвати облікові записи" msgstr "Користувачам не дозволено так часто реєструвати облікові записи"
@ -1172,13 +1206,13 @@ msgstr "Видалити"
msgid "Roster of " msgid "Roster of "
msgstr "Ростер користувача " msgstr "Ростер користувача "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Неправильний формат" msgstr "Неправильний формат"
@ -1190,37 +1224,37 @@ msgstr "Додати Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Ростер" msgstr "Ростер"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Спільні групи контактів" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Додати" msgstr "Додати"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Назва:" msgstr "Назва:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Опис:" msgstr "Опис:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Члени:" msgstr "Члени:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Видимі групи:" msgstr "Видимі групи:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Група " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1292,11 +1326,6 @@ msgstr "Відділ організації"
msgid "Search users in " msgid "Search users in "
msgstr "Пошук користувачів в " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "Для пошуку необхідний x:data-придатний клієнт" msgstr "Для пошуку необхідний x:data-придатний клієнт"
@ -1419,7 +1448,9 @@ msgstr "Вихідні s2s-з'єднання:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Вихідні s2s-сервери:" 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" msgid "Change Password"
msgstr "Змінити пароль" msgstr "Змінити пароль"
@ -1431,7 +1462,8 @@ msgstr "Користувач "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Підключені ресурси:" 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:" msgid "Password:"
msgstr "Пароль:" msgstr "Пароль:"
@ -1641,3 +1673,126 @@ msgstr "Видалити"
#: web/ejabberd_web_admin.erl:2574 #: web/ejabberd_web_admin.erl:2574
msgid "Start" msgid "Start"
msgstr "Запустити" 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 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 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 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"}. {"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ỏ."}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Vietnamese (tiếng việt)\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" msgid "Use of STARTTLS required"
msgstr "Yêu cầu sử dụng STARTTLS" msgstr "Yêu cầu sử dụng STARTTLS"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Không có nguồn lực cung cấp" msgstr "Không có nguồn lực cung cấp"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Được thay thế bởi kết nối mới" 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 #, fuzzy
msgid "Enter the text you see" msgid "Enter the text you see"
msgstr "Nhập đường dẫn đến tập tin văn bản" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "" msgstr ""
@ -363,7 +375,7 @@ msgid "Jabber ID"
msgstr "Jabber ID" msgstr "Jabber ID"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Mật Khẩu" msgstr "Mật Khẩu"
@ -434,17 +446,17 @@ msgstr "Truyền tải IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Môdun ejabberd IRC Bản quyền" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" 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 " "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" "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 " msgid "Registration in mod_irc for "
msgstr "Đăng ký trong mod_irc cho " msgstr "Đăng ký trong mod_irc cho "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "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ủ " "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" "IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "Tên truy cập IRC" msgstr "Tên truy cập IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
#, fuzzy #, fuzzy
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "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\", " "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\"." "\"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 #, fuzzy
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "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" "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" msgid "Connections parameters"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
#, fuzzy #, fuzzy
msgid "IRC server" msgid "IRC server"
msgstr "Tên truy cập IRC" 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." msgid "Join the IRC channel here."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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ủ " "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" "IRC"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
#, fuzzy #, fuzzy
msgid "IRC username" msgid "IRC username"
msgstr "Tên truy cập IRC" msgstr "Tên truy cập IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
#, fuzzy #, fuzzy
msgid "Password ~b" msgid "Password ~b"
msgstr "Mật Khẩu" msgstr "Mật Khẩu"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
#, fuzzy #, fuzzy
msgid "Port ~b" msgid "Port ~b"
msgstr "Cổng" msgstr "Cổng"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "" msgstr ""
@ -557,7 +569,8 @@ msgid "Chatrooms"
msgstr "Phòng trò chuyện" msgstr "Phòng trò chuyện"
#: mod_muc/mod_muc.erl:711 #: 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 "" 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ạ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" "bí danh"
@ -576,8 +589,8 @@ msgstr "Nhập bí danh bạn muốn đăng ký"
msgid "Nickname" msgid "Nickname"
msgstr "Bí danh" msgstr "Bí danh"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
#, fuzzy #, fuzzy
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Một người khác đã đăng ký bí danh này rồi" 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ư" 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_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: " msgid " has set the subject to: "
msgstr " đã đặt chủ đề thành: " msgstr " đã đặt chủ đề thành: "
@ -736,10 +749,6 @@ msgstr "Cấu Hình Phòng"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Số người tham dự" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Quá giới hạn tỷ lệ lưu lượng truyền tải" 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" msgid "Recipient is not in the conference room"
msgstr "Người nhận không có trong phòng họp" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" 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" 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 "" 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" "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 #, fuzzy
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "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ủ " "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" "đề trong phòng này"
#: mod_muc/mod_muc_room.erl:822 #: mod_muc/mod_muc_room.erl:810
#, fuzzy #, fuzzy
msgid "Only moderators are allowed to change the subject in this room" 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" 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" 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ự" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
#: mod_muc/mod_muc_room.erl:917 #: mod_muc/mod_muc_room.erl:912
#, fuzzy #, fuzzy
msgid "Visitors are not allowed to change their nicknames in this room" 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" 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 #, fuzzy
msgid "That nickname is already in use by another occupant" 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" 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" msgid "You have been banned from this room"
msgstr "Bạn bị cấm tham gia phòng này" 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 #, fuzzy
msgid "Membership is required to enter this room" 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" 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" msgid "This room is not anonymous"
msgstr "Phòng này không nặc danh" 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 #, fuzzy
msgid "A password is required to enter this room" 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" 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" 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" msgid "Incorrect password"
msgstr "Mật khẩu sai" msgstr "Mật khẩu sai"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "Yêu cầu đặc quyền của nhà quản trị" 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" msgid "Moderator privileges required"
msgstr "Yêu cầu đặc quyền của nhà điều phối" 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" msgid "Jabber ID ~s is invalid"
msgstr "Jabber ID ~s không hợp lệ" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Bí danh ~s không tồn tại trong phòng này" 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" msgid "Invalid affiliation: ~s"
msgstr "Tư cách không hợp lệ: ~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" msgid "Invalid role: ~s"
msgstr "Vai trò không hợp lệ: ~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" msgid "Owner privileges required"
msgstr "Yêu cầu đặc quyền của người sở hữu" 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 #, fuzzy
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Cấu hình cho " 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 #, fuzzy
msgid "Room description" msgid "Room description"
msgstr "Miêu tả:" msgstr "Miêu tả:"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Tạo phòng bền vững" 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" msgid "Make room public searchable"
msgstr "Tạo phòng có thể tìm kiếm công khai" 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" msgid "Make participants list public"
msgstr "Tạo danh sách người tham dự công khai" 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" msgid "Make room password protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu" 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" msgid "Maximum Number of Occupants"
msgstr "Số Lượng Người Tham Dự Tối Đa" 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" msgid "No limit"
msgstr "Không giới hạn" 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" msgid "Present real Jabber IDs to"
msgstr "Jabber ID thực tế hiện hành đến" 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" msgid "moderators only"
msgstr "nhà điều phối duy nhất" 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" msgid "anyone"
msgstr "bất kỳ ai" msgstr "bất kỳ ai"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Tạo phòng chỉ cho phép tư cách thành viên tham gia" 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 #, fuzzy
msgid "Make room moderated" msgid "Make room moderated"
msgstr "Tạo phòng bền vững" 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" msgid "Default users as participants"
msgstr "Người sử dụng mặc định là người tham dự" 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 #, fuzzy
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Cho phép người sử dụng thay đổi chủ đề" 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" msgid "Allow users to send private messages"
msgstr "Cho phép người sử dụng gửi thư riêng" 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" 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" 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" msgid "Allow users to send invites"
msgstr "Cho phép người sử dụng gửi lời mời" 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 #, fuzzy
msgid "Allow visitors to send status text in presence updates" msgid "Allow visitors to send status text in presence updates"
msgstr "Cho phép người sử dụng gửi thư riêng" 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 #, fuzzy
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Cho phép người sử dụng thay đổi chủ đề" 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 #, fuzzy
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Tạo phòng được bảo vệ bằng mật khẩu" 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" msgid "Enable logging"
msgstr "Cho phép ghi nhật ký" 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" msgid "You need an x:data capable client to configure room"
msgstr "" 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 " "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" "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" msgid "Number of occupants"
msgstr "Số người tham dự" msgstr "Số người tham dự"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "riêng," 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" msgid "~s invites you to the room ~s"
msgstr "~s mời bạn vào phòng ~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" msgid "the password is"
msgstr "mật khẩu là" 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 "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" 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ỏ." "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" msgid "~s's Offline Messages Queue"
msgstr "~s's Danh Sách Chờ Thư Ngoại Tuyến" 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_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1029,20 +1042,20 @@ msgstr "Từ"
msgid "To" msgid "To"
msgstr "Đến" msgstr "Đến"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Gói thông tin" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Tùy chọn Xóa được Chọn" 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:" msgid "Offline Messages:"
msgstr "Thư Ngoại Tuyến:" 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 #, fuzzy
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Thư Ngoại Tuyến" msgstr "Thư Ngoại Tuyến"
@ -1051,112 +1064,137 @@ msgstr "Thư Ngoại Tuyến"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Môdun SOCKS5 Bytestreams Bản quyền" 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" msgid "Publish-Subscribe"
msgstr "Xuất Bản-Đăng Ký" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Môdun ejabberd Xuất Bản-Đăng Ký Bản quyền" 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" msgid "PubSub subscriber request"
msgstr "Yêu cầu người đăng ký môđun Xuất Bản Đăng Ký" 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." 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" 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" msgid "Node ID"
msgstr "ID Nút" 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" msgid "Subscriber Address"
msgstr "Địa Chỉ Người Đăng Ký" 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?" 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?" 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" 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" 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" msgid "Deliver event notifications"
msgstr "Đưa ra các thông báo sự kiện" 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" 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" 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" 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ỏ" 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" 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" 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" msgid "Persist items to storage"
msgstr "Những mục cần để lưu trữ" 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" msgid "A friendly name for the node"
msgstr "" 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" msgid "Max # of items to persist"
msgstr "Số mục tối đa để lưu trữ" 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" msgid "Whether to allow subscriptions"
msgstr "Xác định nên cho phép đăng ký không" 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" msgid "Specify the access model"
msgstr "Xác định mô hình truy cập" 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" msgid "Roster groups allowed to subscribe"
msgstr "" 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" msgid "Specify the publisher model"
msgstr "Xác định mô hình nhà xuất bản" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "Xác định mô hình truy cập" 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" msgid "Max payload size in bytes"
msgstr "Kích thước dung lượng byte tối đa" 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" 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" 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" 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ó" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" 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" 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 #, fuzzy
msgid "Users are not allowed to register accounts so quickly" 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ự" 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 " msgid "Roster of "
msgstr "Bảng phân công của " msgstr "Bảng phân công của "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Định dạng hỏng" msgstr "Định dạng hỏng"
@ -1209,37 +1247,37 @@ msgstr "Thêm Jabber ID"
msgid "Roster" msgid "Roster"
msgstr "Bảng phân công" msgstr "Bảng phân công"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Nhóm Phân Công Chia Sẻ" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Thêm Mới" msgstr "Thêm Mới"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Tên:" msgstr "Tên:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Miêu tả:" msgstr "Miêu tả:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Thành viên:" msgstr "Thành viên:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Nhóm được hiển thị:" msgstr "Nhóm được hiển thị:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Nhóm " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1311,11 +1349,6 @@ msgstr "Bộ Phận"
msgid "Search users in " msgid "Search users in "
msgstr "Tìm kiếm người sử dụng trong" 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" msgid "You need an x:data capable client to search"
msgstr "" msgstr ""
@ -1443,7 +1476,9 @@ msgstr "Kết Nối Bên Ngoài s2s:"
msgid "Outgoing s2s Servers:" msgid "Outgoing s2s Servers:"
msgstr "Máy chủ Bên Ngoài s2s:" 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" msgid "Change Password"
msgstr "Thay Đổi Mật Khẩu" msgstr "Thay Đổi Mật Khẩu"
@ -1455,7 +1490,8 @@ msgstr "Người sử dụng "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Tài Nguyên Được Kết Nối:" 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:" msgid "Password:"
msgstr "Mật Khẩu:" msgstr "Mật Khẩu:"
@ -1670,6 +1706,122 @@ msgstr "Xóa"
msgid "Start" msgid "Start"
msgstr "Khởi động" 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" #~ msgid "Encodings"
#~ msgstr "Mã hóa" #~ 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 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 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 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"}. {"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."}. {"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" "Content-Transfer-Encoding: 8bit\n"
"X-Language: Walon (Walloon)\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" msgid "Use of STARTTLS required"
msgstr "L' eployaedje di STARTTL est oblidjî" msgstr "L' eployaedje di STARTTL est oblidjî"
#: ejabberd_c2s.erl:452 #: ejabberd_c2s.erl:503
msgid "No resource provided" msgid "No resource provided"
msgstr "Nole rissoûce di dnêye" msgstr "Nole rissoûce di dnêye"
#: ejabberd_c2s.erl:1097 #: ejabberd_c2s.erl:1147
msgid "Replaced by new connection" msgid "Replaced by new connection"
msgstr "Replaecî pa on novea raloyaedje" 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 #, fuzzy
msgid "Enter the text you see" msgid "Enter the text you see"
msgstr "Dinez l' tchimin viè l' fitchî tecse" 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" msgid "Your messages to ~s are being blocked. To unblock them, visit ~s"
msgstr "" 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." msgid "The captcha is valid."
msgstr "" msgstr ""
@ -361,7 +373,7 @@ msgid "Jabber ID"
msgstr "ID Jabber" msgstr "ID Jabber"
#: mod_configure.erl:1205 mod_configure.erl:1263 mod_configure.erl:1653 #: 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 #: web/ejabberd_web_admin.erl:1517
msgid "Password" msgid "Password"
msgstr "Sicret" msgstr "Sicret"
@ -432,17 +444,17 @@ msgstr "Transpoirt IRC"
msgid "ejabberd IRC module" msgid "ejabberd IRC module"
msgstr "Module IRC po ejabberd" 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" msgid "You need an x:data capable client to configure mod_irc settings"
msgstr "" msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po candjî ls apontiaedjes " "Vos avoz mezåjhe d' on cliyint ki sopoite x:data po candjî ls apontiaedjes "
"di mod_irc" "di mod_irc"
#: mod_irc/mod_irc.erl:564 #: mod_irc/mod_irc.erl:565
msgid "Registration in mod_irc for " msgid "Registration in mod_irc for "
msgstr "Edjîstraedje dins mod_irc po " msgstr "Edjîstraedje dins mod_irc po "
#: mod_irc/mod_irc.erl:569 #: mod_irc/mod_irc.erl:570
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username, encodings, ports and passwords you wish to use for " "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 " "Dinez les nos d' uzeu et ls ecôdaedjes ki vos vloz eployî po vs raloyî åzès "
"sierveus IRC" "sierveus IRC"
#: mod_irc/mod_irc.erl:574 #: mod_irc/mod_irc.erl:575
msgid "IRC Username" msgid "IRC Username"
msgstr "No d' uzeu IRC" msgstr "No d' uzeu IRC"
#: mod_irc/mod_irc.erl:584 #: mod_irc/mod_irc.erl:585
#, fuzzy #, fuzzy
msgid "" msgid ""
"If you want to specify different ports, passwords, encodings for IRC " "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" "cisse djivêye ci avou des valixhances del cogne «{\"sierveu irc\", \"ecôdaedje"
"\"}». Li prémetou ecôdaedje do siervice c' est «~s»." "\"}». Li prémetou ecôdaedje do siervice c' est «~s»."
#: mod_irc/mod_irc.erl:596 #: mod_irc/mod_irc.erl:597
#, fuzzy #, fuzzy
msgid "" msgid ""
"Example: [{\"irc.lucky.net\", \"koi8-r\", 6667, \"secret\"}, {\"vendetta.fef." "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" "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" msgid "Connections parameters"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:711 #: mod_irc/mod_irc.erl:727
msgid "Join IRC channel" msgid "Join IRC channel"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:715 #: mod_irc/mod_irc.erl:731
msgid "IRC channel (don't put the first #)" msgid "IRC channel (don't put the first #)"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:720 #: mod_irc/mod_irc.erl:736
#, fuzzy #, fuzzy
msgid "IRC server" msgid "IRC server"
msgstr "No d' uzeu IRC" 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." msgid "Join the IRC channel here."
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:761 #: mod_irc/mod_irc.erl:777
msgid "Join the IRC channel in this Jabber ID: ~s" msgid "Join the IRC channel in this Jabber ID: ~s"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:846 #: mod_irc/mod_irc.erl:862
msgid "IRC settings" msgid "IRC settings"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:851 #: mod_irc/mod_irc.erl:867
#, fuzzy #, fuzzy
msgid "" msgid ""
"Enter username and encodings you wish to use for connecting to IRC servers. " "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 " "Dinez les nos d' uzeu et ls ecôdaedjes ki vos vloz eployî po vs raloyî åzès "
"sierveus IRC" "sierveus IRC"
#: mod_irc/mod_irc.erl:857 #: mod_irc/mod_irc.erl:873
#, fuzzy #, fuzzy
msgid "IRC username" msgid "IRC username"
msgstr "No d' uzeu IRC" msgstr "No d' uzeu IRC"
#: mod_irc/mod_irc.erl:906 #: mod_irc/mod_irc.erl:922
#, fuzzy #, fuzzy
msgid "Password ~b" msgid "Password ~b"
msgstr "Sicret" msgstr "Sicret"
#: mod_irc/mod_irc.erl:911 #: mod_irc/mod_irc.erl:927
#, fuzzy #, fuzzy
msgid "Port ~b" msgid "Port ~b"
msgstr "Pôrt" msgstr "Pôrt"
#: mod_irc/mod_irc.erl:916 #: mod_irc/mod_irc.erl:932
msgid "Encoding for server ~b" msgid "Encoding for server ~b"
msgstr "" msgstr ""
#: mod_irc/mod_irc.erl:925 #: mod_irc/mod_irc.erl:941
msgid "Server ~b" msgid "Server ~b"
msgstr "" msgstr ""
@ -556,7 +568,8 @@ msgid "Chatrooms"
msgstr "Såles di berdelaedje" msgstr "Såles di berdelaedje"
#: mod_muc/mod_muc.erl:711 #: 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 "" msgstr ""
"Vos avoz mezåjhe d' on cliyint ki sopoite x:data po-z edjîstrer on metou no" "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" msgid "Nickname"
msgstr "Metou no" msgstr "Metou no"
#: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:941 #: mod_muc/mod_muc.erl:761 mod_muc/mod_muc_room.erl:936
#: mod_muc/mod_muc_room.erl:1585 #: mod_muc/mod_muc_room.erl:1580
#, fuzzy #, fuzzy
msgid "That nickname is registered by another person" msgid "That nickname is registered by another person"
msgstr "Li metou no est ddja edjîstré pa ene ôte sakî" 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" msgstr "est asteure kinoxhou come"
#: mod_muc/mod_muc_log.erl:417 mod_muc/mod_muc_log.erl:689 #: 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: " msgid " has set the subject to: "
msgstr " a candjî l' tite a: " msgstr " a candjî l' tite a: "
@ -735,10 +748,6 @@ msgstr "Apontiaedje del såle"
msgid "Room Occupants" msgid "Room Occupants"
msgstr "Nombe di prezints" 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 #: mod_muc/mod_muc_room.erl:170
msgid "Traffic rate limit is exceeded" msgid "Traffic rate limit is exceeded"
msgstr "Li limite pol volume di trafik a stî passêye" 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" msgid "Recipient is not in the conference room"
msgstr "Li riçuveu n' est nén dins l' såle di conferince" 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:451 mod_muc/mod_muc_room.erl:829
#: mod_muc/mod_muc_room.erl:3536 #: mod_muc/mod_muc_room.erl:3546
msgid "Only occupants are allowed to send messages to the conference" msgid "Only occupants are allowed to send messages to the conference"
msgstr "Seulmint les prezints polèt evoyî des messaedjes al conferince" 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 " "Les cweraedjes des mimbes del conferince ni sont nén permetous dins cisse "
"såle ci" "såle ci"
#: mod_muc/mod_muc_room.erl:817 #: mod_muc/mod_muc_room.erl:805
#, fuzzy #, fuzzy
msgid "" msgid ""
"Only moderators and participants are allowed to change the subject in this " "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 " "Seulmint les moderateus et les pårticipants polèt candjî l' sudjet dins "
"cisse såle ci" "cisse såle ci"
#: mod_muc/mod_muc_room.erl:822 #: mod_muc/mod_muc_room.erl:810
#, fuzzy #, fuzzy
msgid "Only moderators are allowed to change the subject in this room" 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" 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" 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" 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 "" msgid ""
"This participant is kicked from the room because he sent an error presence" "This participant is kicked from the room because he sent an error presence"
msgstr "" msgstr ""
"Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî ene aroke " "Ci pårticipant ci a stî pité evoye del såle cåze k' il a-st evoyî ene aroke "
"di prezince" "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" 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" 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 #, fuzzy
msgid "That nickname is already in use by another occupant" msgid "That nickname is already in use by another occupant"
msgstr "Li metou no est ddja eployî pa ene ôte sakî sol såle" 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" msgid "You have been banned from this room"
msgstr "Vos avoz stî bani di cisse såle ci" 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 #, fuzzy
msgid "Membership is required to enter this room" msgid "Membership is required to enter this room"
msgstr "I fåt esse mimbe po poleur intrer dins cisse såle ci" 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" msgid "This room is not anonymous"
msgstr "Cisse såle ci n' est nén anonime" 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 #, fuzzy
msgid "A password is required to enter this room" msgid "A password is required to enter this room"
msgstr "I fåt dner on scret po poleur intrer dins cisse såle ci" 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" 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" msgid "Incorrect password"
msgstr "Sicret nén corek" msgstr "Sicret nén corek"
#: mod_muc/mod_muc_room.erl:2167 #: mod_muc/mod_muc_room.erl:2170
msgid "Administrator privileges required" msgid "Administrator privileges required"
msgstr "I fåt des priviledjes di manaedjeu" 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" msgid "Moderator privileges required"
msgstr "I fåt des priviledjes di moderateu" 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" msgid "Jabber ID ~s is invalid"
msgstr "Li Jabber ID ~s n' est nén valide" 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" msgid "Nickname ~s does not exist in the room"
msgstr "Li metou no ~s n' egzistêye nén dins l' såle" 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" msgid "Invalid affiliation: ~s"
msgstr "Afiyaedje nén valide: ~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" msgid "Invalid role: ~s"
msgstr "Role nén valide: ~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" msgid "Owner privileges required"
msgstr "I fåt des priviledjes di prôpietaire" msgstr "I fåt des priviledjes di prôpietaire"
#: mod_muc/mod_muc_room.erl:2893 #: mod_muc/mod_muc_room.erl:2899
#, fuzzy #, fuzzy
msgid "Configuration of room ~s" msgid "Configuration of room ~s"
msgstr "Apontiaedje po " 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 #, fuzzy
msgid "Room description" msgid "Room description"
msgstr "Discrijhaedje:" msgstr "Discrijhaedje:"
#: mod_muc/mod_muc_room.erl:2908 #: mod_muc/mod_muc_room.erl:2914
msgid "Make room persistent" msgid "Make room persistent"
msgstr "Rinde li såle permaninte" 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" msgid "Make room public searchable"
msgstr "Rinde li såle di berdelaedje cweråve publicmint" 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" msgid "Make participants list public"
msgstr "Rinde publike li djivêye des pårticipants" 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" msgid "Make room password protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret" 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" msgid "Maximum Number of Occupants"
msgstr "Nombe macsimom di prezints" msgstr "Nombe macsimom di prezints"
#: mod_muc/mod_muc_room.erl:2937 #: mod_muc/mod_muc_room.erl:2943
msgid "No limit" msgid "No limit"
msgstr "Pont d' limite" msgstr "Pont d' limite"
#: mod_muc/mod_muc_room.erl:2948 #: mod_muc/mod_muc_room.erl:2954
msgid "Present real Jabber IDs to" msgid "Present real Jabber IDs to"
msgstr "Mostrer les vraiys Jabber IDs a" msgstr "Mostrer les vraiys Jabber IDs a"
#: mod_muc/mod_muc_room.erl:2956 #: mod_muc/mod_muc_room.erl:2962
msgid "moderators only" msgid "moderators only"
msgstr "les moderateus seulmint" msgstr "les moderateus seulmint"
#: mod_muc/mod_muc_room.erl:2958 #: mod_muc/mod_muc_room.erl:2964
msgid "anyone" msgid "anyone"
msgstr "tot l' minme kî" msgstr "tot l' minme kî"
#: mod_muc/mod_muc_room.erl:2960 #: mod_muc/mod_muc_room.erl:2966
msgid "Make room members-only" msgid "Make room members-only"
msgstr "Rinde li såle di berdelaedje ristrindowe ås mimbes seulmint" 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" msgid "Make room moderated"
msgstr "Rinde li såle di berdelaedje moderêye" 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" msgid "Default users as participants"
msgstr "Les uzeus sont des pårticipants come prémetowe dujhance" 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 #, fuzzy
msgid "Allow users to change the subject" msgid "Allow users to change the subject"
msgstr "Les uzeus polèt candjî l' tite" 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" msgid "Allow users to send private messages"
msgstr "Les uzeus polèt evoyî des messaedjes privés" 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" msgid "Allow users to query other users"
msgstr "Les uzeus polèt cweri ls ôtes uzeus" 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" msgid "Allow users to send invites"
msgstr "Les uzeus polèt evoyî priyaedjes" 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" msgid "Allow visitors to send status text in presence updates"
msgstr "" msgstr ""
"Permete ki les viziteus evoyexhe des tecse d' estat dins leus messaedjes di " "Permete ki les viziteus evoyexhe des tecse d' estat dins leus messaedjes di "
"prezince" "prezince"
#: mod_muc/mod_muc_room.erl:2984 #: mod_muc/mod_muc_room.erl:2990
msgid "Allow visitors to change nickname" msgid "Allow visitors to change nickname"
msgstr "Permete ki les viziteus candjexhe leus metous nos" msgstr "Permete ki les viziteus candjexhe leus metous nos"
#: mod_muc/mod_muc_room.erl:2990 #: mod_muc/mod_muc_room.erl:2996
#, fuzzy #, fuzzy
msgid "Make room captcha protected" msgid "Make room captcha protected"
msgstr "Rinde li såle di berdelaedje protedjeye pa scret" 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" msgid "Enable logging"
msgstr "Mete en alaedje li djournå" 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" 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" 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" msgid "Number of occupants"
msgstr "Nombe di prezints" msgstr "Nombe di prezints"
#: mod_muc/mod_muc_room.erl:3373 #: mod_muc/mod_muc_room.erl:3383
msgid "private, " msgid "private, "
msgstr "privé, " msgstr "privé, "
#: mod_muc/mod_muc_room.erl:3456 #: mod_muc/mod_muc_room.erl:3466
msgid "~s invites you to the room ~s" msgid "~s invites you to the room ~s"
msgstr "~s vos preye sol såle ~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" msgid "the password is"
msgstr "li scret est" msgstr "li scret est"
#: mod_offline.erl:510 mod_offline_odbc.erl:353 #: mod_offline.erl:510 mod_offline_odbc.erl:352
msgid "" msgid ""
"Your contact offline message queue is full. The message has been discarded." "Your contact offline message queue is full. The message has been discarded."
msgstr "" msgstr ""
"Li cawêye di messaedjes e môde disraloyî di vosse soçon est plinne. Li " "Li cawêye di messaedjes e môde disraloyî di vosse soçon est plinne. Li "
"messaedje a stî tapé å diale." "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" msgid "~s's Offline Messages Queue"
msgstr "messaedjes ki ratindèt el cawêye po ~s" msgstr "messaedjes ki ratindèt el cawêye po ~s"
#: mod_offline.erl:563 mod_offline_odbc.erl:412 mod_roster.erl:992 #: mod_offline.erl:563 mod_offline_odbc.erl:411 mod_roster.erl:992
#: mod_roster_odbc.erl:1092 mod_shared_roster.erl:809 #: mod_roster_odbc.erl:1092 mod_shared_roster.erl:810
#: mod_shared_roster.erl:910 web/ejabberd_web_admin.erl:829 #: 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:870 web/ejabberd_web_admin.erl:938
#: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015 #: web/ejabberd_web_admin.erl:974 web/ejabberd_web_admin.erl:1015
#: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754 #: web/ejabberd_web_admin.erl:1505 web/ejabberd_web_admin.erl:1754
@ -1030,20 +1043,20 @@ msgstr "Di"
msgid "To" msgid "To"
msgstr "Po" msgstr "Po"
#: mod_offline.erl:574 mod_offline_odbc.erl:420 #: mod_offline.erl:574 mod_offline_odbc.erl:419
msgid "Packet" msgid "Packet"
msgstr "Paket" 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 #: web/ejabberd_web_admin.erl:878 web/ejabberd_web_admin.erl:982
msgid "Delete Selected" msgid "Delete Selected"
msgstr "Disfacer les elemints tchoezis" 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:" msgid "Offline Messages:"
msgstr "Messaedjes ki ratindèt:" msgstr "Messaedjes ki ratindèt:"
#: mod_offline.erl:645 mod_offline_odbc.erl:520 #: mod_offline.erl:645 mod_offline_odbc.erl:519
#, fuzzy #, fuzzy
msgid "Remove All Offline Messages" msgid "Remove All Offline Messages"
msgstr "Messaedjes ki ratindèt" msgstr "Messaedjes ki ratindèt"
@ -1052,114 +1065,138 @@ msgstr "Messaedjes ki ratindèt"
msgid "ejabberd SOCKS5 Bytestreams module" msgid "ejabberd SOCKS5 Bytestreams module"
msgstr "Module SOCKS5 Bytestreams po ejabberd" 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" msgid "Publish-Subscribe"
msgstr "Eplaidaedje-abounmint" 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" msgid "ejabberd Publish-Subscribe module"
msgstr "Module d' eplaidaedje-abounmint po ejabberd" 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" msgid "PubSub subscriber request"
msgstr "Dimande d' eplaidaedje-abounmint d' èn abouné" 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." msgid "Choose whether to approve this entity's subscription."
msgstr "Tchoezi s' i fåt aprover ou nén l' abounmint di ciste intité." 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" msgid "Node ID"
msgstr "ID d' nuk" 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" msgid "Subscriber Address"
msgstr "Adresse di l' abouné" 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?" msgid "Allow this Jabber ID to subscribe to this pubsub node?"
msgstr "" msgstr ""
"Permete ki ci Jabber ID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?" "Permete ki ci Jabber ID ci si poye abouner a ç' nuk eplaidaedje-abounmint ci?"
#: mod_pubsub/mod_pubsub.erl: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" msgid "Deliver payloads with event notifications"
msgstr "Evoyî l' contnou avou les notifiaedjes d' evenmints" 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" msgid "Deliver event notifications"
msgstr "Evoyî des notifiaedjes d' evenmints" 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" msgid "Notify subscribers when the node configuration changes"
msgstr "Notifyî åzès abounés cwand l' apontiaedje do nuk candje" 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" msgid "Notify subscribers when the node is deleted"
msgstr "Notifyî åzès abounés cwand l' nuk est disfacé" 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" msgid "Notify subscribers when items are removed from the node"
msgstr "Notifyî åzès abounés cwand des cayets sont oisté foû do nuk" 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" msgid "Persist items to storage"
msgstr "Cayets permanints a wårder" 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" msgid "A friendly name for the node"
msgstr "On no uzeu-ahessåve pol nuk" 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" msgid "Max # of items to persist"
msgstr "Nombe macsimoms di cayets permanints" 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" msgid "Whether to allow subscriptions"
msgstr "Si on permete les abounmints" 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" msgid "Specify the access model"
msgstr "Sipecifyî l' modele d' accès" 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" msgid "Roster groups allowed to subscribe"
msgstr "Pårtaedjîs groupes di soçons k' on s' î pout abouner" 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" msgid "Specify the publisher model"
msgstr "Dinez l' modele d' eplaideu" 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" msgid "Purge all items when the relevant publisher goes offline"
msgstr "" 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 #, fuzzy
msgid "Specify the event message type" msgid "Specify the event message type"
msgstr "Sipecifyî l' modele d' accès" 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" msgid "Max payload size in bytes"
msgstr "Contnou macsimom en octets" 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" msgid "When to send the last published item"
msgstr "Cwand evoyî l' dierin cayet eplaidî" 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" msgid "Only deliver notifications to available users"
msgstr "Seulmint evoyî des notifiaedje åzès uzeus disponibes" 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" msgid "The collections with which a node is affiliated"
msgstr "" 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" msgid "Choose a username and password to register with this server"
msgstr "" msgstr ""
"Tchoezixhoz on no d' uzeu eyet on scret po vs edjîstrer so ç' sierveu ci" "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 #, fuzzy
msgid "Users are not allowed to register accounts so quickly" msgid "Users are not allowed to register accounts so quickly"
msgstr "Les noveas uzeus n' si polèt nén edjîstrer si raddimint" msgstr "Les noveas uzeus n' si polèt nén edjîstrer si raddimint"
@ -1194,13 +1231,13 @@ msgstr "Oister"
msgid "Roster of " msgid "Roster of "
msgstr "Djivêye des soçons da " msgstr "Djivêye des soçons da "
#: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:810 #: mod_roster.erl:993 mod_roster_odbc.erl:1093 mod_shared_roster.erl:811
#: mod_shared_roster.erl:911 web/ejabberd_web_admin.erl:830 #: 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:871 web/ejabberd_web_admin.erl:939
#: web/ejabberd_web_admin.erl:975 web/ejabberd_web_admin.erl:1016 #: 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:1506 web/ejabberd_web_admin.erl:1755
#: web/ejabberd_web_admin.erl:1926 web/ejabberd_web_admin.erl:2131 #: 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" msgid "Bad format"
msgstr "Mwais fôrmat" msgstr "Mwais fôrmat"
@ -1212,37 +1249,37 @@ msgstr "Radjouter èn ID Jabber"
msgid "Roster" msgid "Roster"
msgstr "Djivêye des soçons" msgstr "Djivêye des soçons"
#: mod_shared_roster.erl:765 mod_shared_roster.erl:807 #: mod_shared_roster.erl:766 mod_shared_roster.erl:808
#: mod_shared_roster.erl:907 #: mod_shared_roster.erl:908
msgid "Shared Roster Groups" msgid "Shared Roster Groups"
msgstr "Pårtaedjîs groupes ezès djivêyes di soçons" 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 #: web/ejabberd_web_admin.erl:2456
msgid "Add New" msgid "Add New"
msgstr "Radjouter" msgstr "Radjouter"
#: mod_shared_roster.erl:878 #: mod_shared_roster.erl:879
msgid "Name:" msgid "Name:"
msgstr "Pitit no:" msgstr "Pitit no:"
#: mod_shared_roster.erl:883 #: mod_shared_roster.erl:884
msgid "Description:" msgid "Description:"
msgstr "Discrijhaedje:" msgstr "Discrijhaedje:"
#: mod_shared_roster.erl:891 #: mod_shared_roster.erl:892
msgid "Members:" msgid "Members:"
msgstr "Mimbes:" msgstr "Mimbes:"
#: mod_shared_roster.erl:899 #: mod_shared_roster.erl:900
msgid "Displayed Groups:" msgid "Displayed Groups:"
msgstr "Groupes håynés:" msgstr "Groupes håynés:"
#: mod_shared_roster.erl:908 #: mod_shared_roster.erl:909
msgid "Group " msgid "Group "
msgstr "Groupe " 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:880 web/ejabberd_web_admin.erl:945
#: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011 #: web/ejabberd_web_admin.erl:1022 web/ejabberd_web_admin.erl:2011
msgid "Submit" msgid "Submit"
@ -1314,11 +1351,6 @@ msgstr "Unité d' l' organizåcion"
msgid "Search users in " msgid "Search users in "
msgstr "Cweri des uzeus dins " 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 #: mod_vcard.erl:358 mod_vcard_ldap.erl:458 mod_vcard_odbc.erl:336
msgid "You need an x:data capable client to search" 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" 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:" msgid "Outgoing s2s Servers:"
msgstr "Sierveus s2s e rexhowe:" 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" msgid "Change Password"
msgstr "Candjî l' sicret" msgstr "Candjî l' sicret"
@ -1454,7 +1488,8 @@ msgstr "Uzeu "
msgid "Connected Resources:" msgid "Connected Resources:"
msgstr "Raloyî avou les rsoûces:" 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:" msgid "Password:"
msgstr "Sicret:" msgstr "Sicret:"
@ -1670,6 +1705,122 @@ msgstr "Disfacer"
msgid "Start" msgid "Start"
msgstr "Enonder" 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" #~ msgid "Encodings"
#~ msgstr "Ecôdaedjes" #~ msgstr "Ecôdaedjes"

View File

@ -33,8 +33,10 @@
{"Backup","备份"}. {"Backup","备份"}.
{"Bad format","格式错误"}. {"Bad format","格式错误"}.
{"Birthday","出生日期"}. {"Birthday","出生日期"}.
{"CAPTCHA web page","验证码 Web 页面"}.
{"Change Password","更改密码"}. {"Change Password","更改密码"}.
{"Change User Password","更改用户密码"}. {"Change User Password","更改用户密码"}.
{"Characters not allowed:","禁用字符:"}.
{"Chatroom configuration modified","聊天室配置已修改"}. {"Chatroom configuration modified","聊天室配置已修改"}.
{"Chatroom is created","聊天室已被创建"}. {"Chatroom is created","聊天室已被创建"}.
{"Chatroom is destroyed","聊天室已被销毁"}. {"Chatroom is destroyed","聊天室已被销毁"}.
@ -69,6 +71,7 @@
{"Description:","描述:"}. {"Description:","描述:"}.
{"Disc only copy","仅磁盘复制"}. {"Disc only copy","仅磁盘复制"}.
{"Displayed Groups:","已显示的组:"}. {"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 Backup to Text File at ","转储备份到文本文件于"}.
{"Dump to Text File","转储到文本文件"}. {"Dump to Text File","转储到文本文件"}.
{"Edit Properties","编辑属性"}. {"Edit Properties","编辑属性"}.
@ -120,6 +123,7 @@
{"has been kicked","已被踢出"}. {"has been kicked","已被踢出"}.
{" has set the subject to: ","已将标题设置为: "}. {" has set the subject to: ","已将标题设置为: "}.
{"Host","主机"}. {"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 端口, 密码为空."}. {"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 Directory","导入目录"}.
{"Import File","导入文件"}. {"Import File","导入文件"}.
@ -144,7 +148,8 @@
{"is now known as","现在称呼为"}. {"is now known as","现在称呼为"}.
{"It is not allowed to send private messages of type \"groupchat\"","\"群组聊天\"类型不允许发送私聊消息"}. {"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 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","Jabber ID"}.
{"Jabber ID ~s is invalid","Jabber ID ~s无效"}. {"Jabber ID ~s is invalid","Jabber ID ~s无效"}.
{"January","一月"}. {"January","一月"}.
@ -166,17 +171,18 @@
{"Make participants list public","公开参与人列表"}. {"Make participants list public","公开参与人列表"}.
{"Make room captcha protected","保护房间验证码"}. {"Make room captcha protected","保护房间验证码"}.
{"Make room members-only","设置房间只接收会员"}. {"Make room members-only","设置房间只接收会员"}.
{"Make room moderated","只有有\"发言权\"的用户才可以发送消息给所有驻留者"}. {"Make room moderated","设置房间只接收主持人"}.
{"Make room password protected","进入此房间需要密码"}. {"Make room password protected","进入此房间需要密码"}.
{"Make room persistent","永久保存该房间"}. {"Make room persistent","永久保存该房间"}.
{"Make room public searchable","使房间可被公开搜索"}. {"Make room public searchable","使房间可被公开搜索"}.
{"March","三月"}. {"March","三月"}.
{"Maximum Number of Occupants","允许的驻留者最大数"}. {"Maximum Number of Occupants","允许的与会人最大数"}.
{"Max # of items to persist","允许持久化的最大内容条目数"}. {"Max # of items to persist","允许持久化的最大内容条目数"}.
{"Max payload size in bytes","最大有效负载比特数"}. {"Max payload size in bytes","最大有效负载比特数"}.
{"May","五月"}. {"May","五月"}.
{"Membership is required to enter this room","进入此房间需要会员身份"}. {"Membership is required to enter this room","进入此房间需要会员身份"}.
{"Members:","会员:"}. {"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","内存"}. {"Memory","内存"}.
{"Message body","消息主体"}. {"Message body","消息主体"}.
{"Middle Name","中间名"}. {"Middle Name","中间名"}.
@ -190,6 +196,7 @@
{"Name:","姓名:"}. {"Name:","姓名:"}.
{"Name","姓名"}. {"Name","姓名"}.
{"Never","从未"}. {"Never","从未"}.
{"New Password:","新密码: "}.
{"Nickname Registration at ","昵称注册于 "}. {"Nickname Registration at ","昵称注册于 "}.
{"Nickname ~s does not exist in the room","昵称~s不在该房间"}. {"Nickname ~s does not exist in the room","昵称~s不在该房间"}.
{"Nickname","昵称"}. {"Nickname","昵称"}.
@ -214,14 +221,15 @@
{"Offline Messages:","离线消息:"}. {"Offline Messages:","离线消息:"}.
{"Offline Messages","离线消息"}. {"Offline Messages","离线消息"}.
{"OK","确定"}. {"OK","确定"}.
{"Old Password:","旧密码: "}.
{"Online Users:","在线用户:"}. {"Online Users:","在线用户:"}.
{"Online Users","在线用户"}. {"Online Users","在线用户"}.
{"Online","在线"}. {"Online","在线"}.
{"Only deliver notifications to available users","仅将通知发送给可发送的用户"}. {"Only deliver notifications to available users","仅将通知发送给可发送的用户"}.
{"Only moderators and participants are allowed to change the subject in this room","只允许监管人和参与人在此房间里更改主题"}. {"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 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 messages to the conference","只有与会人可以向大会发送消息"}.
{"Only occupants are allowed to send queries to the conference","只允许驻留者发出查询请求"}. {"Only occupants are allowed to send queries to the conference","只有与会人可以向大会发出查询请求"}.
{"Only service administrators are allowed to send service messages","只有服务管理员可以发送服务消息"}. {"Only service administrators are allowed to send service messages","只有服务管理员可以发送服务消息"}.
{"Options","选项"}. {"Options","选项"}.
{"Organization Name","组织名称"}. {"Organization Name","组织名称"}.
@ -232,6 +240,7 @@
{"Owner privileges required","需要持有人权限"}. {"Owner privileges required","需要持有人权限"}.
{"Packet","数据包"}. {"Packet","数据包"}.
{"Password ~b","~b 的密码"}. {"Password ~b","~b 的密码"}.
{"Password Verification:","密码确认:"}.
{"Password Verification","确认密码"}. {"Password Verification","确认密码"}.
{"Password:","密码: "}. {"Password:","密码: "}.
{"Password","密码"}. {"Password","密码"}.
@ -251,14 +260,16 @@
{"Publish-Subscribe","发行-订阅"}. {"Publish-Subscribe","发行-订阅"}.
{"PubSub subscriber request","PubSub 订阅人请求"}. {"PubSub subscriber request","PubSub 订阅人请求"}.
{"Purge all items when the relevant publisher goes offline","相关发布人离线后清除所有选项"}. {"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 and disc copy","内存与磁盘复制"}.
{"RAM copy","内存(RAM)复制"}. {"RAM copy","内存(RAM)复制"}.
{"Raw","原始格式"}. {"Raw","原始格式"}.
{"Really delete message of the day?","确实要删除每日消息吗?"}. {"Really delete message of the day?","确实要删除每日消息吗?"}.
{"Recipient is not in the conference room","接收人不在会议室"}. {"Recipient is not in the conference room","接收人不在会议室"}.
{"Register a Jabber account","注册 Jabber 帐户"}.
{"Registered Users:","注册用户:"}. {"Registered Users:","注册用户:"}.
{"Registered Users","注册用户"}. {"Registered Users","注册用户"}.
{"Register","注册"}.
{"Registration in mod_irc for ","mod_irc 中的注册是为 "}. {"Registration in mod_irc for ","mod_irc 中的注册是为 "}.
{"Remote copy","远程复制"}. {"Remote copy","远程复制"}.
{"Remove All Offline Messages","移除所有离线消息"}. {"Remove All Offline Messages","移除所有离线消息"}.
@ -295,6 +306,7 @@
{"Send announcement to all users","发送通知给所有用户"}. {"Send announcement to all users","发送通知给所有用户"}.
{"September","九月"}. {"September","九月"}.
{"Server ~b","服务器 ~b"}. {"Server ~b","服务器 ~b"}.
{"Server:","服务器:"}.
{"Set message of the day and send to online users","设定每日消息并发送给所有在线用户"}. {"Set message of the day and send to online users","设定每日消息并发送给所有在线用户"}.
{"Set message of the day on all hosts and send to online users","设置所有主机上的每日消息并发送给在线用户"}. {"Set message of the day on all hosts and send to online users","设置所有主机上的每日消息并发送给在线用户"}.
{"Shared Roster Groups","共享的花名册组群"}. {"Shared Roster Groups","共享的花名册组群"}.
@ -302,6 +314,7 @@
{"Show Ordinary Table","显示普通列表"}. {"Show Ordinary Table","显示普通列表"}.
{"Shut Down Service","关闭服务"}. {"Shut Down Service","关闭服务"}.
{"~s invites you to the room ~s","~s邀请你到~s房间"}. {"~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 access model","指定访问模式"}.
{"Specify the event message type","指定事件消息类型"}. {"Specify the event message type","指定事件消息类型"}.
{"Specify the publisher model","指定发布人样式"}. {"Specify the publisher model","指定发布人样式"}.
@ -327,10 +340,19 @@
{"That nickname is already in use by another occupant","该昵称已被另一用户使用"}. {"That nickname is already in use by another occupant","该昵称已被另一用户使用"}.
{"That nickname is registered by another person","该昵称已被另一个人注册了"}. {"That nickname is registered by another person","该昵称已被另一个人注册了"}.
{"The captcha is valid.","验证码有效."}. {"The captcha is valid.","验证码有效."}.
{"The CAPTCHA verification has failed","验证码检查失败"}.
{"The collections with which a node is affiliated","加入结点的集合"}. {"The collections with which a node is affiliated","加入结点的集合"}.
{"The password is too weak","密码强度太弱"}.
{"the password is","密码是"}. {"the password is","密码是"}.
{"This participant is kicked from the room because he sent an error message to another participant","该用户由于给其他人发送了出错消息而被踢出了聊天室"}. {"The password of your Jabber account was successfully changed.","你的 Jabber 帐户密码已成功更新."}.
{"This participant is kicked from the room because he sent an error message","该用户由于发送了错误消息而被踢出了聊天室"}. {"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 participant is kicked from the room because he sent an error presence","该用户由于发送了错误状态而被踢出了聊天室"}.
{"This room is not anonymous","此房间不是匿名房间"}. {"This room is not anonymous","此房间不是匿名房间"}.
{"Thursday","星期四"}. {"Thursday","星期四"}.
@ -345,7 +367,10 @@
{"Transactions Restarted:","重启的事务:"}. {"Transactions Restarted:","重启的事务:"}.
{"Tuesday","星期二"}. {"Tuesday","星期二"}.
{"Unable to generate a captcha","无法产生验证码"}. {"Unable to generate a captcha","无法产生验证码"}.
{"Unable to generate a CAPTCHA","无法生成验证码"}.
{"Unauthorized","未认证的"}. {"Unauthorized","未认证的"}.
{"Unregister a Jabber account","注销 Jabber 帐户"}.
{"Unregister","取消注册"}.
{"Update message of the day (don't send)","更新每日消息(不发送)"}. {"Update message of the day (don't send)","更新每日消息(不发送)"}.
{"Update message of the day on all hosts (don't send)","更新所有主机上的每日消息(不发送)"}. {"Update message of the day on all hosts (don't send)","更新所有主机上的每日消息(不发送)"}.
{"Update plan","更新计划"}. {"Update plan","更新计划"}.
@ -355,6 +380,7 @@
{"Uptime:","正常运行时间:"}. {"Uptime:","正常运行时间:"}.
{"Use of STARTTLS required","要求使用 STARTTLS"}. {"Use of STARTTLS required","要求使用 STARTTLS"}.
{"User Management","用户管理"}. {"User Management","用户管理"}.
{"Username:","用户名:"}.
{"Users are not allowed to register accounts so quickly","不允许用户太频繁地注册帐户"}. {"Users are not allowed to register accounts so quickly","不允许用户太频繁地注册帐户"}.
{"Users Last Activity","用户上次活动"}. {"Users Last Activity","用户上次活动"}.
{"Users","用户"}. {"Users","用户"}.
@ -367,11 +393,16 @@
{"Wednesday","星期三"}. {"Wednesday","星期三"}.
{"When to send the last published item","何时发送最新发布的内容条目"}. {"When to send the last published item","何时发送最新发布的内容条目"}.
{"Whether to allow subscriptions","是否允许订阅"}. {"Whether to allow subscriptions","是否允许订阅"}.
{"You can later change your password using a Jabber client.","你可以稍后用 Jabber 客户端修改你的密码."}.
{"You have been banned from this room","您已被禁止进入该房间"}. {"You have been banned from this room","您已被禁止进入该房间"}.
{"You must fill in field \"Nickname\" in the form","您必须填充表单中\"昵称\"项"}. {"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 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 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 的客户端来搜索"}. {"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 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"}. {"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